text:
  <img<EMAIL_ADDRESS>/>

  App made to bring together NGOs and people to volunteer and help the world!

# Index

- :rocket: [Project Summary](#rocket-project-summary)
- 👨💻 [Technologies Used](#%EF%B8%8F-technologies-used)
- 📦 [How to install the project](#%EF%B8%8F-how-to-install-the-project)
- 🤔 [How can you contribute?](#%EF%B8%8F-how-can-you-contribute)

---

## :rocket: Project Summary

This Project was in [Rocketseat's](https://rocketseat.com.br/) Oministack Week crash course #11, with the objective to bring together NGOs and people to volunteer and help the world!

> Made only for learning purposes.

---

## 👨💻 Technologies Used

This project was developed using the technologies bellow:

### Backend

  - [Node.js](https://nodejs.org/)

### Data Base

  - [SQLite3](https://www.sqlite.org/index.html)

### Frontend

  - [React JS](https://reactjs.org/)

### Mobile

  - [React Native](https://reactnative.dev/)

### Dependencies

  **Backend**
  - [Celebrate](https://github.com/arb/celebrate#readme)
  - [Cors](https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Controle_Acesso_CORS)
  - [Cross Env](https://github.com/kentcdodds/cross-env#readme)
  - [Express](https://expressjs.com/)
  - [Knex](http://knexjs.org/)
  - [Mongoose](https://mongoosejs.com/)
  - [Jest](https://jestjs.io/)
  - [Nodemon](https://nodemon.io/)

  **Frontend**
  - [React Router DOM](https://reacttraining.com/react-router/)
  - [React Icons](https://react-icons.github.io/react-icons/)
  - [Axios](https://github.com/axios/axios)

  **Mobile**
  - [Expo](https://expo.io/)
  - [React Navigation](https://reactnavigation.org/)
  - [Intl](https://github.com/taggon/react-native-intl#readme)

### Code patterns

  - [ESLint](https://eslint.org/)

### IDE

  - [Visual Studio Code](https://code.visualstudio.com/)

---

## 📦 How to install the project

To clone the project, use the commands bellow:

```bash
  # Clone the repository
  ❯ git clone https://github.com/MathPSantos/BeTheHero.git

  # Enter directory
  ❯ cd BeTheHero
```

### Backend

To install dependencies and initialize the project, you can use **Yarn** or **NPM**:

**Using yarn**

```bash
  # Enter backend directory
  > cd backend

  # Install the dependencies
  ❯ yarn

  # Start the project
  ❯ yarn dev:server
```

**Using npm**

*If you use NPM, delete `yarn.lock` file to see all installed dependencies in the best way.*

```bash
  # Enter backend directory
  > cd backend

  # Install the dependencies
  ❯ npm install

  # Start the project
  ❯ npm dev:server
```
Open ```Insomnia``` or ```Postman``` and import the ```Insomnia.json``` workspace file at **backend** folder.

### Frontend

To install dependencies and initialize the project, you can use **Yarn** or **NPM**:

**Using yarn**

```bash
  # Enter frontend directory
  > cd frontend

  # Install the dependencies
  ❯ yarn

  # Start the project
  ❯ yarn start
```

**Using npm**

*If you use NPM, delte `yarn.lock` file to see all installed dependencies in the best way.*

```bash
  # Enter frontend directory
  > cd frontend

  # Install the dependencies
  ❯ npm install

  # Start the project
  ❯ npm start
```

### Mobile

**This app use Expo.**

```bash
  # Enter mobile directory
  > cd mobile

  # Install the dependencies
  ❯ yarn

  # Install and start the project
  ❯ yarn start
```

---

## 🤔 How can you contribute?

1. `fork` this repository
2. Create a branch with your feature:
   - `$ git checkout -b my_feature`
3. Commit your branch:
   - `$ git commit -m "feature: My new feature"`
4. Submit your branch:
   - `$ git push origin my_feature`

---

# License
[MIT License](/LICENSE)

  Made with ❤ by Matheus Pires Santos! Get in touch or send a email to<EMAIL_ADDRESS>

repository: MathPSantos/BeTheHero

repo_name: MathPSantos/BeTheHero


text:
---
layout: post
title: Can not load XPCOM when launching Waterfox
color: 'indigo'
feature-img: "assets/img/features/waterfoxlogo.png"
thumbnail: "assets/img/features/waterfoxlogo.png"
# image: "assets/img/pexels/raj_desktop.png"
tags: [waterfox, XPCOM, error, correct ,installation]
author-id: lehbyte
---

## The problem: Getting an XPCOM error after upgrading Waterfox.
I recently upgraded my `Waterfox` version. I first had to close down all running instances of Waterfox, and delete it from
`/usr/lib/`. I then downloaded the classic version of it and extracted it to my `/usr/lib/` directory and hoped that everything would work fine but I was wrong. For some reason `Waterfox` would not launch when I clicked the icon so I popped open a terminal and navigated to `/usr/lib/waterfox-classic` to run `waterfox`.
Thats when I got the error: `can not load XPCOM.`

So I searched around and it seemed like a lot of waterfox users were having the same issue;

![OnWindows](/assets/img/waterfox/on-windows.png)

There's still an open issue on `github` about this;

![github](/assets/img/waterfox/github-screenshot.png)

## Things I tried at first - Download and installing a fresh copy of waterfox
I actually popped open a terminal and ran;

`$ gdb waterfox`

This was very helpful because it allowed me pinpoint more or less where the problem was coming from.

You might want to start there in case this turns out not work for you.

Anyway, the results indicated that there was something wrong with `/usr/bin/waterfox`.
What came to my mind was, this is most likely a linking issue.

So the first thing I did was to completely remove waterfox from my system.
Fortunately I could do this because I had disabled remembering history on waterfox.

`$ sudo apt-get purge --autoremove wafterfox`

I then made sure that there were no hanging references to waterfox by running the following command;

`$ whereis waterfox`

And removed `/usr/bin/waterfox`.

Then it was on to downloading and installing `waterfox`.

## Step 1: Download Waterfox
There are two versions of `waterfox` listed on their main website.

1. Third generation `Waterfox`; includes latest in web tech from mozilla contributions.
2. Waterfox classic; for those who just want a basic version of `Waterfox`

I went with the classic version of `Waterfox`;

![classic](/assets/img/waterfox/waterfox.png)
![downloading](/assets/img/waterfox/waterfox-download.png)
![downloaded](/assets/img/waterfox/waterfox-downloaded.png)

## Step 2: Extract it to /usr/lib/

`/usr/lib` is a directory exclusive to root users so don't forget to prepend your command with sudo.

As the screenshot shows I extracted the contents of the archive to `/usr/lib/`

![Extration](/assets/img/waterfox/terminal-extract.png)

Navigate there;

![Navigate](/assets/img/waterfox/navigate-waterfox-lib.png)

Here are the contents;

![contents](/assets/img/waterfox/waterfox-exe.png)

## Step 3: Create a symbolic link in /usr/bin/

Create a symbolic link in `/usr/bin` that points to the `waterfox` executable highlighted in the image above.

![symbolink](/assets/img/waterfox/creating-symbolic-link.png)

Now you can actually be in any directory and launch waterfox by simply typing `$ waterfox` but
it becomes inconvenient to do that all the time so the next thing to do would be to create an icon for `waterfox`.

## Step 4: Create a desktop entry for Waterfox

Navigate to `/usr/share/applications` to create an entry for waterfox.
If you're installing waterfox for the first time then you most likely will not have that icon.

Since I had vivaldi, there was already an entry for `vivaldi-stable.desktop`.
I basically just copied and remaned it to `waterfox.desktop`;

`$ cp vivaldi-stable.desktop waterfox.desktop`

I then changed the contents and made sure that the `Icon` and `Exec` variables/tags were assigned to the
correct locations.

![waterfox-icon-entry](/assets/img/waterfox/gedit-waterfox-desktop.png)

## Step 5: Test

Finally search for Waterfox in the dashboard and launch it;

![waterfox-dashboard](/assets/img/waterfox/icon-search.png)

Here is `Waterfox` launched.

![waterfox-launched](/assets/img/waterfox/waterfox-launched.png)

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: HTML

gha_license_id: MIT

license_type: permissive


text:
---

slug : understanding-error-messages
title : Understanding error messages
description : is out error messages

---

You might get encountered to some errors during the implementation of Form Rider in your website, in case you are unable to resolve it or the error is not listed here, don’t hesitate to post an issue on Form Rider [Github issues](https://github.com/FormRiderjs/FormRiderjs/issues) or on the dedicated [Slack channel](https://formriderjs.slack.com/)

---

* **Error** : https://Path to form rider/formriderjs/formRiderJsonConfi.json (404 not found)

  * **Signification** :

    FormRider was not able to find _formRiderJsonConfig.json_. this error is not usual because FormRider should find this file automatically unless the user changed its location or it is in a untested environment

    * **Fix** :

        go into FormRiderjs -> index.js, here you can find the path to json configs. Change it in order to let FormRider find it.

---

* **Error** : SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

  * **Signification-1** :

    FormRider was not able to find __formRiderJsonConfig.json__. this error is not usual because FormRider should find this file automatically unless the user changed its location or it is in a untested environment

    * **Fix** :

        go into FormRiderjs -> index.js, here you can find the path to json configs. Change it in order to let FormRider find it.

  * **Signification-2** :

    There might be an error in your _formRiderJsonCofig.json_ syntax

    * **Fix** :

        Check the syntax of FormRider configs file and correct it.

---

* **Error** : Unknown data-frform _some data-frform here_ not declared in formRiderJsonConfig

  * **Signification** :

    Form Rider could not validate the form because it is not defined in _formRirderJsonConfig_.

    * **Fix** :

        The same _data-frform_ you defined in the HTML document should also be defined the correspondent HTML document in json configs.

---

* **Error** : Unknow data-name _some data name here_ not declared in formRiderJsonConfig

  * **Signification** :

    Form Rider could not validate the form because the a data-name was defined only in HTML document but not in _formRiderJsonConfig_.

    * **Fix** :

        The same data-name you defined in the HTML input should also be defined in json config under the correspondent data-frForm name.

---

* **Error** : Unknow data-name _some input name in json config_ in formRiderJsonConfig

  * **Signification** :

    The form validation could not happen because the input data-name was defined only in json configs but not in HTML input.

    * **Fix** :

        The same data-name you defined in json configs should also be defined the correspondent input.

---

* **Error** : An inCommon name was not defined in inCommon correspondence

  * **Signification** :

    The inCommon name the you defined in your validator is not defined in inCommonCorrespondance json property

    * **Fix** :

        inCommon name should be also defined under the inCommon correspondence.

---

* **Error** : Unknow validator property _Some validator property here_ in FormRiderjsonConfig

  * **Signification** :

    that validator you defined as a json property in json configs does not exist in Form Rider, the form cannot be validated

    * **Fix** :

        there might be a typo in what you have written, you can refer to Validators and functionalities section of Form Rider documentations and chose the wanted validator

---

* **Error** : Notification Code is not defined in notifications

  * **Signification** :

    The notification code you want to use/defined in _notificationCode_ json property under the _data-frform_ was not defined in notifications section of json cofigs

    * **Fix** :

        _notificationCode_ should be defined in two places, under the data-frform in notificationCode property as well as under the notifications property.

---

* **Error** : Unknow data-name _some input name in json config_ in formRiderJsonConfig

  * **Signification** :

    The form validation could not happen because the input data-name was defined only in json configs but not in HTML input.

    * **Fix** :

        The same data-name you defined in json configs should also be defined the correspondent input.

---

repository: FormRiderjs/FormRiderjs-website

branch_name: refs/heads/main

gha_language: JavaScript

repo_name: FormRiderjs/FormRiderjs-website


text:
HTML
==

HTML (Hypertext Markup Language) is the structure that all websites are built on. Anyone working on websites and webapps should have a basic understanding of HTML at the very least. A helpful analogy for understanding the importance of HTML is the house scenario. When building a new house, the process can be split into a few key areas; structure (HTML), aesthetics (CSS) and furniture (Content). The HTML is your basic page structure, without the structure, you cannot change how it looks using CSS, or what content is on the page.

## Glossary

- **Doctype**

## Deprecated Tags

There are a number of tags from past versions of HTML that have become deprecated over time. This means that while they are no longer considered valid elements, most browsers should still be able to read and render them.

## Script Loading

- `<script>` - HTML parsing is blocked, the script is fetched and executed immediately, HTML parsing resumes after the script is executed.
- `<script async>` - The script will be fetched in parallel to HTML parsing and executed as soon as it is available (potentially before HTML parsing completes). Use `async` when the script is independent of any other scripts on the page, for example analytics.
- `<script defer>` - The script will be fetched in parallel to HTML parsing and executed when the page has finished parsing. If there are multiple of them, each deferred script is executed in the order they were encountered in the document.

repository: yangshun/front-end-interview-handbook

gha_language: MDX

repo_name: yangshun/front-end-interview-handbook


text:
KINKY LS
========

Create an application that lists the files of the working directory using `ls` / `dir` and adds a dot (`.`) in front of each file / directory name before printing it to stdout.

Hints:

-	[child_process](https://nodejs.org/dist/latest-v4.x/docs/api/readline.html) native module for executing `ls` / `dir`

Test solution
-------------

```
nodejs-exercises $ node kinky-ls/index.js
[ '.gcd-repl',
  '.kinky-ls',
  '.LICENSE',
  '.node_modules',
  '.package.json',
  '.README.md' ]
```

*Note: The output might be different in your case.*

repository: razvanz/nodejs-exercises

repo_name: razvanz/nodejs-exercises


text:
# School-Virus-Infection-Simulator

## Setting

SVIS refers to the following **`config.ini`** and **`schedule files`** in input folder.

### Config.ini

[SIMULATION]

- `calendar_path`: calendar file path

When calendar_path is None or empty, SVIS creates agent schedules (schedule files) automatically based on [GENERATE] section parameters.

- `output_root_dir`: root directory path of outputs
- `simulation_count`: number of simulations
- `lesson_time`: lesson time (min)
- `random_seed`: random seed of simulations

[AGENT]

- `mask`: students wear masks or don't (True/False). When `mask` is True, SVIS uses [INFECTION] `exhalation_filtration_efficiency` and `respiration_filtration_efficiency`.

[INFECTION]

- `pulmonary_ventilation_rate`: pulmonary ventilation rate (m3/h)

- `quantum_generation_rate`:  quantum generation rate (quantum/h)
- `exhalation_filtration_efficiency`:  exhalation filtration efficiency. When `mask` is False, `exhalation_filtration_efficiency` becomes zero.
- `respiration_filtration_efficiency`:  respiration filtration efficiency. When `mask` is False, `respiration_filtration_efficiency` becomes zero.
- `asymptomatic_rate`: Infectious-exposed students become Asymptomatic with `asymptomatic_rate`.
- `exposed_limit_days`: days of being Exposed status
- `infecting_exposed_limit_days`: days of being Infectious-exposed status
- `infected_limit_days`: days of being Infectious status
- `infected_asymptomatic_limit_days`: days of being Asymptomatic status

#### Example parameters of [INFECTION] section as below.
```
pulmonary_ventilation_rate = 0.54
quantum_generation_rate = 48
exhalation_filtration_efficiency = 0.5
respiration_filtration_efficiency = 0.5
asymptomatic_rate = 0.3
exposed_limit_days = 3
infecting_exposed_limit_days = 2
infected_limit_days = 14
infected_asymptomatic_limit_days = 8
```
Buonanno estimated the pulmonary ventilation rate of sedentary activities 0.54(m3/h) (Buonanno, 2020; Adams, 1983).

 ➡ pulmonary_ventilation_rate = 0.54

Dai calculated the quanta generation rate of COVID-19 as 14-48 in 2020 (Dai, 2020). We adopt 48 as 𝑞 because the Delta variant is spreading worldwide, and the infectability is estimated to be stronger than the original (CDC, 2021a).

 ➡ quantum_generation_rate = 48

Dai estimates the exhalation filtration efficiency and the respiration filtration efficiency as 0.5 when all students wear a mask (Dai, 2020).

 ➡ exhalation_filtration_efficiency = 0.5

 ➡ respiration_filtration_efficiency = 0.5

We consider the CDC estimate of the percentage of infections that are asymptomatic as 30% as the current best (CDC, 2021c).

 ➡ asymptomatic_rate = 0.3

CDC says "isolation, and pre-cautions can be discontinued 10 days after symptom onset and after resolution of fever for at least 24 hours and improvement of other symptoms" (CDC, 2021b). Then, we roughly estimated 14 as infected days.

 ➡ infected_limit_days = 14

Dai estimates that infectability is a peek at two days before to one day after symptom onset and WHO states "the time from exposure to COVID-19 to the moment when symptoms begin is, on average, 5 to 6 days." Hence, we adopted three days and two days as exposed days and infectious-exposed days (WHO, 2021; He, 2020).

 ➡ exposed_limit_days = 3

 ➡ infecting_exposed_limit_days = 2

Bullard estimates that SARS-CoV-2 infected Vero cell infectivity is only observed eight days after symptom onset (Bullard, 2020); hence, we adopted eight days as asymptomatic days.

 ➡ infected_asymptomatic_limit_days = 8

#### Quantum Generation Rate (Dai, 2020; Fisk, 2004)
| Disease | Quantum generation rate |
----|----
| Tuberculosis |1-50 / h|
| MERS |6-140 / h|
| SARS |10-300 / h|
| Influenza |15-500 / h|
| Measles |570-5600 / h|
| COVID-19 |14-48 / h|

[GENERATE]

- `agent_num`: num of students
- `classroom_num`: num of classrooms per lesson
- `classoom_volume`: classroom volume (m3)
- `classroom_ach`: air change rate of classroom
 The air change rate is a measurement of how much fresh/clean air replaces indoor air in one hour.
- `lesson_days`: days of lessons
- `lesson_num`: num of lessons per day
- `generate_seed`: random seed of generating schedule

#### Example of creating agent schedules (schedule files) automatically based on [GENERATE] section parameters.
```
[SIMULATION]
calendar_path =
output_root_dir = output
simulation_count = 100
lesson_time = 100
random_seed = None

[AGENT]
mask = True

[INFECTION]
pulmonary_ventilation_rate = 0.54
quantum_generation_rate = 48
exhalation_filtration_efficiency = 0.5
respiration_filtration_efficiency = 0.5
asymptomatic_rate = 0.3
exposed_limit_days = 3
infecting_exposed_limit_days = 2
infected_limit_days = 14
infected_asymptomatic_limit_days = 8

[GENERATE]
agent_num = 100
classroom_num = 4
classroom_volume = 180
classroom_ach = 3
lesson_days = 100
lesson_num = 4
generate_seed = None
```

#### Example of using schedule files.
```
[SIMULATION]
calendar_path = simulation_calendar.csv
output_root_dir = output
simulation_count = 100
lesson_time = 100
random_seed = None

[AGENT]
mask = True

[INFECTION]
pulmonary_ventilation_rate = 0.54
quantum_generation_rate = 48
exhalation_filtration_efficiency = 0.5
respiration_filtration_efficiency = 0.5
asymptomatic_rate = 0.3
exposed_limit_days = 3
infecting_exposed_limit_days = 2
infected_limit_days = 14
infected_asymptomatic_limit_days = 8

[GENERATE]
agent_num = 100
classroom_num = 4
classroom_volume = 180
classroom_ach = 3
lesson_days = 100
lesson_num = 4
generate_seed = None
```

### Schedule Files

**`simulation_calendar.csv`** describes schedules of students and classrooms.

```
daycount, agent_schedule, classroom_schedule
0, agent_schedule_mon.csv, classroom_mon.csv
1, agent_schedule_tue.csv, classroom_tue.csv
2, agent_schedule_wed.csv, classroom_wed.csv
3, agent_schedule_thu.csv, classroom_thu.csv
4, agent_schedule_fri.csv, classroom_fri.csv
5, ,
6, ,
7, agent_schedule_mon.csv, classroom_mon.csv
8, agent_schedule_tue.csv, classroom_tue.csv
```

**`agent_schedule_XXX.csv`** describes schedules of students.

You can change `agent_schedule_XXX` as you like.

```
step, agent000, agent001, agent002, agent003, agent004
0, lesson0-3, lesson0-1, lesson0-0, lesson0-2, lesson0-1
1, lesson1-1, lesson1-0, lesson1-3, lesson1-1, lesson1-2
2, lesson2-1, lesson2-1, lesson2-2, lesson2-1, lesson2-3
3, lesson3-3, lesson3-0, lesson3-2, lesson3-0, lesson3-0
```

**`classroom_XXX.csv`**  describes lessons' schedules of classrooms, classroom volume, and classroom's air change rate (ach).

You can change `classroom_XXX` as you like.

```
lesson, classroom, volume, ach
lesson0-0, classroom0, 400, 10
lesson0-1, classroom1, 400, 10
lesson0-2, classroom2, 400, 10
lesson0-3, classroom3, 400, 10
lesson1-0, classroom0, 400, 10
lesson1-1, classroom1, 400, 10
lesson1-2, classroom2, 400, 10
lesson1-3, classroom3, 400, 10
```
## Directory Structure
```
.
├── svis.exe
├── main.py
├── example_input
├── src
├── input
│   ├── config.ini
│   ├── simulation_calendar.csv
│   ├── agent_schedule
│   │   ├── agent_schedule_XXX.csv (You can change agent_schedule_XXX as you like.)
│   │   └── ...
│   └── classroom_schedule
│       ├── classroom_XXX.csv (You can change classroom_XXX as you like.)
│       └── ...
└── output
    ├── YYYYMMDD_HHMMSS
    │   ├── graph
    │   │   ├── summary_agent_status_count_sier_timeseries.png
    │   │   ├── summary_agent_status_count_pe_timeseries.png
    │   │   ├── summary_agent_status_count_I-perday-max_boxplot.png
    │   │   ├── summary_agent_status_count_I-perweek-max_boxplot.png
    │   │   └── summary_agent_status_count_I-per2week-max_boxplot.png
    │   ├── log
    │   │   ├── sim0000_agent_status_logger.csv
    │   │   ├── simXXXX_agent_status_logger.csv
    │   │   ├── ...
    │   │   ├── sim0000_agent_status_logger_count.csv
    │   │   ├── simXXXX_agent_status_logger_count.csv
    │   │   ├── ...
    │   │   ├── sim0000_classroom_infection_rate_logger.csv
    │   │   ├── simXXXX_classroom_infection_rate_logger.csv
    │   │   └── ...
    │   ├── summary
    │   │   ├── summary_agent_status_count_eachDay.csv
    │   │   ├── summary_agent_status_count_eachSim.csv
    │   │   ├── summary_agent_status_count-cumsum_eachDay.csv
    │   │   ├── summary_agent_status_count-cumsum_eachSim.csv
    │   │   ├── summary_classroom_infection_rate_allSim.csv
    │   └── input
    └── ...
```


text:
---
layout: default
---

# 1996-08-01 - Re: Jewell is the Militia Bomber!!!!

## Header Data

From: Gary Howland<EMAIL_ADDRESS>To: "Timothy C. May"<EMAIL_ADDRESS>Message Hash: 63806c150bb8d25a2f37ce051a7d76892967da629b017ca5a53c6fab0da1d8a5

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-08-01 13:52:05 UTC

Raw Date: Thu, 1 Aug 1996 21:52:05 +0800

## Raw message

```
{% raw  %}From: Gary Howland<EMAIL_ADDRESS>Date: Thu, 1 Aug 1996 21:52:05 +0800
To: "Timothy C. May"<EMAIL_ADDRESS>Subject: Re: Jewell is the Militia Bomber!!!!
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Timothy C. May wrote:
>
> (P.S. I, too, was convinced Jewell was the guy. But in recent hours it is
> looking like a "rush to judgment" could be involved. There is strong
> pressure to "solve the crime" by the close of the Olympics on Sunday.)

Yes, a public hanging would be a fine way to end the Olympics.

After all, this is Georgia we're talking about ...

Gary
--
pub  1024/C001D00D 1996/01/22  Gary Howland<EMAIL_ADDRESS>Key fingerprint =  0C FB 60 61 4D 3B 24 7D  1C 89 1D BE 1F EE 09 06
^S
^A^Aoft FAT filesytem is extremely robust, ^Mrarely suffering from^T^T

{% endraw %}
```

## Thread

+ Return to [August 1996](/archive/1996/08)

+ Return to "[Gary Howland <gary@systemics.com>](/authors/gary_howland_gary_at_systemics_com_)"
+ Return to<EMAIL_ADDRESS>(Mike Duvos)](/authors/mpd_at_netcom_com_mike_duvos_)"
+ Return to "[Rich Graves <rich@c2.org>](/authors/rich_graves_rich_at_c2_org_)"
+ Return to<EMAIL_ADDRESS>(Timothy C. May)](/authors/tcmay_at_got_net_timothy_c_may_)"

+ 1996-08-01 (Thu, 1 Aug 1996 13:12:35 +0800) - [Jewell is the Militia Bomber!!!!](/archive/1996/08/5a6dba6a80be1c505549f353f75ccf9dae66f2debba7e64c9c24097aff2b24cf) -<EMAIL_ADDRESS>(Timothy C. May)_
  + 1996-08-01 (Thu, 1 Aug 1996 14:49:33 +0800) - [Re: Jewell is the Militia Bomber!!!!](/archive/1996/08/c0f10ba5495f4c1af00e6125c273d81c0bc3c5466920e4cd546916260872718b) -<EMAIL_ADDRESS>(Mike Duvos)_
  + 1996-08-01 (Thu, 1 Aug 1996 16:35:19 +0800) - [Re: Jewell is the Militia Bomber!!!!](/archive/1996/08/d42f7750349c3a3c4087b168a1bad89a1cc423266c81ce9011fe6ba5e5e422f0) - _Rich Graves<EMAIL_ADDRESS>  + 1996-08-01 (Thu, 1 Aug 1996 21:52:05 +0800) - Re: Jewell is the Militia Bomber!!!! - _Gary Howland<EMAIL_ADDRESS>


text:
---
layout: post
title: "Flashback to 2003"
excerpt:
date: 2020-07-12 12:16:08 -0500
categories:
---

[30 Jul 2003: My Mozilla Experiment](/2003/07/30/my-mozilla-experiment/)

> I started using Mozilla a few weeks ago. I did this because I am attempting to wean off of M$ product, and I wanted tabbed browsing.

Kids, browsers once did not have tabs. And I had been blogging for almost two years at this unbelievable ancient time. One of the advantages of having journaled in one place (I've journaled all over the place, almost all other places are lost or forgotten) is randomly revisiting old posts like this one. I even have [a script](https://github.com/dealingwith/randomjourney) that randomly pulls an old post for me to review, mostly for the purposes of deleting worthless or embarrassing posts, or posts that mostly or entirely contain link rot (this is a lot of them) (the ones that work for this nostalgic purpose, like this one, were just text).

> I’m becoming very anti-client-side-anything.

How prescient I was at 28.

repository: dealingwith/poole

extension: markdown

gha_language: CSS

repo_name: dealingwith/poole


text:
# Vue.js 3

## The power of the pirates

##==##

# The new major release of Vue.js is out!

    Vue.js 3.0 "One Piece"

## Let's dive into the new features of this release!


text:
### [Prism](https://prismjs.com/)

#### Using directly from the UNPKG CDN

```html
<link rel="stylesheet" href="https://unpkg.com/dracula-prism/dist/css/dracula-prism.css">
```

Or the minified file:

```html
<link rel="stylesheet" href="https://unpkg.com/dracula-prism/dist/css/dracula-prism.min.css">
```

- More info: <https://unpkg.com>

#### With Node or another build system

You can install with the command `npm i dracula-prism` which comes ready with Prismjs installed.

If you're using Node or Webpack or Rollup or Browserify, etc., simply apply:

```js
require('dracula-prism');
```

#### For React and ReactJS users

You can import simply two libraries:

```js
import Prism from "prism";
import "css/dracula-prism.css";
```

You can get the sample React code for a website or the sample JSX code:

repository: dracula/prism

gha_license_id: NOASSERTION

repo_name: dracula/prism


text:
# Exercise-1

In this exercise, you'll practice reading the API of and requesting
data from the United Nations Refugee Agency (UNHCR) API. To better
understand the different possible endpoints, see
<http://data.unhcr.org/wiki/index.php/API_Documentation.html>.

You can also find a set of interactive visualizations about this data
(and more!) at <http://data2.unhcr.org/en/situations>. For example,
this page about the
[Syrian Refugee Critis](http://data.unhcr.org/syrianrefugees/regional.php).

As in previous exercises, you should fork and clone this repository,
follow the instructions in `exercise.R` file, then `add` and `commit`
your changes so that you can `push` them back up to Github.


text:
# Langjam #0001

**Theme:** first-class comments

---

## Concept

Conceptually, the main ideas for this language were

* making comments available at runtime, as metadata attached to various elements of the code
* allowing modification, addition and removal of comments at runtime
* allowing comments to contain expressions, e.g. `greaterThan(_, 5)`, which will be parsed in the same way as the rest of the language
* allowing execution of comments based on the comment type, e.g. an `assert` comment on a variable, which would be executed every time the variable changes.

Unfortunately there wasn't enough time to implement most of this functionality, but this is what it *might* have looked like:

```
fn area(
  <assert: greaterThan(a, 0)>
  a,
  <assert: greaterThan(b, 0)>
  b
) {
  multiply(a, b)
}

print(area(5, 10))
print(area(-1, 10))
```

When running this example, the expected result would have been:

```
50
Error: Assertion on `a` – greaterThan(a, 0) – failed. `a` was -1.
```

## What was actually achieved

The language supports attaching comments to identifiers and accessing them at runtime:

```
fn i_like(
    <indicates which thing you like> the_thing,
) {
    let x = "I like "
    print(the_thing.$comment)
    print(length(the_thing.$comment))
    concat(x, the_thing)
}

print(i_like("turtles"))
```

This snippet should result in

```
# => String("indicates which thing you like")
# => Integer(30)
# => String("I like turtles")
```

## Building

### Requirements

* `cargo` and Rust need to be installed
  * Tested with `rustc 1.54.0 (a178d0322 2021-07-26)`

### Building

`cargo build` will build the `target/debug/langjam0001` binary.

### Testing

Run `./go test` to see if all examples in the `test/` directory can be run successfully. Doesn't currently test whether the output is correct 😶

## Properties of the language

In no particular order

* Comments can be specified in pointy brackets `<the comment>`, and can be placed before statements and expressions (the idea is "everywhere")
* The following built-in functions exist: `print`, `plus`, `multiply`, `length`, `concat`.
* There are no operators
* Conditions also did not make the cut 😅
* The return value of a function is the return value of its last expression


text:
# Brightcove Playback API Wrapper

This is a PHP wrapper for the [Brightcove Playback API](https://docs.brightcove.com/en/video-cloud/playback-api/)

## Getting Started

Add files to project folder.

In get-brighcove-media.php replace the policy token and account number when the class is instantiated

To obtain policy key see this doc: http://docs.brightcove.com/en/video-cloud/brightcove-player/guides/policy-key.html
or use the web app to get one directly from the Policy API: http://docs.brightcove.com/en/video-cloud/policy-api/getting-started/quick-start.html#Set_policy_app

File caching layer is activated by adding require_once('bc-papi-cache.php') to get-brightcove-media.php

Access api as follows (e.g. files placed in folder named brightcove-playback-api):

```
require_once($_SERVER['DOCUMENT_ROOT'] . '/brightcove-playback-api/get-brightcove-media.php');
//find video by video id
$videoid = 12345;
$video = $bc->find('find_video_by_id', 'videos', $videoid);
// e.g. get video poster and display
echo '<img src="' . $video->poster . '" />';

//find video by reference id
$refid = "ref:ref123";
$video = $bc->find('find_video_by_reference_id', 'videos', $refid);

//find playlist by playlist id
$playlistid = 54321;
$playlist = $bc->find('find_playlist_by_id', 'playlists', $playlistid);
echo '<img src="' . $playlist->videos[0]->poster . '" />';

//find playlist by reference id
$refid = "ref:ref321";
$playlist = $bc->find('find_playlist_by_reference_id', 'playlists', $refid);

```

## Authors

* **Theresa Newman** - *Initial work* - [Brightcove-Playback-API-Wrapper](https://github.com/theresaweb/Brightcove-Playback-API-Wrapper)

## Acknowledgments

* Based on the PHP Wrapper for the Media API which is being deprecated (https://github.com/BrightcoveOS/PHP-MAPI-Wrapper)


text:
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.0.4](https://github.com/samwise-tech/core/compare/@samwise-tech/react-redux@1.0.3<EMAIL_ADDRESS>(2018-11-15)

### Bug Fixes

* Update dependencies ([d6b30d4](https://github.com/samwise-tech/core/commit/d6b30d4))

## [1.0.3](https://github.com/samwise-tech/core/compare/@samwise-tech/react-redux@1.0.2<EMAIL_ADDRESS>(2018-09-26)

**Note:** Version bump only for package @samwise-tech/react-redux

## [1.0.2](https://github.com/samwise-tech/core/compare/@samwise-tech/react-redux@1.0.1<EMAIL_ADDRESS>(2018-09-26)

### Bug Fixes

* Minor typo in code ([a16ecb5](https://github.com/samwise-tech/core/commit/a16ecb5))

## [1.0.1](https://github.com/samwise-tech/core/compare/@samwise-tech/react-redux@1.0.0<EMAIL_ADDRESS>(2018-07-24)

### Bug Fixes

* **monorepo:** make release work on travis (2) ([5a3a18c](https://github.com/samwise-tech/core/commit/5a3a18c))

## [1.0.0](https://github.com/samwise-tech/core/compare/@samwise-tech/react-redux@0.1.1<EMAIL_ADDRESS>(2018-07-18)

Initial release

repository: ulfryk/core

repo_name: ulfryk/core


text:
<!--
order: 2
-->

# State

The internal state of the `x/upgrade` module is relatively minimal and simple. The
state contains the currently active upgrade `Plan` (if one exists) by key
`0x0` and if a `Plan` is marked as "done" by key `0x1`. The state
contains the consensus versions of all app modules in the application. The versions
are stored as big endian `uint64`, and can be accessed with prefix `0x2` appended
by the corresponding module name of type `string`. The state maintains a
`Protocol Version` which can be accessed by key `0x3`.

* Plan: `0x0 -> Plan`
* Done: `0x1 | byte(plan name)  -> BigEndian(Block Height)`
* ConsensusVersion: `0x2 | byte(module name)  -> BigEndian(Module Consensus Version)`
* ProtocolVersion: `0x3 -> BigEndian(Protocol Version)`

The `x/upgrade` module contains no genesis state.

repository: FirmaChain/cosmos-sdk

repo_name: FirmaChain/cosmos-sdk


text:
---
title: Javascript for loop & the argument key word
date: "2014-12-02"
layout: post
readNext: "/"
path: "/js-argument-key-word"
meta: Javascript for loop & the argument key word defined & why it is misunderstood
share_image: "https://yowainwright.imgix.net/icons/js.jpg"
featured_image: null
post_index: 8
categories:
- javascript
- code
---

Today, I was assigned the task of printing logs to the page instead of to the `console` if there was a certain string appended to the url so that the our Q/A engineer could get that data into his program.

My task was manageable, but before committing my pull request my boss & I went over the debug program (called `debug.js`). The process of describing what's happening in a program I find highly beneficial. As I was talking through the program I noticed the `[argument](//developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments)` key word.

The `argument` key word is an object that stores the arguments passed into a function within the scope of that function.

```javascript
var passArguments = function() {
  return document.write(arguments.length);
};
passArguments(1, 2, 3, 4, 5);
// result: the document prints out 5
```

Live [Code](//codepen.io/yowainwright/pen/2f64d380b74302b396927d297828cd3a)

For the program that I was working on today, the program takes the first argument of the function `passArguments` as stores it in a variable set as category. Then it loops through the other arguments & strong them in the logs array.

```javascript
var passArguments = function() {
	var category = arguments[0];
	logs = new Array( arguments.length - 1 );
	for (var i = 0, j = logs.length; i < j; i++) {
	  logs[i] = arguments[i+1];
	}
	document.write(category + ' : ' + '[' + logs + ']' );
};
passArguments('Categories', '1', '2', '3', '4', '5');
```

Live [Code](//codepen.io/yowainwright/pen/6b24e79b8dcd00668619acd396dd4b46)

While my boss & I were going over the program, he wrote out the code similarly to how a browser compiles it.

```javascript
arguments = ['ga', 'info a', 'info b', 'info c']
arguments = ['ga', 'info a', 'info b', 'info c']

category = 'ga';
logs = [ , , ]

for loop
start at: 0
go to: 3

for loop 1( i = 0)
logs[0] = 'info a'
logs = [ 'info a', , ]

for loop 2 (i = 1)
logs = [ 'info a', 'info b', ]

for loop 3
logs = [ 'info a', 'info b', 'info c']

end for loop
```

gha_language: TypeScript


text:
# AnimeScroll

Simple native scrollTo without dependencies.

## Usage

Include in the .html file
```html
<script src="dist/animescroll.js"></script>
```

```javascript
animeScroll(to, duration, cb);
```

Scroll to `[data-id="2"]` elem.
```javascript
animeScroll.to(document.querySelector(`[data-id="2"]`).offsetTop);
```

## Source
[Source](https://gist.github.com/james2doyle/5694700)

repository: icetee/animescroll

repo_name: icetee/animescroll


text:
# Advent-Of-Code-2020
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.  https://adventofcode.com/2020/

# Codebase
The codebase for this year can be found on GitLab, as I wanted to make use of GitLab CI:
https://gitlab.com/laywill/advent-of-code-2020


text:
# copilot env override
```console
$ copilot env override
```

## What does it do?
Scaffold Infrastructure as Code (IaC) extension files for environments.
The generated files allow you to extend and override the Copilot-generated AWS CloudFormation template.
You can edit the files to change existing resource properties, and delete
or add new resources to an environment's template.

### Learn more

To learn more, check out the guides for overriding with [YAML Patches](../developing/overrides/yamlpatch.md) and the
[AWS Cloud Development Kit](../developing/overrides/cdk.md).

## What are the flags?

```console
  -a, --app string            Name of the application.
      --cdk-language string   Optional. The Cloud Development Kit language. (default "typescript")
  -h, --help                  Help for override
  -n, --name string           Optional. Name of the environment to use when retrieving resources in a template.
                              Defaults to a random environment.
      --skip-resources        Optional. Skip asking for which resources to override and generate empty IaC extension files.
      --tool string           Infrastructure as Code tool to override a template.
                              Must be one of: "cdk" or "yamlpatch".
```

## Example

Create a new Cloud Development Kit application to override environment templates.

```console
$ copilot env override --tool cdk
```

## What does it look like?

![env-override](https://user-images.githubusercontent.com/879348/227585768-44d5d91f-11d5-4d4b-a5fa-12bb5239710f.gif)

repository: aws/copilot-cli

branch_name: refs/heads/mainline

gha_language: Go

repo_name: aws/copilot-cli


text:
---
title: Actions
page_title: Card Actions
description: Actions supported by the Card for Blazor.
slug: card-actions
tags: telerik,blazor,card,actions
published: True
position: 9
---

# Card Actions

Every Blazor Card can have a dedicated area for action buttons related to the content. The content of these action items, as well as their overall layout and orientation, is completely customizable through the available configuration options.

Telerik Button components with the `k-flat` class are designed to fit in the card design as actions, so you can use them as your first choice of action components. You can find examples with them below.

#### In this article:
   * [Features](#features)
   * [Orientation](#orientation)
   * [Layout](#layout)

## Features

>caption The Card provides the following features:

* `Class` - `string` - the CSS class that will be rendered on the main wrapping container of the action buttons.

* `Orientation` - `CardOrientation` - defines the orientation of the Action buttons.

* `Layout` - `CardActionsLayout` - defines the layout of the Action buttons.

## Orientation

You can define the orientation of the buttons through the `Orientation` parameter of the `CardActions`. It takes a member of the `Telerik.Blazor.CardOrientation` enum:
   * `Horizontal` - the default
   * `Vertical`

>caption Change the orientation of the action buttons. The result from the snippet below.

![Verical orientation of the action buttons](images/buttons-orientation-example.png)

````CSHTML
@* Change the orientation of the action buttons *@

<TelerikCard Width="200px">
    <CardHeader>
        <CardTitle>Card Title</CardTitle>
    </CardHeader>
    <CardBody>
        <p>Some quick example text to build on the card title and make up the bulk of the card content.</p>
    </CardBody>
    <CardSeparator></CardSeparator>

    <CardActions<EMAIL_ADDRESS>        <TelerikButton Class="k-flat">Action 1</TelerikButton>
        <TelerikButton Class="k-flat">Action 2</TelerikButton>
    </CardActions>

</TelerikCard>
````

## Layout

You can set the layout of the action buttons through the `Layout` parameter of the `CardActions`. We support 4 types of layout - to the start, center, end part of the actions container, or stretched buttons that will fill the whole container with equal size.

The `Layout` parameter takes a member of the `Telerik.Blazor.CardActionsLayout` enum:
* `Center` - the default
* `End`
* `Start`
* `Stretch`

>caption Set stretched layout for the action buttons. The result from the snippet below.

![Action buttons with stretched layout](images/buttons-layout-example.png)

````CSHTML
@* Change the layout of the action buttons *@

<TelerikCard Width="600px">
    <CardHeader>
        <CardTitle>Card Title</CardTitle>
    </CardHeader>
    <CardBody>
        <p>Some quick example text to build on the card title and make up the bulk of the card content.</p>
    </CardBody>
    <CardSeparator></CardSeparator>

    <CardActions<EMAIL_ADDRESS>        <TelerikButton Class="k-flat">Action 1</TelerikButton>
        <TelerikButton Class="k-flat">Action 2</TelerikButton>
        <TelerikButton Class="k-flat">Action 3</TelerikButton>
    </CardActions>

</TelerikCard>
````

>tip Icon buttons in the CardActions area will expand horizontally and vertically, if the `Layout` is `Stretch` or if the `Orientation` is `Vertical`. If this is not desired, check this knowledge base article: [CardAction Icon Buttons Are Too Big]({%slug card-kb-icon-buttons-too-large%}).

## See Also

  * [Live Demo: Card](https://demos.telerik.com/blazor-ui/card/actions)

repository: telerik/blazor-docs

repo_name: telerik/blazor-docs


text:
# MinterBridge.sol

View Source: [contracts/honeylemon/MinterBridge.sol](../../contracts/honeylemon/MinterBridge.sol)

**↗ Extends: [Ownable](Ownable.md)**

**MinterBridge**

## Contract Members
**Constants & Variables**

```js
//internal members
contract MarketContractProxy internal marketContractProxy;
bytes4 internal constant BRIDGE_SUCCESS;

//public members
address public MARKET_CONTRACT_PROXY_ADDRESS;
address public ERC20_BRIDGE_PROXY_ADDRESS;

```

## Modifiers

- [only0xBridgeProxy](#only0xbridgeproxy)
- [onlyIfSetMarketContractProxy](#onlyifsetmarketcontractproxy)

### only0xBridgeProxy

check that called is 0x minter bridge proxy address

```js
modifier only0xBridgeProxy() internal
```

**Arguments**

| Name        | Type           | Description  |
| ------------- |------------- | -----|

### onlyIfSetMarketContractProxy

check that market contract proxy address is initialized

```js
modifier onlyIfSetMarketContractProxy() internal
```

**Arguments**

| Name        | Type           | Description  |
| ------------- |------------- | -----|

## Functions

- [setMarketContractProxyAddress(address _marketContractProxyAddress)](#setmarketcontractproxyaddress)
- [set0xBridgeProxy(address _0xBridgeProxyAddress)](#set0xbridgeproxy)
- [bridgeTransferFrom(address tokenAddress, address from, address to, uint256 amount, bytes bridgeData)](#bridgetransferfrom)

### setMarketContractProxyAddress

set market contract proxy address

```js
function setMarketContractProxyAddress(address _marketContractProxyAddress) public nonpayable onlyOwner
```

**Arguments**

| Name        | Type           | Description  |
| ------------- |------------- | -----|
| _marketContractProxyAddress | address | market contract address |

### set0xBridgeProxy

set 0x minter bridge proxy address

```js
function set0xBridgeProxy(address _0xBridgeProxyAddress) public nonpayable onlyOwner
```

**Arguments**

| Name        | Type           | Description  |
| ------------- |------------- | -----|
| _0xBridgeProxyAddress | address | 0x minter bridge proxy address |

### bridgeTransferFrom

Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`.

```js
function bridgeTransferFrom(address tokenAddress, address from, address to, uint256 amount, bytes bridgeData) external nonpayable onlyIfSetMarketContractProxy
returns(success bytes4)
```

**Returns**

success The magic bytes `0x37708e9b` if successful.

**Arguments**

| Name        | Type           | Description  |
| ------------- |------------- | -----|
| tokenAddress | address | in the standard 0x implementation this is the transferred token.
In HoneyLemon this is the marketContractProxy which acts to spoof a token and inform
the MinterBridge of the latest perpetual token. |
| from | address | Address to transfer asset from. |
| to | address | kenAddress in the standard 0x implementation this is the transferred token.
In HoneyLemon this is the marketContractProxy which acts to spoof a token and inform
the MinterBridge of the latest perpetual token. |
| amount | uint256 | Amount of asset to transfer. |
| bridgeData | bytes | Arbitrary asset data needed by the bridge contract. |

## Contracts

* [Address](Address.md)
* [CollateralToken](CollateralToken.md)
* [DSAuth](DSAuth.md)
* [DSAuthEvents](DSAuthEvents.md)
* [DSAuthority](DSAuthority.md)
* [DSNote](DSNote.md)
* [DSProxy](DSProxy.md)
* [DSProxyCache](DSProxyCache.md)
* [DSProxyFactory](DSProxyFactory.md)
* [ERC20](ERC20.md)
* [ERC20Burnable](ERC20Burnable.md)
* [IERC20](IERC20.md)
* [InitialAllocationCollateralToken](InitialAllocationCollateralToken.md)
* [MarketCollateralPool](MarketCollateralPool.md)
* [MarketContract](MarketContract.md)
* [MarketContractFactoryMPX](MarketContractFactoryMPX.md)
* [MarketContractMPX](MarketContractMPX.md)
* [MarketContractProxy](MarketContractProxy.md)
* [MarketContractRegistry](MarketContractRegistry.md)
* [MarketContractRegistryInterface](MarketContractRegistryInterface.md)
* [MarketToken](MarketToken.md)
* [MathLib](MathLib.md)
* [Migrations](Migrations.md)
* [MinterBridge](MinterBridge.md)
* [Ownable](Ownable.md)
* [PaymentToken](PaymentToken.md)
* [PositionToken](PositionToken.md)
* [SafeERC20](SafeERC20.md)
* [SafeMath](SafeMath.md)
* [StringLib](StringLib.md)
* [UpgradeableTarget](UpgradeableTarget.md)
* [UpgradeableToken](UpgradeableToken.md)
* [UpgradeableTokenMock](UpgradeableTokenMock.md)


text:
Before you begin:
-----------------

Before attempting to run this code, follow the instructions at
https://github.com/thecomeonman/CodaBonito
to install some dependencies.

Also get the tracking data, recently made public as part of the Friends
of Tracking sessions by Metrica from here -
https://github.com/metrica-sports/sample-data

Other ongoing experiments with tracking data can be viewed in the other markdown files in the repo which will eventually be moved to a different repo when they are old enough to move out.

The code
--------

    library(CodaBonito)
    library(data.table)
    library(ggplot2)

    rm(list = ls())

    # Instructions
    # You would have downloaded and saved the data from Github at some location on
    # your system. In my case, it's /media/ask/Data/Personal/Projects/Personal/sample-data
    # Replace the location below with the respective location from your machine
    cDataRootFolder = '/media/ask/Data/Personal/Projects/Personal/sample-data/data/'
    cGameName = 'Sample_Game_1'
    nXLimit = 120
    nYLimit = 80
    # upper limit of speed to cap weird speed values
    nUpperLimitSpeed = 5 * 120 / 105

    vcColourAssignment = c(
       'Home' = 'red',
       'Ball' = 'black',
       'Away' = 'blue'
    )

    # loading the data in
    lData = fParseTrackingDataBothTeams(
       cRootPath = cDataRootFolder,
       cGameName = cGameName,
       nXLimit = nXLimit,
       nYLimit = nYLimit,
       xMaxBB = 1,
       yMaxBB = 1,
       nUpperLimitSpeed = nUpperLimitSpeed
    )

    # Instructions
    # getting a random slice
    # basically, a row from the tracking data
    # you can choose to pick your own slice

    dtEventSlice = lData$dtEventsData[
       # Frame == ( sample( Frame[which(Subtype == "ON TARGET-GOAL")], 1) )
       StartFrame == 99005
       # StartFrame == 90005
       # StartFrame == 99032
    ]

    dtTrackingSlice = lData$dtTrackingData[
       # Frame <= ( sample( Frame[which(Subtype == "ON TARGET-GOAL")], 1) + 25 )
       Frame <= dtEventSlice[, StartFrame + 25]
    ][
       Frame >= max(Frame) - 125
    ][
       # Frame <= max(Frame) - 30
    ]

    dtEventSlice = lData$dtEventsData[
       StartFrame %in% dtTrackingSlice[, Frame] &
       EndFrame %in% dtTrackingSlice[, Frame]
    ]

    voronoiOutput = fDrawVoronoiFromTable(
       dtTrackingSlice[Frame == min(Frame)],
       nXLimit = nXLimit,
       nYLimit = nYLimit
    )

    print(voronoiOutput)

![](README_files/figure-markdown_strict/PlottingASlice-1.png)

    if ( !file.exists('./README_files/figure-markdown_strict/Voronoi.gif') ) {

       voronoiOutput = fDrawVoronoiFromTable(
          dtTrackingSlice,
          nXLimit = nXLimit,
          nYLimit = nYLimit,
          UseOneFrameEvery = 1,
          DelayBetweenFrames = 5
       )

       if ( !interactive() ) {

          qwe = suppressWarnings(
             file.remove('./README_files/figure-markdown_strict/Voronoi.gif')
          )
          rm(qwe)

          qwe = file.copy(
             voronoiOutput,
             './README_files/figure-markdown_strict/Voronoi.gif'
          )

          rm(qwe)

       }

    }

![](./README_files/figure-markdown_strict/Voronoi.gif)

I delibrately left that bit there where the player goes outside the
pitch. I don’t know what is the best strategy to depict that.
Suggestions welcome.

What about adding some annotations?

    if ( !file.exists('./README_files/figure-markdown_strict/VoronoiAnnotated.gif') ) {

       voronoiOutput = fDrawVoronoiFromTable(
          dtTrackingSlice,
          nXLimit = nXLimit,
          nYLimit = nYLimit,
          UseOneFrameEvery = 1,
          DelayBetweenFrames = 5,
          markTrajectoryFor = c(
             'HomePlayer5',
             'HomePlayer4',
             'AwayPlayer17'
          ),
          markOffsideLineFor = list(
             c('Away', 'AwayPlayer25', min)
          ),
          markLineBetween = list(
             c('HomePlayer4','AwayPlayer17')
          )
       )

       if ( !interactive() ) {

          qwe = suppressWarnings(
             file.remove('./README_files/figure-markdown_strict/Voronoi.gif')
          )
          rm(qwe)

          qwe = file.copy(
             voronoiOutput,
             './README_files/figure-markdown_strict/VoronoiAnnotated.gif'
          )

          rm(qwe)

       }

    }

![](./README_files/figure-markdown_strict/VoronoiAnnotated.gif)

What’s the line that the defense is holding?

Could the player making the cross have gotten closed quicker to prevent
the cross from happening?

Note how the recipient of the cross is in an offside position but
recovers in time for the cross.

Pitch control models are a more accurate reflection than voronois so
porting Laurie Shaw’s code from William Spearman’s paper -

    if ( !file.exists('./README_files/figure-markdown_strict/PitchControl.gif') ) {

        viTrackingFrame = dtTrackingSlice[, seq(min(Frame) - 10, max(Frame), 5)]

        params = c()
        params['time_to_control_veto'] = 3
        # model parameters
        params['max_player_accel'] = 7. # maximum player acceleration m/s/s, not used in this implementation
        params['max_player_speed'] = nUpperLimitSpeed # maximum player speed m/s
        params['reaction_time'] = 0.7 # seconds, time taken for player to react and change trajectory. Roughly determined as vmax/amax
        params['tti_sigma'] = 0.45 # Standard deviation of sigmoid function in Spearman 2018 ('s') that determines uncertainty in player arrival time
        params['kappa_def'] =  1. # kappa parameter in Spearman 2018 (=1.72 in the paper) that gives the advantage defending players to control ball, I have set to 1 so that home & away players have same ball control probability
        params['lambda_att'] = 4.3 # ball control parameter for attacking team
        params['lambda_def'] = 4.3 * params['kappa_def'] # ball control parameter for defending team
        params['average_ball_speed'] = 15. # average ball travel speed in m/s
        # numerical parameters for model evaluation
        params['int_dt'] = 0.04 # integration timestep (dt)
        params['max_int_time'] = 10 # upper limit on integral time
        params['model_converge_tol'] = 0.01 # assume convergence when PPCF>0.99 at a given location.
        # The following are 'short-cut' parameters. We do not need to calculated PPCF explicitly when a player has a sufficient head start.
        # A sufficient head start is when the a player arrives at the target location at least 'time_to_control' seconds before the next player
        # params['time_to_control_att'] = params['time_to_control_veto']*np.log(10) * (np.sqrt(3)*params['tti_sigma']/np.pi + 1/params['lambda_att'])
        # params['time_to_control_def'] = params['time_to_control_veto']*np.log(10) * (np.sqrt(3)*params['tti_sigma']/np.pi + 1/params['lambda_def'])
        params['time_to_control_att'] = params['time_to_control_veto']*log(10) * (sqrt(3)*params['tti_sigma']/pi + 1/params['lambda_att'])
        params['time_to_control_def'] = params['time_to_control_veto']*log(10) * (sqrt(3)*params['tti_sigma']/pi + 1/params['lambda_def'])

        lPitchControl = fGetPitchControlProbabilities (
            lData,
            viTrackingFrame,
            params = params,
            nYLimit = nYLimit,
            nXLimit = nXLimit,
            iGridCellsX = nYLimit
        )

        pPlotPitchControl = fPlotPitchControl(
            lPitchControl
        )

       if ( !interactive() ) {

          qwe = suppressWarnings(
             file.remove('./README_files/figure-markdown_strict/PitchControl.gif')
          )
          rm(qwe)

          qwe = file.copy(
             pPlotPitchControl,
             './README_files/figure-markdown_strict/PitchControl.gif'
          )

          rm(qwe)

       }

    }

![](./README_files/figure-markdown_strict/PitchControl.gif)


text:
# OpenCL plugin for Burst Mine.

This is a plugin for [Burst Mine](https://github.com/bhamon/burstMine).

- Author: Cryo
- Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD
- Burst: BURST-YA29-QCEW-QXC3-BKXDL

This plugin takes advantage of your graphic card computing capabilities by using the standard OpenCL library to enhance Burst operations (plots generation, deadline check).

If you like this software, support me.

## Build instructions

Please refer to the [INSTALL](INSTALL.md) guide.

## Troubleshooting

#### Error while loading the OpenCL plugin.

Make sure your OpenCL dynamic library is in your path.
If it's not the case, you have two options :

- Add the OpenCL dynamic libraries directory to your path.
- Copy/paste the OpenCL dynamic library to the [bin] folder of this plugin (besides the [burstMine-plugin-opencl.node] file).

If your driver crashes (screen goes dark, ...) when using this plugin, please make sure to reduce the [intensity] factor.

#### No platform is detected on the computer.
#### No device is found on the platforms.

Make sure your hardware is OpenCL compliant. Make sure you have the last drivers installed.

#### After launch, the display freezes and the screen goes black. Few seconds later, the display comes back but the program fails with an OpenCL error and the OS display an information message about a display driver crash.
#### After launch, the display freezes, the screen goes black and, finally, the computer reboots.

The graphic card you use is bound to your display. As the plot generation is an heavy process, it uses all of your graphic card resources in one call. To prevent display crashes, the driver kills all kernels that hang for too long.

To solve this issue, the global work needs to be split. This is the purpose of the [hashesNumber] parameter. Begin with a low value (from 1 to 10), and try to increase it until you experience some display lags.

#### The nonces/minutes are incredibly low (no more than few hundreds).

There are many causes for that:

- The configured [globalWorkSize] and [localWorkSize] for your cards are not optimal. Try with different values.
- Some of your cards causes bottlenecks. Tests them one after another to detect the one causing it and try to improve its parameters.
- For NVidia owners: OpenCL implementation is under-efficient on some NVidia cards. Try to tweak your device parameters. If there is no significant improvements, you'll need a CUDA version of this program.

repository: bhamon/burstMine-plugin-opencl

repo_name: bhamon/burstMine-plugin-opencl


text:
# Building Websites with Github Hosting

See [Github pages](https://pages.github.com/)

A [template for building a lab Website](https://github.com/greenelab/lab-website-template) using github pages.

Writing papers and citation in Markdown using [Manubot](https://manubot.org/). See [Greene Lab Metareview](https://greenelab.github.io/meta-review/)

[Fraser Lab github template](https://github.com/fraser-lab/fraser-lab.github.io)


text:
# [Low Level Package for C++](http://breakds.github.com/LLPack)

## Introduction

Low Level Package (LLPack) is a C++ utility library built on top of the C++ Standard Library STL (and only STL). This project originates from my research project in Computer Vision, but is rather general-purpose.
It is built with new features in c++11, and uses C++ template extensively.

The library is consists two components:

* [Lisp Parser](http://www.azraelplanet.org/wikipages/doku.php?id=projects:llpack:start#lisp_configuration_file_parser): An S-expression format configuration file parser.
* [Utilities](http://www.azraelplanet.org/wikipages/doku.php?id=projects:llpack:start#untilities): Macro syntax sugars, I/O Wrappers, timer, configuration file parser, etc.
* [Algorithms](http://www.azraelplanet.org/wikipages/doku.php?id=projects:llpack:start#algorithms_and_data_structures): Algorithms (sorting, random generator, etc) and Data Structures (heap, disjoint set, etc).

## Author

**BreakDS**

+<EMAIL_ADDRESS>+ https://github.com/breakds

## Documentation

The documentation of LLPack can be found [here](http://www.azraelplanet.org/wikipages/doku.php?id=projects:llpack:start).

## Quick Start

All components come in the form of [header files](http://en.wikipedia.org/wiki/Header_file) (.hpp/.h). To use them,
just include the corresponding header files into your program. Please make sure that the include path is
correctly configured so that LLPack can be located by the compiler.

Below is a step-by-step tutorial that creates a sample c++ program with using LLPack. It demonstrates how to
use LLPack fixed size heap to maintain a list of top 3 closest city to Cornell University.

### Step 1

First, download the library and put it somewhere. Let's say the directory LLPack is under the path **/some/where/**.

### Step 2

Create the test.cpp file, as below:

```c++
#include <iostream>
#include <string>
#include "LLPack/algorithms/heap.hpp"

int main() {

  int K = 3; // we want top K closest cities

  // Create the ranker (fixed K-size heap)
  heap<int, std::string> ranker(K);

  // Adding the (Grade, Name) pairs
  ranker.add( 2, "Ithaca" );
  ranker.add( 814, "Madison" );
  ranker.add( 332, "Boston" );
  ranker.add( 1007, "Ames" );
  ranker.add( 876, "St. Louis" );

  // print out top K cities
  std::cout << "---------- Closest Cities ----------\n";
  for ( int i=0; i<K; i++ ) {
    std::cout << ranker[i] << "\n";
  }
  std::cout << "\n";

  // Adding a new city
  ranker.add( 222, "New York" );

  // print out the updated top K cities
  std::cout << "---------- Updated Closest Cities ----------\n";
  for ( int i=0; i<K; i++ ) {
    std::cout << ranker[i] << "\n";
  }
  std::cout << "\n";

  return 0;
}
```

### Step 3

Compile with (Assuming GCC)

```bash
g++ test.cpp -I/some/where -o test -std=c++0x
```

Note that c++0x is necessary since c++11 syntax is extensively used in LLPack.

### Step 4

Run the compiled program, and we will get:
```bash
---------- Closest Cities ----------
Madison
Ithaca
Boston

---------- Updated Closest Cities ----------
Boston
Ithaca
New York
```

## Documentation

The documentation of LLPack can be found [here](http://www.azraelplanet.org/wikipages/doku.php?id=projects:llpack:start).

## Lisence

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

IN NO EVENT SHALL THE AUTHORS 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.

For more information, please refer to <http://unlicense.org/>

license: Unlicense

repository: breakds/LLPack

repo_name: breakds/LLPack


text:
# trawler-rs

[![Crates.io](https://img.shields.io/crates/v/trawler.svg)](https://crates.io/crates/trawler)
[![Documentation](https://docs.rs/trawler/badge.svg)](https://docs.rs/trawler/)
[![Build Status](https://travis-ci.org/jonhoo/trawler.svg?branch=master)](https://travis-ci.org/jonhoo/trawler)

This crate provides a workload generator that emulates the traffic to
[lobste.rs](https://lobste.rs). It is a mostly open-loop benchmark similar to
[TailBench](https://people.csail.mit.edu/sanchez/papers/2016.tailbench.iiswc.pdf), but it also
approximates the partly open-loop designed outlined in [*Open Versus Closed: A Cautionary
Tale*](https://www.usenix.org/legacy/event/nsdi06/tech/full_papers/schroeder/schroeder.pdf) by
having clients potentially issue more than one query per request.

The benchmarker has two main components: load generators and issuers. Load generators generate
requests according to actual lobste.rs traffic patterns as reported in
[here](https://lobste.rs/s/cqnzl5/), records the request time, and puts the request description
into a queue. Issuers take requests from the queue and issues that request to the backend. When
the backend responds, the issuer logs how long the request took to process, *and* how long the
request took from when it was generated until it was satisfied (this is called the *sojourn
time*).

Trawler is written so that it can *either* be run against an instance of
the [lobsters Rails app](https://github.com/lobsters/lobsters) *or*
directly against a backend by issuing queries. The former is done using the provided binary,
whereas the latter is done by linking against this crate as a library an implementing the
[`LobstersClient`] trait. The latter allows benchmarking a data storage backend without also
incurring the overhead of the Rails frontend. Note that if you want to benchmark against the
Rails application, you must apply the patches in `lobsters.diff` first.

repository: ekmartin/trawler

repo_name: ekmartin/trawler


text:
---
layout: transform
title: Filter Transform
permalink: /docs/transforms/filter/index.html
---

The **filter** transform removes objects from a data stream based on a provided filter expression.

## Transform Parameters

| Property            | Type                        | Description   |
| :------------------ | :-------------------------: | :------------ |
| expr                | {% include type t="Expr" %} | {% include required %} A predicate [expression](../../expressions) for filtering the data. If the expression evaluates to `false`, the data object will be filtered.|

## Usage

```json
{"type": "filter", "expr": "datum.x > 10"}
```

This example retains only data elements for which the field x is greater than 10.

```json
{"type": "filter", "expr": "log(datum.y) / LN10 > 2"}
```

This example retains only data elements for which the base-10 logarithm of y is greater than 2.

repository: vega/vega

repo_name: vega/vega


text:
# Py3Row

[![Build Status](https://travis-ci.org/droogmic/Py3Row.svg?branch=master)](https://travis-ci.org/droogmic/Py3Row)

#### NOTE
+ This code may not function as advertised.
+ This documentation is incomplete
+ Please submit PRs to improve this

## ABOUT

### Code history
Original Site: http://www.newhavenrowingclub.org/pyrow/
Forked from: https://github.com/uvd/PyRow

### Description
PyRow is python3 code that allows one to interact with a Concept2 Rowing Ergometer PM3, PM4 or PM5 monitor using python.  PyRow sends and receives information from the Ergometer using csafe commands or built in functions (listed below).  The goal of PyRow is to allow for multiple platforms to have easy access to the Ergometer.

### CSAFE
For an explanation of the csafe commands please use the documentation found here:
- Concept2 PM Communication Interface Definition
  - [Original](http://www.concept2.com/service/software/software-development-kit) (Need to download the SDK to get the document)
  - [Local saved in 2016-12](docs/Concept2PMCommInterfaceDef.pdf)
- [Communications Specification for Fitness Equipment](http://www.fitlinxx.com/CSAFE/)

## LICENSE
Copyright (c) 2011 - 2015, Sam Gambrell
Copyright (c) 2016 - 2017, Michael Droogleever
Licensed under the Simplified BSD License.

## REQUIREMENTS
Py3Row has not been widely tested but should be able to work on any machine that can run Python & PyUSB. This has not been tested and confirmed.

### Tested Configurations

#### ArchLinux
`# sudo pacman -S python libusb`
or
`# sudo pacman -S python libusb python-pyusb` (unstested)
- [Python](http://python.org/) (Tested with 3.5.2)
- [libusb](http://www.libusb.org/) (1.0.21-1 from core)
- [Walac's PyUSB](https://github.com/walac/pyusb) (1.0.0) or [PyUsb](https://github.com/pyusb/pyusb) (1.0.3) via pip install pyusb

#### Linux and PyUSB Access denied (insufficient permissions)
Sometimes the administration roles for python to access usb devices are too strict and pyusb generates the following error:
- usb.core.USBError: [Errno 13] Access denied (insufficient permissions)

When this occurs, use `lsusb` to see if the Concept2 device is found and what bus # and device # it is.  Once you have those two numbers run the udevadm command to get the specific information.  Follow this example:

`lsusb`

`...
Bus 006 Device 045: ID 17a4:0001 Concept2 Performance Monitor 3...`

note bus # and device # and then do the following:

`udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/006/045)`

This will show you the idVendor, idProduct and other information about the Performance Monitor. From this you can create a rule for that device in `/etc/udev/rules.d/10-local.rules` with the following line matching the information you get from udevadm.  You shouldn't have to change the idVendor but the idProduct might be different from this example.

`SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="17a4", ATTRS{idProduct}=="0001", GROUP="plugdev", MODE="777"`

Make sure your system has plugdev group and your userid is in the group too.

## INSTALLING
+ After the software has become stable the software will be packaged as a module, you can try using `pip install -e git+https://github.com/droogmic/Py3Row.git#egg=pyrow`.
+ For now copying he pyrow directory and importing will work.

Include PyRow in your code with the following line of code:
`from pyrow import pyrow`

## RUNNING
`pyrow.find()` - returns an array of all the ergs currently connected to the computer

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

`pyrow.PyErg(erg)` - creates an object for communicating with the erg, erg is obtained from the pyrow.find() function
 ex: creating a pyrow object from the first erg found
   ergs = pyrow.find()
   erg = pyrow.pyrow(ergs[0])

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

`pyrow.PyErg.get_status()` - returns status of machine as a number
  - 0 = 'Error'
  - 1 = 'Ready'
  - 2 = 'Idle'
  - 3 = 'Have ID'
  - 4 = 'N/A'
  - 5 = 'In Use'
  - 6 = 'Pause'
  - 7 = 'Finished'
  - 8 = 'Manual'
  - 9 = 'Offline'

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

`pyrow.PyErg.get_monitor(forceplot=False)` - returns data from the monitor in dictionary format, keys listed below with descriptions
  - time = Monitor time in seconds
  - distance = Monitor distance in meters
  - spm = Strokes per Minute
  - power = Power in watts
  - pace = /500m pace
  - calhr = Calories Burned per Hours
  - calories = Total Calories Burned
  - heartrate = Current Heart Rate
  - status = Machine Status
 If keyvalue forceplot is set to true
  - forceplot = Force Plot Data
  - strokestate = Stroke State

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

`pyrow.PyErg.get_forceplot()` - returns force plot data and stroke state in dictionary format, keys listed below with descriptions
  - forceplot = Force Plot Data (array varying in length from 0 to 16)
  - strokestate = Stroke State
  - status = Machine status

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

`pyrow.PyErg.get_workout()` - returns data related to the overall workout in dictionary format, keys listed below with descriptions
  - userid = User ID
  - type = Workout Type
  - state = Workout State
  - inttype = Interval Type
  - intcount = Workout Interval Count
  - status = Machine Status

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

`pyrow.PyErg.get_erg()` - returns non workout related data about the erg in dictionary format, keys listed below with descriptions
  - mfgid = Manufacturing ID
  - cid = CID
  - model = Erg Model
  - hwversion = Hardware Version
  - swversion = Software Version
  - serial = Ascii Serial Number
  - maxrx = Max Rx Frame
  - maxtx = Max Tx Frame
  - mininterframe = Min Interframe
  - status = Machine status

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

`pyrow.PyErg.set_clock()` - sets the clock on the erg equal to the clock on the computer

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

`pyrow.PyErg.set_workout()` - if machine is in the ready state function will set the workout and display the start workout screen, allowable parameters are listed below (the current PM SDK does not allow for setting invervaled workouts)

**Choose one**

  `program=programNumber` - number from 0 to 10 (15 if the log card is installed), 1 thru 10 relate to workouts saved in the monitor.

  `time=[hours, minutes, seconds]` - Min allowable is 20 sec & max allowable is 9:59:59.

  `distance=meters` - Min allowable is 100 and max allowable is 20000.

 **Not required, can only chose if time or distance is set**

  `split=seconds` - If time is set or meters if distance is set, must be less than the total goal and greater
         than or equal to 20 seconds or 100 meters, cannot occur more then 30 times during the workout, time
         has a resolution of .01 sec

 **Not required, chose one**

  `pace=seconds` - Seconds for pace boat to complete 500 meters (/500m)
  `powerpace=watts` - Watts for pace boat to generate
  `calpace=cal` - Calories per hour for pace boat to burn

 ex: set a 2000m workout with a 500m split and a pace boat with a 2 minute pace (120 seconds)

  `erg.set_workout(distance=2000, split=500, pace=120)`

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

`pyrow.PyErg.send(command)` - sends a csafe command to the rowing machine and returns the result. The command is an array and
 results are returned as a dictionary with the key being the csafe command name

 ex: setting a workout of 10 minutes with a split of 1 minute (60 seconds)

    command = ['CSAFE_SETTWORK_CMD', 0, 10, 0,'CSAFE_PM_SET_SPLITDURATION', 0, 60]
    erg.send(command)

 ex: getting pace and printing it out

    command = ['CSAFE_GETPACE_CMD',]
    result = erg.send(command)
    print("Stroke Pace = " + str(result['CSAFE_GETPACE_CMD'][0]))
    print("Stroke Units = " + str(result['CSAFE_GETPACE_CMD'][1]))

## FILES

`pyrow`
+ `pyrow.py` - file to be loaded by user, used to connect to erg and send/receive data on a low-level
+ `simpyrow.py` - file to be loaded by user, used to simulate erg communication on a low-level
+ `ergmanager.py` - file to be loaded by user, used to connect to erg and send/receive data on a high-level
+ `csafe`
  - `csafe_cmd.py` - converts between csafe commands and byte arrays for pyrow.py, user does not need to load this file directly
  - `csafe_dic.py` - contains dictionaries of the csafe commands to be used by csafe_cmd.py, user does not need to load this file directly

`tests` - contains unittests

`examples`
+ `stdio.py` - User I/O demo
+ `socketstream.py`
+ `socketstreamer.py`
+ `superceded`
  - `strokelog.py` - an example program that records time, distance, strokes per min, pace, and force plot data for each stroke to a csv file
  - `statshow.py` - an example program that displays the current machine, workout, and stroke status

gha_language: Python


text:
### [CVE-2022-41876](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-41876)
![](https://img.shields.io/static/v1?label=Product&message=ezplatform-graphql&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-200%3A%20Exposure%20of%20Sensitive%20Information%20to%20an%20Unauthorized%20Actor&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-922%3A%20Insecure%20Storage%20of%20Sensitive%20Information&color=brighgreen)

### Description

ezplatform-graphql is a GraphQL server implementation for Ibexa DXP and Ibexa Open Source. Versions prior to 2.3.12 and 1.0.13 are subject to Insecure Storage of Sensitive Information. Unauthenticated GraphQL queries for user accounts can expose password hashes of users that have created or modified content, typically administrators and editors. This issue has been patched in versions 2.3.12, and 1.0.13 on the 1.X branch. Users unable to upgrade can remove the "passwordHash" entry from "src/bundle/Resources/config/graphql/User.types.yaml" in the GraphQL package, and other properties like hash type, email, login if you prefer.

### POC

#### Reference
No PoCs from references.

#### Github
- https://github.com/Skileau/CVE-2022-41876
- https://github.com/nomi-sec/PoC-in-GitHub

repository: trickest/cve

repo_name: trickest/cve


text:
[![Test & Deploy fake-useragent](https://github.com/fake-useragent/fake-useragent/actions/workflows/action.yml/badge.svg?branch=master)](https://github.com/fake-useragent/fake-useragent/actions/workflows/action.yml?query=branch%3Amaster)

# fake-useragent

Up-to-date simple useragent faker with real world database.

## Features

- Data is pre-downloaded from [useragentstring.com](http://useragentstring.com/) and the data is part of the package
- Retrieves user-agent strings locally
- Supports Python 3.x
- _Fallback_ to external resource ([useragentstring.com](http://useragentstring.com/))

### Installation

```sh
pip install fake-useragent
```

Or if you have multiple Python / pip versions installed, use `pip3`:

```sh
pip3 install fake-useragent
```

### Usage

```py
from fake_useragent import UserAgent
ua = UserAgent()

ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
ua.safari
# Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

# and the best one, get a random browser user-agent string
ua.random
```

### Notes

If you want to specify your own browser list, you can do that via the `browsers` argument (default is: `["chrome", "edge", "internet explorer", "firefox", "safari", "opera"]`).

```py
from fake_useragent import UserAgent
ua = UserAgent(browsers=['edge', 'chrome'])
ua.random
```

You can add your own fallback string using the `fallback` parameter, in rare cases everything else failed:

```py
import fake_useragent

ua = fake_useragent.UserAgent(fallback='your favorite Browser')
# in case if something went wrong, one more time it is REALLY!!! rare case
ua.random == 'your favorite Browser'
```

If you will try to get unknown browser:

```py
from fake_useragent import UserAgent
ua = UserAgent()
ua.unknown
# Traceback (most recent call last):
#   ...
# fake_useragent.errors.FakeUserAgentError: Error occurred during getting browser: unknown
```

By default `fake-useragent` will use it's local ([`browsers.json`](./fake_useragent/data/browsers.json)) data file as the data source.

If you don't want to use the local data, but use the external data source to retrieve the user-agents. Set `use_external_data` to `True`:

```py
from fake_useragent import UserAgent
ua = UserAgent(use_external_data=True)
```

As a fallback method `fake-useragent` will retrieve it's data from an external data source and stores in a cache file _or_ when you expcility set `use_external_data=True` as parameter.
You can trigger an update to the cache file by calling `update()`:

```py
from fake_useragent import UserAgent
ua = UserAgent()
ua.update()
```

The default location of the external resource cache file is in your os temp dir, like `/tmp`.
You can change the temp directory by changing `cache_path` (mainly useful together when `use_external_data` is set to True).

```py
import fake_useragent

# I am strongly! recommend using a version suffix
location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION

ua = fake_useragent.UserAgent(use_external_data=True, cache_path=location)
ua.random
```

If you need to safe some attributes from overriding them in UserAgent by `__getattr__` method
use `safe_attrs` you can pass there attributes names.
At least this will prevent you from raising FakeUserAgentError when attribute not found.

For example, when using fake*useragent with `injections <https://github.com/tailhook/injections>`* you need to:

```py
import fake_useragent

ua = fake_useragent.UserAgent(safe_attrs=('__injections__',))
```

Please, do not use if you don't understand why you need this.
This is magic for rarely extreme case.

### Experiencing issues?

Make sure that you using latest version!

```sh
pip install --upgrade fake-useragent
```

Or if that isn't working, try to install the latest package version like this (`1.1.3` is an example, check what the [latest version is on PyPi](https://pypi.org/project/fake-useragent/#history)):

```sh
pip install fake-useragent==1.1.3
```

Check version via the Python console:

```py
import fake_useragent

print(fake_useragent.VERSION)
```

And you are always welcome to post [issues](https://github.com/fake-useragent/fake-useragent/issues).

Please do not forget to mention the version that you are using.

### Developers

Since GitHub Actions is unable to reach useragentstring.com. We can run the script below to automatically scrape the user-agent strings from the external data source. The script will copy the [JSONlines](https://jsonlines.org/) file to the `src/fake_useragent/data` directory. Execute:

```sh
./update_data_file.sh
```

The data JSON file is part of the Python package, see [pyproject.toml](pyproject.toml). Read more about [Data files support](https://setuptools.pypa.io/en/latest/userguide/datafiles.html).

### Tests

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

### Changelog

- 1.1.1 December 4, 2022

  - Remove whitespaces from user agent strings, this is a patch release

- 1.1.0 November 26, 2022

  - Add `pkg_resource` as fallback mechanism in trying to retrieve the local JSON data file

- 1.0.1 November 10, 2022

  - Add `importlib-metadata` & `importlib-resources` as dependencies
  - Check on specific Python version regarding the importlib resources (python v3.10 or higher) in order to have `files()` working
  - `importlib_metadata` should now also work on Python version before 3.8
  - Remove obsolete `MANIFEST.in` file

- 1.0.0 November 17, 2022

  - Make the JSON Lines data file part of the Python package, data is retrieved locally
    - Extend the `myproject.toml` file with `package-data` support
  - Remove centralized caching server implementation
  - Make real unit-tests which should run reliable, fast, independent and without Internet connection

- 0.1.14 November 5, 2022

  - Improve code quality standards using modern Python >=3.7 syntax
  - Migrated to `pyproject.toml` build system format + syntax check
  - Add additional classifiers to the toml file
  - Improved `tox.ini` file
  - Improved GitHub Actions job using pip cache
  - And various small fixes

- 0.1.13 October 21, 2022

  - Implement `browsers` argument, allowing you to override the browser names you want to use
  - Fix browser listing of Internet Explorer and Edge
  - Don't depend on w3schools.com anymore
  - Clean-up data (temp) file format
  - Update fallback cache server URL / use JSON Lines as file format
  - Move to GitHub Actions instead of Travis
  - Using [`black`](https://pypi.org/project/black/) Python formatter in favour of Flake

- 0.1.12 March 31, 2022

  - forked

- 0.1.11 October 4, 2018

  - moved `s3 + cloudfront` fallback to `heroku.com`, cuz someone from Florida did ~25M requests last month

- 0.1.10 February 11, 2018

  - Minor fix docs `cloudfront` url

- 0.1.9 February 11, 2018

  - fix `w3schools.com` renamed `IE/Edge` to `Edge/IE`
  - moved `heroku.com` fallback to `s3 + cloudfront`
  - stop testing Python3.3 and pypy

- 0.1.8 November 2, 2017

  - fix `useragentstring.com` `Can't connect to local MySQL server through socket`

- 0.1.7 April 2, 2017

  - fix broken README.rst

- 0.1.6 April 2, 2017

  - fixes bug `use_cache_server` do not affected anything
  - `w3schools.com <https://www.w3schools.com/browsers/browsers_stats.asp>`\_ moved to `https`
  - `verify_ssl` options added, by default it is `True` (`urllib.urlopen` ssl context for Python 2.7.9- and 3.4.3- is not supported)

- 0.1.5 February 28, 2017

  - added `ua.edge` alias to Internet Explorer
  - w3schools.com starts displaying `Edge` statistic
  - Python 2.6 is not tested anymore
  - `use_cache_server` option added
  - Increased `fake_useragent.settings.HTTP_TIMEOUT` to 5 seconds

- 0.1.4 December 14, 2016

  - Added custom data file location support
  - Added `fallback` browser support, in case of unavailable data sources
  - Added alias `fake_useragent.FakeUserAgent` for `fake_useragent.UserAgent`
  - Added alias `fake_useragent.UserAgentError` for `fake_useragent.FakeUserAgentError`
  - Reduced `fake_useragent.settings.HTTP_TIMEOUT` to 3 seconds
  - Started migration to new data file format
  - Simplified a lot 4+ years out of date code
  - Better thread/greenlet safety
  - Added verbose logging
  - Added `safe_attrs` for prevent overriding by `__getattr__`

- 0.1.3 November 24, 2016

  - Added hosted data file, when remote services is unavailable
  - Raises `fake_useragent.errors.FakeUserAgentError` in case when there is not way to download data
  - Raises `fake_useragent.errors.FakeUserAgentError` instead of `None` in case of unknown browser
  - Added `gevent.sleep` support in `gevent` patched environment when trying to download data

- X.X.X xxxxxxx xx, xxxx
  - xxxxx ?????

### Authors

You can visit [authors page](https://github.com/fake-useragent/fake-useragent/blob/master/AUTHORS).

repository: cclauss/fake-useragent

repo_name: cclauss/fake-useragent


text:
---
title: illegal-change-types
---

## Why?

Liquibase supports [a lot of different changes](http://www.liquibase.org/documentation/changes/index.html), but there might be some you just don't want to be used in your project for one reason or another.

This rule will fail if one of the change types provided is ever used in a script.

## Options

`values` - (array of strings) list of change types that should not be used; each can be expressed as either the tag name or the full Java class name of the [change type](https://github.com/liquibase/liquibase/tree/main/liquibase-core/src/main/java/liquibase/change/core)

## Example Usage

To prevent `loadData` changes being used:

```json
{
    "rules": {
        "illegal-change-types": {
            "values": ["loadData"]
        }
    }
}
```

This is exactly equivalent to the above, but using the class name:

```json
{
    "rules": {
        "illegal-change-types": {
            "values": ["liquibase.change.core.LoadDataChange"]
        }
    }
}
```

repository: whiteclarkegroup/liquibase-linter

gha_language: Java

repo_name: whiteclarkegroup/liquibase-linter


text:
# humix-sense-speech
speech-to-text and text-to-speech enabling project for Humix

# dependencies:
- nodejs >= 4.2
- gcc >= 4.8
  instructions could be found here https://somewideopenspace.wordpress.com/2014/02/28/gcc-4-8-on-raspberry-pi-wheezy/
- packages
    - sudo apt-get install bison
    - sudo apt-get install libasound2-dev
    - sudo apt-get install swig
    - sudo apt-get install python-dev
    - sudo apt-get install mplayer
    - sudo apt-get install flac
    - sudo apt-get install libsndfile1-dev
    - sudo apt-get install libflac++-dev

- nodes modules:
    - npm install nats soap

- [natsd](https://github.com/nats-io/gnatsd)

# Run the application
Make sure **gnatsd** server is running and you are on the project's root folder. Then issue the following command:
```
    node .
```h


text:
---
layout: post
title: Fighting Internet Addiction
permalink: /addiction/
---

Outline
- If you give a mouse a cookie: the key is to never give the cookie
- dr. jekyll and mr. hyde: Once mr. hyde is in the driver seat, you are toast.
- Need to fully be behind quitting. If you are half-assed, than you just feel
worse about failing, while not taking any necessary steps to prevent yourself
from doing it again
- You actually need to take actions and make a real plan to fix it:
  - What exactly is the behavior that you don't like?  Spending several hours watching TV. You are ok with 1 ep, but not 2.
  - What causes it to happen?  In what situations do you find yourself wasting time?
  - How could you prevent yourself from getting in that situation?
  - What is some concrete action that you can take that would reduce your risk?
  - You have to make a pact and stick to it.  Be serious about it and go over it
  not just when you are breaking it, but every day, at times when you are being
  strong to not break it. Reinforce the good behavior and good results.  Write
  down what you will not do and recite it.  Recite it at easy times and recite it
  before you are about to get into similar situations.

I sit down to watch a single episode, or video, and end up watching 10 in a row.

Part of you feels that it is not that bad and kind of helpful.  There are some
redeeming things about it.  Maybe it lets you relax, and you like humor and like
picking up on the humor, or it is social or something like that.  If it were
completely useless, you would not do it.

You were going well for awhile, but you just finished a deadline, or got back
from a trip, and you quickly fall back in to your old ways.  Unless you have
methods to prevent you from slipping, it happens rapidly.

It is not helpful to stress over the past.  You need to give up on past time
lost.  It is gone forever.  The only thing that you can change is the future.
But to do that, you have to plan.  And not just for right now, because when
you are done, you don't feel like doing it anyways.  You need to plan for the
next time you will be in a similar situation.

## Should you work to get rid of it?  Do you even care?

Obviously if you are thinking of something right now that you are addicted to,
if you are considering it an addiction, you want to get rid of it.  But it really
does help to ask.  Because part of you probably sees something redeeming in it
if you are still doing it.

## The "If You Give a Mouse a Cookie" Principle


text:
# telosMonitoring
Monitoring script for all vital services and applications.

# Usage
Monitoring: Call the script with ./check via cronjob or similar schedulers. See logfiles under result.log and error.log

Benchmarking: Start benchmark script with ./perf

repository: TelosGermany/telosMonitoring

repo_name: TelosGermany/telosMonitoring


text:
Pattern: Use of array unpacking

Issue: -

## Description

Using the spread operator for unpacking arrays in array expressions is available since PHP 7.4.

PHP version 7.4

## Further Reading

* [PHP_CodeSniffer - PHPCompatibility.Syntax.NewArrayUnpacking](https://github.com/PHPCompatibility/PHPCompatibility/tree/develop/PHPCompatibility/Sniffs/Syntax/NewArrayUnpackingSniff.php)

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

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


text:
# OneSignal Notification Pusher for Joomla!
A very simple [Joomla!](https://www.joomla.org/) plugin to send push notifications via [OneSignal](https://onesignal.com) REST API.

### Setup
The file `onesignalhelper.php` contains the code for OneSignal. You should:

* set `$onesignal_app_id` to your OneSignal application ID,
* set `$onesignal_rest_key` to your OneSignal REST API key.
* customize segments, contents, additional custom data and other options (see https://documentation.onesignal.com/v3.0/reference#create-notification).

The file `onesignalnotificationpusher.php` is a Joomla! content plugin, and you might want to change filters (context, categories, etc.) and criteria for sending the notification (after the content is saved or created). See https://docs.joomla.org/Plugin/Events/Content#onContentAfterSave.

### Installation
Install and enable the plugin. The plugin is called after a content is saved.


text:
<img src="/tf/docs/images/tf-small.png" align="left"/>

# Text-Fabric

[![SWH](https://archive.softwareheritage.org/badge/origin/https://github.com/annotation/text-fabric/)](https://archive.softwareheritage.org/browse/origin/https://github.com/annotation/text-fabric/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1008899.svg)](https://doi.org/10.5281/zenodo.592193)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2592/badge)](https://bestpractices.coreinfrastructure.org/projects/2592)
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
---

A corpus of ancient texts and (linguistic) annotations represents a large body of knowledge.
Text-Fabric makes that knowledge accessible to programmers and non-programmers.

Text-Fabric is machinery for processing such corpora as annotated graphs.
It treats corpora and annotations as data, much like big tables, but without
loosing the rich structure of text, such as embedding and multiple representations.
It deals with text in a state where all markup is gone, but where the complete logical
structure still sits in the data.

All about Text-Fabric is in the
[docs](https://annotation.github.io/text-fabric/tf).

Want to contribute?
Start with the [contribution notes](codestyle/contributing.md).

Found a vulnerability? Please read the [security note](SECURITY.md).

# Author

[Dirk Roorda](https://github.com/dirkroorda)

---

**This repository is being archived continuously by the
[Software Heritage Archive](https://archive.softwareheritage.org).
If you want to cite snippets of the code of this repository, the Software Archive
offers an easy and elegant way to do so.
As an example, here I quote the
[*stitching* algorithm](https://archive.softwareheritage.org/swh:1:cnt:6169c074089ddc8a0e048cb67e1fec57857ef54d;lines=3224-3270/),
by means of which Text-Fabric Search collects the solutions of a
[search template](https://annotation.github.io/text-fabric/tf/about/use.html).
The quote refers directly to specific lines of code, deeply buried in
a Python file within a particular version of Text-Fabric.**

repository: dstoekl/text-fabric

repo_name: dstoekl/text-fabric


text:
Image Cropper
=============

This a version of the [Image Cropper](http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/)
by David Spurr that works with [scripty2](http://scripty2.com/) and [Prototype 1.7](http://www.prototypejs.org/).

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

This doesn't include prototype and scripty2 so you have to download and include
them separately.

Usage
-----

How to use the image cropper is descibed at
[the site of David Spurr](http://www.defusion.org.uk/code/javascript-image-cropper-ui-using-prototype-scriptaculous/).

Testing
-------

Put s2.js and prototype.js in a folder named lib/ (not included). Then open the tests in tests/.


text:
## Known Issues

The YAML parser implementation is in progress and has the following knwown limitations
- Array elements with more than 1 key are parsed incorrectly
- Comments are not supported
- The file delimeter "---" is not supported
- JSON syntax is not yet supported
- Quotes are currently included as part of strings
- Mixing tabs and spaces in indendation is not supported

repository: katydid/katydid

repo_name: katydid/katydid


text:
**Project description:** The goal of the project was to compare how well areas around the bay due as it relates to the bays health. Looked at census data within 10 miles of the bay for median household income averaged over 5 years. I used the health grades given out to the 5 different regions during that same time period to compare 2010-2014 and 2015-2019

### 1. Suggest hypotheses about the causes of observed phenomena
The results are mostly inconclusive. This project would provide more results if I created similar maps dating back 20 or 30 years.


text:
# FBExport

Tool for exporting and importing data with Firebird  databases

**What's new?**

*   FBExport and FBCopy sources are joined and built from the same place
*   Fixed bug when copying blobs with Firebird 2.1
*   Slash character is no longer removed when loading statements from file
*   Fixed bug when exporting negative values like -0.01
*   Added header with column names to CSV export
*   Username and password are read from ISC_USER and ISC_PASSWORD enviroment variables if available
*   You can fetch the latest source code from Git repository
*   Read [HTML manual](manual.html) for usage instructions

**A note to first-time users**

FBExport is a tool that can **export** data in CSV format, as SQL script
of INSERT statements, or a custom binary .fbx format. However it can only
**import** this custom .fbx format. (Well, actually it can import the
INSERT statement as well, via -Q -F parameter combination).

If you
are looking for a tool to **import** data like CSV or XML file into Firebird
you should use some other tool like [Guacosoft XMLWizard](http://www.guacosoft.com/xmlwizard) or something
similar.

**What does it do?**

With FBExport, one can easily
export/import data from/to Firebird table into a text file (actually
it's a binary file). I first tought that XML format would be the way to
go, but size of exported file matters, so I used [my own format](FBExport_file_format.html) which uses less
space. It can also export data in CSV format and as INSERT statements.

FBExport is a command-line
tool, so you can easily use it inside batch scripts. Currently, Linux
and Windows versions are available, but I hope it can be built with any
compiler that can build IBPP library.

FBExport is released as a single package containing
source code, linux and windows command-line
and GUI binaries.

**Why use it?**

I was trying to copy data from one
[Firebird](http://www.firebirdsql.org) database to another
via external tables. The whole import/export process was needed since
there was no chance of getting access to both databases at the same
time, so any of those data-pump utilities was out of the question.
Thus, I came up with the idea to export data into text file, copy that
file to other server, and import the data into other database.

Then I had problem with NULLs. When exporting data into external tables, database
engine turns all null values into zeroes (hex value 0). When importing
back, integers become zero, dates become 17.11.1858, etc.
I also tried to use CHAR for all exporting, but then, null value for
integer becomes "    ", or
something similar, and one gets error message: _Conversion error
from string "    "_.

Instead of writing some UDFs
or a lot of Stored Procedures for each table, I decided to make a tool
that will do this job...

Also, Firebird has a heavy network protocol which **works slow over
the modem line**, so it takes a lot of time to send data with some
data-pump tool. With FBExport you can write a batch script to export
the data at one end, zip it, and send over the wire. Then at the other
side, unpack and import. Transfering one big .zip file is much faster
than making database connections, transactions, filling parameter
values, executing statements, commiting, etc.

**Restrictions**

This tool uses [IBPP library](http://ibpp.sourceforge.net/)
for database access. It supports Firebird 1.0, 1.5, 2.0, 2.1, 2.5
databases.

FBExport doesn't support ARRAY datatype.

**Licence**

FBExport is Free Software, released under MIT/Expat licence.

repository: hempalex/fbexport

repo_name: hempalex/fbexport