text:
[TOC]

# Overview

Mathematics terminology

# Algebra

Algebra is the study of mathematical symbols and the rules for
manipulating these symbols.
- study of operations and their application to solving equations
- It includes everything from elementary equation solving to the study
  of abstractions such as groups, rings, and fields.
- The most basic parts of algebra are called *elementary algebra*; the
  more abstract parts are called *abstract algebra*.
    + Elementary algebra differes from arithmetic in the use of
      abstractions, such as using letters to stand for numbers that are
      either unknown or allowed to take on many values.

# Ambient space

- An ambient space or ambient configuration space is the space
  surrounding an object.

# Arithmetic

Arithmetic is a branch of mathematics dealing with the properties and
manipulation of numbers.
- Arithmetic is an elementary part of number theory.

# Asymptote

An asymptote of a curve is a line such that the distance between the
curve and the line approaches zero as they tend to infinity.

# Calculus

study of change

# Cartesian coordinate

A Cartesian coordinate system is a coordinate system that specifies each
point uniquely in a plane by a pair of numerical coordinates, which are
the signed distances to the point from two fixed perpendicular directed
lines, measured in the same unit of length.

# Continuous Variable

- A continuous variable is one which can take on infinitely many,
  uncountable values.
- For example, a variable over a non-empty range of the real numbers is
  continuous.

# Cumulative Distribution Function

- In probability and statistics, the cumulative distribution function
  (CDF) of a real-valued random variable X, or just distribution
  function of X, evaluated at x, is the probability that X will take a
  value less than or equal to x.
- In the case of a continuous distribution, it gives the area under the
  probability density function from minus infinity to x.

# Derivative

- Rates of change
- Slope of tangent line = limit of slopes of secant line
- Limit of a difference quotient.
    + f'(a) = limit when x -> a of [f(x) - f(a)]/(x - a)
    + f'(x) = limit when h -> 0 of [f(x+h) - f(x)]/h

# Determinant

https://en.wikipedia.org/wiki/Determinant

# Difference quotient

Difference quotient is slope of secant line.
Formula: [f(x) - f(a)]/(x - a)

# Differential calculus

finding tangent lines to curves

# Differentiation

Process of computing derivative.

# Discriminant

https://en.wikipedia.org/wiki/Discriminant

# Function

In mathematics, a function is a relation between a set of inputs and a
set of permissible outputs with the property that each input is related
to exactly one output.

## Domain

set of inputs

## Image (Range)

set of outputs

## Graph

set of all input-output pairs

## Zero (Root)

is a x value such that: f(x) = 0

## Piecewise function

f(x) = 5 if x < 0
f(x) = 6x + 7 if x = 0
f(x) = 7x if x >0

A function with definition as above is a piecewise function.

# [Fresnel integral](http://mathworld.wolfram.com/FresnelIntegrals.html)

# Geometry

study of shape

# Histogram

- A histogram is an accurate representation of the distribution of
  numerical data.
- It is an estimate of the probability distribution of a continuous
  variable
- It differs from a bar graph, in the sense that a bar graph relates two
  variables, but a histogram relates only one.

# Homogeneous coordinate

Homogeneous coordinates are a system of coordinates used iin projective
geometry, as Cartesian coordinates are used in Euclidean geometry.

![homogeneous coordinate](../graphic/math/homogeneous-coordinate.svg)

# Hyperplane

- In geometry, a hyperplane is a subspace whose dimension is one less
  than that of its ambient space.

# Hypotenuse

In geometry, a hypotenuse is the longest side of a right-angled
triangle, the side opposite of the right angle.

# Integral calculus

Computing areas under curves.

# Interval

- Closed: [a,b]
- Open: (a,b)
- Half-open: [a,b) or (a,b]

# Limit

Suppose that f(x) is defined for all x in an open interval containing c
(but not necessarily at x = c). Then

    lim f(x) as x approaches c equal L

if for all epsilon > 0, there exist delta > 0 such that

    |f(x) - L| < epsilon if 0 < |x - c| < delta

> Intuitively, when x approaches c then f(x) approaches L.

# Linear Algebra

Linear algebra is the branch of mathematics concerning vector spaces and
linear mappings between such spaces.

# Linear Map

A linear map (also called a linear mapping, linear transformation, or
linear function) is a mapping V->W between two modules (including vector
spaces) that preserves the operations of addition and scalar
multiplication.

# Mahalanobis distance

- The Mahalanobis distance is a measure of the distance between a point
  P and a distribution D, introduced by P. C. Mahalanobis in 1936.
- It is a multi-dimensional generalization of the idea of measuring how
  many standard deviations away P is from the mean of D.
- This distance is zero if P is at the mean of D, and grows as P moves
  away from the mean along each principal component axis.
    + If each of these axes is re-scaled to have unit variance, then the
      Mahalanobis distance corresponds to standard Euclidean distance in
      the transformed space.
    + The Mahalanobis distance is thus unitless and scale-invariant, and
      takes into account the correlations of the data set.

# Map

Mapping, or map, referes to either a function, often with some sort of
special structure, or a morphism in category theory, which generalizes
the idea of a function.

# Normal Distribution

- In probability theory, the normal (or Gaussian or Gauss or
  Laplace-Gauss) distribution is a very common continuous probability
  distribution.
- Normal distribution is important in statistics and are often used in
  the natural and social sciences to represent real-valued random
  variables whose distributions are not known.
- The normal distribution is useful because of the central limit
  theorem.
    + It states that averages of samples of observations of random
      variables independently drawn from independent distributions
      converge in distribution to the normal, that is, become normally
      distributed when the number of observations is sufficiently large.
- The probability density of the normal distribution is: ...
    + muy is the mean or expectation of the distribution (also its
      median and mode)
    + sigma is the standard deviation
    + sigma square is the variance
- Standard normal distribution
    + muy = 0 and sigma = 1

# Number

an arithmetical value, expressed by a word, symbol, or figure,
representing a particular quantity and used in counting and making
calculations and for showing order in a series or for identification.

- Natural numbers: 1,2,3,4,5,6,...
- Whole numbers = natural numbers + zero = 0,1,2,3,4,5,6,...
- Integers: negative natural numbers + whole numbers = ...,-3,-2,-1,0,1,2,3,...
- Rational numbers: ratio of integers
- Irrational numbers: the ones can't be written as fractions
- Real numbers: Irrational + Rational
- Imaginary numbers (complex numbers)

# Random variable

- In probability and statistics, a random variable, random quantity,
  aleatory variable, or stochastic variable is a variable whose possible
  values are outcomes of a random phenomenon.
- A random variable's possible values might represent the possible
  outcomes of a yet-to-be-performed experiment, or the possible outcomes
  of a past experiment whose already-existing value is uncertain (for
  example, due to imprecise measurements or quantum uncertainty)
- A random variable has a probability distribution, which specifies the
  probability that its value falls in any given interval.
- Random variables can be
    + discrete, taking any of a specified finite or countable list of
      values, endowed with a `probability mass function` characteristic
      of the random variable's probability distribution
    + continuous, taking any numerical value in an interval or
      collection of intervals, via a `probability density function` that
      is characteristic of the random variable's probability
      distribution
    + or a mixture of both types
- The formal mathematical treatment of random variables is a topic in
  probability theory.
    + in that context, a random variable is understood as a function
      defined on a sample space whose outputs are numerical values

# Rate of change

Rate of change play a role whenever we study the relationship between
two changing quantities. Velocity is a familiar example (the rate of
change of position with respect to time)

## Average rate of change

The average rate of change of y=f(x) over an interval [x0,x1]:

Average rate of change = [f(x1) - f(x0)] / [x1 - x0]

> Average rate of change is the slope of the secant line through the
> points (x0,f(x0)) and (x1,f(x1)) on the graph of f(x)

## Instantaneous rate of change

Instantaneous rate of change is limit of the average rates of change.

> Instantaneous rate of change is the slope of the tangent line at x0.

# Scalar

Scalars are quantities that are fully described by a magnitude (or
numerical value) alone.

# Secant lines

The term secant line refers to a line through two points on a curve.

# Spectral radius

The spectral radius of a square matrix or a bounded linear operator is
the largest absolute value of its eigenvalues (i.e. supremum among the
absolute values of the elements in its spectrum).

# Standard Deviation

- In statistics, the standard deviation (SD, also represented by the
  Greek letter sigma or the Latin letter s) is a measure that is used to
  quantify the amount of variation or dispersion of a set of data
  values.
- A low standard deviation indicates that the data points tend to be
  close to the mean (also called the expected value) of the set, while a
  high standard deviation indicates that the data points are spread out
  over a wider range of values.
- The standard deviation of a data set is the square root of its
  variance (sigma square).
    + A useful property of the standard deviation is that, unlike the
      variance, it is expressed in the same units as the data.
- In addition to expressing the variability of a population, the
  standard deviation is commonly used to measure confidence in
  statistical conclusions.

# Probability Density Function

- The probability density function (PDF) is used to specify the
  probability of the random variable falling within a particular range
  of values, as opposed to taking on any one value.
- In probability theory, a probability density function (PDF), or
  density of a continuous random variable, is a function, whose value at
  any given sample (or point) in the sample space (the set of possible
  values taken by the random variable) can be interpreted as providing a
  `relative likelihood` that the value of the random variable would
  equal that sample.
- In other words, while the `absolute likelihood` for a continuous
  random variable to take on any particular value is 0 (since there are
  an infinite set of possible values to begin with), the value of the
  PDF at two different samples can be used to infer, in any particular
  draw of the random variable, how much more likely it is that the
  random variable would equal one sample compared to the other sample.

# Probability Distribution

- A probability distribution is a mathematical function that provides
  the probabilities of occurrence of different possible outcomes in an
  experiment.
- In more technical terms, the probability distribution is a description
  of a random phenomenon in terms of the probabilities of events.
- For instance, if the random variable X is used to denote the outcome
  of a coin toss (the experiment), then the probability distribution of
  X would take the value 0.5 for X=heads, and 0.5 for X=tails (assuming
  the coin is fair)

# Probability Mass Function (PMF)

- In probability and statistics, a probability mass function (PMF) is a
  function that gives the probability that a discrete random variable is
  exactly equal to some values.
- The PDF is often the primary means of defining a discrete probability
  distribution, and such functions exist for either scalar or
  multivariate random variables whose domain is discrete.
- The value of the random variable having the largest probability mass
  is called the mode.

# Tangent lines

You can think of a tangent line as a line that skims a curve at a point.

# Triangle inequality

In mathematics, the triangle inequality states that for any triangle,
the sum of the lengths of any two sides must be greater than or equal to
the length of the remaining side.

In Euclidean geometry and some other geometries, the triangle inequality
is a theorem about distances, and it is written using vectors and vector
lengths (**norms**):

`||x+y|| <= ||x|| + ||y||`

Absolute value: `|x+y| <= |x| + |y|`

# Trigonometric identities

Trigonometric identities are equalities that involve trigonometric
functions and are true for every single value of the occurring variables
where both sides of the equality are defined.

# Unit circle

A unit circle is a circle with a radius of one. In trigonometry, the
unit circle is the circle of radius one centered at the origin (0, 0) in
the Cartesian coordinate system in the Euclidean plane.

![

# Integral transform

- https://en.wikipedia.org/wiki/Integral_transform
    + Laplace transform
    + Fourier transform
# References

[infinitesimal]: https://en.wikipedia.org/wiki/Infinitesimal
[tensor]: https://en.wikipedia.org/wiki/Tensor
[manifold]: https://en.wikipedia.org/wiki/Manifold
[quaternion]: https://en.wikipedia.org/wiki/Quaternion
[algebra]: https://en.wikipedia.org/wiki/Algebra


text:
# [Groupatar](https://mangara.github.io/Groupatar/)

Easily and quickly generate pictures with a lot of gravatars.

# Contributing

PRs are always welcome!

# Development

- Install `npm`: https://www.npmjs.com/get-npm
- Install necessary packages: `npm install`
- Run the server: `npm start`
- Build dev version: `npm run build:dev`
- Build dev version whenever files change: `npm run watch`
- Build production version: `npm run build`

repository: Mangara/Groupatar

branch_name: refs/heads/master

extension: md

gha_language: TypeScript

license_type: permissive

repo_name: Mangara/Groupatar


text:
---
layout: post
title: NVM Library Study Notes
date: 2018-07-09 11:14:00 +0800
catalog: true
header-style: text
tags:
    - persistent memory
---

This post is mainly my understanding about [this article](http://pmem.io/2014/09/01/nvm-library-overview.html).

Prior knowledge:

- "In computer science, persistence refers to the characteristic of state that outlives the process that created it. "---Wikipedia
- "In computer science, persistent memory is any method or apparatus for efficiently storing data structures such that they can continue to be accessed using memory instructions or memory APIs even after the end of the process that created or last modified them."---Wikipedia
- Persistent memory is corresponding to volatile memory(only maintains its data while the device is powered).
- Memory-like access is the defining characteristic of persistent memory. It can be provided using microprocessor memory instructions, such as load and store.
- Persistent memory extends beyond non-volatility of stored bits. It is kind of a more abstract forms of computer storage, such as file systems.

The overall library architecture:

![img](/assets/images/libarch.jpg)

NVM library provides a pmem-aware malloc() function. Because the traditional malloc() and free() do not comprehend the idea of persistence. e.g. If a program allocates a blob of memory using malloc(), but dies before linking anything to it, that memory is a persistent memory leak and the pool is then inconsistent from that point on. With volatile memory, that's not an issue since it starts from nothing each time the program runs.

NVM library not only works on top of persistent memory, but also on any non-volatile memory.

extension: markdown

gha_language: CSS


text:
# Discord-Bot-Template 🤖

This is a sample code of discord bot :)

# Installation 🔨

Firstly For use the template you must have [NodeJS](https://nodejs.org/en/)

Secondly you must creat bot application on [Discord Developper Portal](https://discord.com/developers/applications)

And last you must complete ``config.js`` File:

```js
module.exports = {
    bot:{
        TOKEN:"",
        PREFIX:"!"
    },
    activity:{
        DATA: 'Bot template by Kyrokx( " ゴールド開発者 " )#7573 Github : https://github.com/Kyrokx',
        TYPE:"WATCHING",
    }
}
```

After changing the ``config.js`` will console you the ``npm install`` to install all the dependencies and then launch the bot with the ``node index.js`` command in your console.

# END() ⭐

- The projetc is under a [LICENSE](LICENSE)

- If you have a problem join the [discord server](https://discord.gg/kjRrdWHTPA)

### Please add me a star if you appreciate me project and to support me 🙏

#### Thanks

license: MIT

repository: Kyrokx/Discord-Bot-Template

branch_name: refs/heads/main

repo_name: Kyrokx/Discord-Bot-Template


text:
# Azure Container Registry

This template deploys Azure Container Registry.
Azure Container Registry is a PaaS offer for creating your own Docker image registry.

## Deployed Resources

The following resources are deployed as part of this code block.

+ **Azure Container Registry**: Docker Image Registry

repository: RKSelvi/vdc

gha_language: PowerShell

gha_license_id: MIT

repo_name: RKSelvi/vdc


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

### Description

PHP remote file inclusion vulnerability in index.php in Anthologia 0.5.2 allows remote attackers to execute arbitrary PHP code via a URL in the ads_file parameter.

### POC

#### Reference
- http://www.securityfocus.com/bid/23524
- https://www.exploit-db.com/exploits/3751

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

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
# keystore
### Development of a key-value database (includes client). Created for the Subject of Operating Systems.
##### Authors: Marcos Bjoerkelund (code and idea) and Adrian Marcelo Anillo (presentation)

### DESCRIPTION

We have used a server-client model in which the server is constantly running, so we can use dynamic memory allocation (e.g. via `malloc` or `calloc`).
The client does not write anything to memory, but reads the server's settings (this was done by demonstration, however we could have used macros (which we use in some forced cases for the client), which uses semaphores to read (the same as the server, to avoid any modification issue).

We have two different modes of usage:
- `set`: Creates the specified databases if non-existant, and stores the specified value inside them
- `get`: Searches the key in the specified databases, and returns the values found in each

### TECHNIQUES USED

- Linked lists: To store data dynamically and with the fewer limits possible.
- Signals: To stop the server when a `Ctrl-C` or `SIGINT` is sent to the process.
- Threads: for searching through multiple databases
- Shared memory: to store the server's settings
- Semaphores: for altering self-reserved memory for threading and shared memory (which stores the settings) operations
- Clocks: To measure the time a request took and the time the server has been running right before a shutdown.
- UNIX Sockets: To send a request-data between the server and the client. We are using bi-directional UNIX sockets (with `SOCK_STREAM`).

We could have used FIFO pipes but we opted by this, since it is something more modern and client-server specific.
We could also have used message queues instead, which can be seen as ideal but we want our client and server to be connected, and to know when one is not alive. Using sockets also allows us to send non-static data, e.g. strings with a dynamic length.

### INSTALLATION STEPS

First, clone this GIT repository in your local computer:
```
    $ cd ~
    $ git clone https://github.com/marcosbc/keystore.git
```

Next, compile! It is as easy as:
```
    $ make
```

If you want to install it into your system, just run the following command:
```
    $ sudo make install
```

If you decide to install it in your system, you can remove the repository.

### SERVER USAGE

To start your server, go into the folder in which the binaries are located and run:
```
    $ ./keystored
```

Your logs will be located at the `logs` directory inside `/var/log/keystore/`, where you will have `access.log` and `error.log`.

### CLIENT USAGE

First, get into the folder in which the binary files are installed.

To set a value in a database (no database creation step is needed), just run:
```
    $ ./keystore set KEY VALUE DB1[ DB2[ ...]]
```
E.g.:
```
    $ ./keystore set my_key my_value db1 db4 db5
```

To get a value from a database, run the following command:
```
    $ ./keystore get KEY DB1[ DB2[ ...]]
```
E.g:
```
    $ keystore get my_key db1 db2 db3 db4 db5
    db1: my_key=my_value
    db2: my_key=
    db3: my_key=
    db4: my_key=my_value
    db5: my_key=my_value
```

Please notice that even if the value doesn't exist, you will get a return value. However, no databases will get created.

To stop your server, just run:
```
    $ ./keystore stop
```

### TROUBLESHOOTING

If you killed your server with `SIGKILL` or the program encountered any error that did this, you might encounter problems with semaphores and/or shared memory that is already existing.

To check if you have anything left open:
```
    $ ipcs
```

To terminate a semaphore:
```
    $ ipcrm -s SEMAPHORE_ID
```

To terminate shared memory:
```
    $ ipcrm -m SHARED_MEMORY_ID
```

### MORE INFO

You may find interesting links in our [Github Wiki](https://github.com/marcosbc/keystore/wiki).

repository: marcosbc/keystore

gha_language: C

repo_name: marcosbc/keystore


text:
# Shopify Code Snippets
Shopify code examples and tips.

Often these snippets of code relate to a post on the [freakdesign](http://freakdesign.com.au) blog.

repository: maazRepo/shopify-code-snippets

repo_name: maazRepo/shopify-code-snippets


text:
# p5.rec 🍿

Library for **easy recording of [p5.js](https://p5js.org) sketches** and **in-browser conversion to MP4**.

P5.rec hooks into the p5.js draw loop to produce buttery-smooth results 🧈🎉 to upload to Youtube, Instagram, Twitter, etc.

**Unfortunately, **p5.rec** doesn't work on Firefox at the moment :( (see [this issue](https://github.com/dominikus/p5.rec/issues/2))**

**Check out the demo:**

👉🏽
[**Demo on p5js**](https://editor.p5js.org/dominikus/sketches/jFmtnsKSe)
 👈🏽

# How it works

If you've ever recorded your p5.js sketches with a screen recording tool like quickTime, you might have run into the problem of jerky recordings. If your sketch is too complex, rendering performance drops and frames are missing, since your screen recording tool doesn't know about what it's recording.

p5.rec solves this problem similar to [CCapture](https://github.com/spite/ccapture.js/). It hooks into the p5.js draw() loop. Once the drawing of a single frame is complete, that frame is stored and the next one is rendered. Usually this looks a bit broken in the browser, but the resulting video is guaranteed to contain every single frame in perfect quality.

# Getting started

Import p5.rec from npm to your ```index.html``` *after* importing p5.js:
```html
  <head>
  ...
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.js"></script>
  <script type="module" src="https://unpkg.com/p5.rec"></script>
  ...
```

Launch with ```startRecording(options)``` (global mode):
```javascript
  startRecording();
```

and stop your recording with
```javascript
  stopRecording();
```

# API

**startRecording( options ):**
Starts the recording. Don't worry if the p5.js frame starts to look choppy, that's just so that p5.rec can do it's magic 🧙🏼♀. *Options* is optional (just like each of its attributes) and gives you more control over the result:
```javascript
  startRecording({
    preset: "slow",
      // H264 preset. One of [ "ultrafast",
      //                       "superfast",
      //                       "veryfast",
      //                       "faster",
      //                       "fast",
      //                       "medium",
      //                       "slow",
      //                       "slower",
      //                       "veryslow"]
      // See https://trac.ffmpeg.org/wiki/Encode/H.264
    crf: 18,
      // crf (Constant Rate Factor) defines video quality and
      // goes from 0 (maximum quality/size) to 51 (worst quality possible)
      // See https://trac.ffmpeg.org/wiki/Encode/H.264#crf
    onProgress: (progress) => console.log(progress),
      // callback for the encoding progress. *progress* is a float from 0 to 1.
    onFinish: (videoBuffer) => {},
      // callback for the resulting Uint8array. By default, p5.rec shows an overlay for checking and downloading the result.
  });
```

**stopRecording():**
Stops the recording and starts the transcoding. When starting transcoding, p5.rec has to download **@ffmpeg/core** (around 25MB) which takes a while. Once you see 'starting transcoding' on the console the actual transcoding (and callbacks to `onProgress`) starts.

When no specific callback is provided for ```onFinish``` p5.rec opens an overlay with the result. In Chrome, you can use the 'Download' feature (bottom right) to download the result:

![How to download from the overlay](overlay.jpg)

# Limitations

p5.rec at the moment only supports [p5's global mode](https://github.com/processing/p5.js/wiki/Global-and-instance-mode). I'm working on getting it running in instance mode as well ([See this issue](https://github.com/dominikus/p5.rec/issues/1)).

Also in general, p5.rec unfortunately takes a while to do its job. So just be patient :)
![](http://cdn.lowgif.com/full/87e2ecff8fa3a329-computer-dog-gifs-find-share-on-giphy.gif)

# Examples

Check out the examples from ```/examples``` for ways to use p5.rec locally.

# Alternatives
You might also want to use:
* [CCapture](https://github.com/spite/ccapture.js/) hooks into `requestAnimationFrame` to arrive at a similarly smooth result and let's you export webm and gif among others.
* [p5js-gif-recoder](https://github.com/datramt/p5js-gif-recorder) uses CCapture to export gifs directly from p5.
* [p5.createLoop](https://github.com/mrchantey/p5.createLoop) creates loops and exports them as gifs from p5.

# Relies on
p5.rec is using [@ffmpeg/ffmpeg](https://www.npmjs.com/package/@ffmpeg/ffmpeg) for doing the transcoding.


text:
## MongoDB Population Research Discussion
Jacob Smith, Hunter Jordan, Josh Araujo, Peter Rockwood

We are tasked with creating a script that:
-  Grabs a pdf from Box
-  Extract pdf text via Tesseract OCR
-  Packages it into a dictionary along with any additional key/value pairs we may need in the future.
- Pushes it to a MongoDB Table.

### Grabing a pdf
- We now have a method in the box_wrapper class that makes this simple:
- `byte_str = BoxWrapper().download_file(file_id)`

### OCR text extraction
- We now have a method from the DocProcessor class in ocr.py that makes this simple:
- `text = DocProcessor().get_text(byte_str, dpi=200)`

### Creating a mongoDB bound dict:
At minimum we need:
- A link to the pdf in Box. This can be obtained via `BoxWrapper().get_file_info(file_id)['url']`
- The text output from Tessaract: `text` in this case.

Our current best guess at what will need to be included looks like this:
```
info = BoxWrapper().get_file_info(file_id)
file_dict = {
	'url' : info['url']
	'text': text,
	'file_path': info['path'],
	'tags': tags, #from spaCy NER perhaps?
	'metadata': metadata
}
```

### Pushing dict to MongoDB table
- Again, this is simple using the provided Data.insert() method from  data.py
- `Data().insert(file_dict)`

We have the ability to do bulk inserts of dicts by passing a list of dicts into the method above. That may be preferred in an offline process.

Notes:
- Josh came to the discussion with fully formed code in hand that implements everything above. We are working on adapting his code to recent changes in the DS repo and should have a working code to push soon!
- We need some clarity on whether the MongoDB populating will be run on or offline, this will impact how we approach crawling through the Box repository.
- We will want to have a team wide discussion down the road about what should go in each Mongo record.

repository: nora-exe/human-rights-first-docdb-ds

repo_name: nora-exe/human-rights-first-docdb-ds


text:
---
name: 'Feature'
about: 'Suggest a new feature in go-libp2p.'
labels: feature
---

<!--
Note: If you'd like to suggest an idea related to libp2p but not specifically related to the Go implementation, please file an issue at https://github.com/libp2p/specs instead. Even better, create a new topic on the forums (https://discuss.libp2p.io).

When requesting a _feature_, please be sure to include:
  * Your motivation. Why do you need the feature?
  * How the feature should work.

Please try to be as specific and concrete as possible.
-->

gha_language: Go


text:
# Random RPG Thing

[![Netlify Status](https://api.netlify.com/api/v1/badges/66874dff-80b5-4233-b459-80c17f143cbf/deploy-status)](https://app.netlify.com/sites/random-rpg-thing/deploys)

Small app to return a random RPG thing.

![](demo.gif)

repository: Mottokrosh/random-rpg-thing

repo_name: Mottokrosh/random-rpg-thing


text:
## Akavache: An Asynchronous Key-Value Store for Native Applications

Akavache is an *asynchronous*, *persistent* key-value cache created
for writing native desktop and mobile applications in C#. Think of it like
memcached for desktop apps.

## What does that mean?

Downloading and caching remote data from the internet while still keeping the
UI responsive is a task that nearly every modern native application needs to
do. However, many applications that don't take the consideration of caching
into the design from the start often end up with inconsistent, duplicated code
for caching different types of objects.

[Akavache](github.com/github/akavache) is a library that makes common app
patterns easy, and unifies caching of different object types (i.e. HTTP
responses vs. JSON objects vs. images).

It's built on a core key-value byte array store (conceptually similar to a
`Dictionary<string, byte[]>`), and on top of that store, extensions are
added to support:

- Arbitrary objects via JSON
- HTTP Requests
- Fetching and loading Images
- Securely storing User Credentials

## An example - consider Twitter for Mac

![](http://f.cl.ly/items/2N2F2n3X2y3n1g3o3e1e/Image%202012.04.27%204:37:37%20PM.png)

When you open Twitter for Mac, you immediately see content, even before the
application finishes talking to Twitter. This content is cached, but the
pattern of when to refresh the data might be different. For the tweets
themselves, the logic might be something like, *"Load the cached data, but
**always** fetch the latest data"*.

However, for the avatar images, you might have logic like, *"Always load the
cached image, but if the avatar is older than six hours, refresh the image."*

In Akavache, the former might be:

```cs
var tweets = await BlobCache.UserAccount.GetAndFetchLatest("tweets", DownloadSomeTweets());
```

And the latter might be something like:

```cs
var image = await BlobCache.LocalMachine.GetAndFetchLatest(tweet.AvatarUrl,
    DownloadUrl(tweet.AvatarUrl),
    createdAt => DateTimeOffset.Now - createdAt > TimeSpan.FromHours(6));
```

## No (Thread.)Sleep 'till Brooklyn

Akavache is non-blocking, via a library called the [Reactive
Extensions](http://msdn.microsoft.com/en-us/data/gg577609) - any operation
that could delay the UI returns an *Observable*, which represents a future
result.

Akavache also solves several difficult concurrency problems that simplify UI
programming. For example, in the image above, a naive cache implementation
could end up loading the GitHub avatar icon multiple times if the requests
were issued at the same time (which is easy to do if you try to load the
avatar for each tweet). Akavache ensures that exactly *one* network request is
issued.


text:
### [Minimum Index Sum of Two Lists](https://leetcode.com/problems/minimum-index-sum-of-two-lists)

Given two arrays of strings list1 and list2, find the common strings with the least index sum.

A common string is a string that appeared in both list1 and list2.

A common string with the least index sum is a common string such that if it appeared at list1[i] and list2[j] then i + j should be the minimum value among all the other common strings.

Return all the common strings with the least index sum. Return the answer in any order.

Example 1:

Input: list1 = ["Shogun","Tapioca Express","Burger King","KFC"], list2 = ["Piatti","The Grill at Torrey Pines","Hungry Hunter Steakhouse","Shogun"]
Output: ["Shogun"]
Explanation: The only common string is "Shogun".

Example 2:

Input: list1 = ["Shogun","Tapioca Express","Burger King","KFC"], list2 = ["KFC","Shogun","Burger King"]
Output: ["Shogun"]
Explanation: The common string with the least index sum is "Shogun" with index sum = (0 + 1) = 1.

Example 3:

Input: list1 = ["happy","sad","good"], list2 = ["sad","happy","good"]
Output: ["sad","happy"]
Explanation: There are three common strings:
"happy" with index sum = (0 + 1) = 1.
"sad" with index sum = (1 + 0) = 1.
"good" with index sum = (2 + 2) = 4.
The strings with the least index sum are "sad" and "happy".

Constraints:

1 <= list1.length, list2.length <= 1000

1 <= list1[i].length, list2[i].length <= 30

list1[i] and list2[i] consist of spaces ' ' and English letters.

All the strings of list1 are unique.

All the strings of list2 are unique.

url: https://raw.githubusercontent.com/6leetcode/6leetcode/0c0973c634c881bd874bad5a0526b91a2d83f1a0/questions/Algorithms/0599. Minimum Index Sum of Two Lists/README.md


text:
---
layout: default
---

# 1996-07-25 - Benchin' Registration

## Header Data

From<EMAIL_ADDRESS>(Benchmaster)

To<EMAIL_ADDRESS>(Random Nerd)

Message Hash: a676e194b5b790ba6e276d59de4ecee695612965eb27f1a52ec05cda4487a466

Message ID: \<19960725164130921.AAA160@www\>

Reply To: _N/A_

UTC Datetime: 1996-07-25 21:01:01 UTC

Raw Date: Fri, 26 Jul 1996 05:01:01 +0800

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Benchmaster)
Date: Fri, 26 Jul 1996 05:01:01 +0800
To<EMAIL_ADDRESS>(Random Nerd)
Subject: Benchin' Registration
Message-ID: <19960725164130921.AAA160@www>
MIME-Version: 1.0
Content-Type: text/plain

Hi Random!

Thank you for registering as a Benchin' member! You have the privilege
of reviewing software, participating in discussion groups, and winning
prizes!

Take this opportunity to help your fellow software seekers by reviewing
your share of software products. Do 25 and get your beanie!

At any Benchin' log-in screen type:
    User Name: rjnerd
    Password:  43095

You may want to change your password to one which is easier to remember.
Click on the "Members" menu item, then the "Log-In" link, and enter
your log-in. Then click the "Change Password" link.

And if you ever forget it, we can e-mail it to you! (Just click the
"Members" menu item and then "You forgot Your Log-In?")

Thank You!

 - The Benchin' Team
   (Have you earned your beanie yet?)

   Benchin' Software Review - http://www.benchin.com/

{% endraw %}
```

## Thread

+ Return to [July 1996](/archive/1996/07)

+ Return to<EMAIL_ADDRESS>(Benchmaster)](/authors/benchmaster_at_benchin_com_benchmaster_)"

+ 1996-07-25 (Fri, 26 Jul 1996 05:01:01 +0800) - Benchin' Registration -<EMAIL_ADDRESS>(Benchmaster)_


text:
---
title: "Friday Hacks #204, August 13: Welcome Tea and Building things in public"
date: 2021-08-03 16:00:00.000000
author: Hao Wei
url: /2021/08/friday-hacks-204
aliases:
- /welcometea2021
---

In the jargon of the computer programmer, a hacker is someone who strives to solve problems in elegant and ingenious ways.

**Date/Time:** Friday, August 13 at 7:00pm

**Venue:** Online on Zoom

**Zoom Link:** https://nus-sg.zoom.us/j/83651946480?pwd=dG84TWFOQUltWjE4bUlWaWF1bEcvdz09

### Welcome Tea

#### Talk Description:

Welcome back to Friday Hacks!

We will be sharing about what we do and the importance of fostering hacker culture in NUS. We will also give an overview of the events that we have lined up for the upcoming academic year and how you can get involved in helping us spread the joy of hacking!

All freshmen and current students from all faculties, as well as anyone else who is interested, are all welcome to attend!

See you there!

### Building things in public

#### Talk Description:

In this talk, I will share some of my experiences building things in public, and talk about why you should do it and what you should look out for. This talk is centered around Org-roam, a plain-text knowledge management system built on Emacs and Org-mode.

#### Speaker Profile:

Jethro is an ex-coreteam member of NUS Hackers, and currently a machine learning engineer at ByteDance. When he is not writing code, he enjoys playing the guitar and video games.

repository: nushackers/nushackers-site

repo_name: nushackers/nushackers-site


text:
## Avgolemono

4 servings = 20 minutes / 20 minutes

* 4 cups chicken broth
* 1/4 cup uncooked orzo (alternatively, rice or pastina)
* salt and pepper
* 3 eggs
* 3 tbsp lemon juice
* shredded chicken (optional)

1.
2. Add orzo, rice, or pastina and cook until tender but al dente.
3. Season with salt and pepper and reduce to simmer.
4. In a medium bowl, whisk together eggs and lemon juice until smooth.
5. Ladle about 1 cup of the hot broth into egg and lemon mixture, whisking to combine.
6. Add midxture to simmering saucepan.
7. Stir just until soup becomes opaque and thickens, 1-2 minutes.
8. Add salt and pepper to taste, and serve.

Adapted from Time for Dinner by Pilar Guzmán, Jenny Rosenstrach, and Alanna Stang

repository: geemus/recipes

repo_name: geemus/recipes


text:
This tool works by using dnstwists permutation engine to generating a large list of permutations based on a domain name you provide, and then checking if any of those permutations are in use. Additionally, it generates screenshots of the original domain, and the discovered web pages, and compares them using computer vision to see if they are part of an ongoing phishing attack or brand impersonation, and much more!

# To-Do:
- [x] Add compatibility instructions for Apple Silicon
- [ ] Add support for YOLO image processing for specific site artifact discovery (IE company logos, webforms, etc)
- [ ] Add [darknet](https://github.com/pjreddie/darknet) neural network support for increasing speed of comparisons and detections and allow custom training

# Usage

![DNSRazzle_usage](/docs/usage.png)

DNSRazzle supports single domain names, a comma seperated list of domain names, with the -d option, or a file containing a list of domain names, 1 per line with the -f option.

## Required arguments

    -d DOMAIN, --domain DOMAIN   | Target domain or domain list.

                                            OR

    -f FILE, --file FILE         | Provide a file containing a list of domains to run DNSrazzle on.

## Optional arguments

    -h, --help                                        | Show help message and exit

    -D FILE, --dictionary FILE                        | Path to dictionary file to pass to DNSTwist to aid in domain permutation generation.

    -g, --generate                                    | Do a dry run of DNSRazzle and just output permutated domain names

    -n, --nmap                                        | Perform nmap scan on discovered domains

    -o OUT_DIR, --out-directory OUT_DIR               | Absolute path of directory to output reports to. Will be created if doesn't exist

    -r, --recon                                       | Create dnsrecon report on discovered domains.

    -t THREADS, --threads THREADS                     | Number of threads to use in permutation checks, reverse lookups, forward lookups, brute force and SRV record enumeration.

    --tld FILE                                        | Path to TLD dictionary file.

    -u STRING, --useragent STRING                     | User-Agent STRING to send with HTTP requests (default: Mozilla/5.0 dnsrazzle/0.1.0)

    --debug                                           | Print debug messages

## Known Compatibility Issues
**Because of missing python dependencies on Apple Silicon, to get this working on an m1 Mac, you will need to do the following**
 * `brew install miniforge`  - install miniforge through homebrew
 * `brew install cmake` - install cmake through homebrew
 * `conda create --name py38 python=3.8` - use conda to create a python3.8 virtualenv
 * `conda activate -n py38` - activate the conda venv
 * `conda install numpy scikit-image` - install numpy and scikit-image through conda (NOTE: you can also get numpy directly from Apples github in their [tensorflow repo](https://github.com/apple/tensorflow_macos)
 * Compile openCV (cv2) from source, and symlink it into the conda venv site-packages directory.
   * A good guide for this has been written by [Sayak Paul](https://github.com/sayakpaul), and is available from his blog [here](https://sayak.dev/install-opencv-m1/)
   * The path to the site-packages folder is different than referenced above for a homebrew miniforge install.  The correct path is `/opt/homebrew/Caskroom/miniforge/base/envs/py38/lib/python3.8/site-packages` assuming you named your conda venv "py38"
 * `pip3 install -r requirements.txt` -  Install the rest of the dependencies with pip

repository: ActorExpose/DNSrazzle

repo_name: ActorExpose/DNSrazzle


text:
## 4.0.1 - 2022-03-07
* Update to commonmarker 0.18.3; There isn't a version on RubyGems for this, so this is pointing to a [tag version on GitHub](https://github.com/gjtorikian/commonmarker/blob/v0.18.3/commonmarker.gemspec)

## 4.0.0 - 2021-03-31

* Drop support for Python 2 in RST rendering [#1456](https://github.com/github/markup/pull/1456)

## 3.0.5 - 2020-11-12

* Add commonmarker_exts to commonmarker options [#1268](https://github.com/github/markup/pull/1268)
* Check whether filename is set when rendering Asciidoc. [#1290](https://github.com/github/markup/pull/1290)

## 3.0.4 - 2019-04-03

* Expose options in #render_s [#1249](https://github.com/github/markup/pull/1249)
* Upgrade to Asciidoctor 2.0.x [#1264](https://github.com/github/markup/pull/1264)

## 3.0.3 - 2018-12-17

* Temporarily remove support for POD6 [#1248](https://github.com/github/markup/pull/1248)

## 3.0.2 - 2018-12-12

* Add support for POD6 [#1173](https://github.com/github/markup/pull/1173)

## 3.0.1 - 2018-10-19

* Remove linguist-detected RMarkdown files from the Markdown renderer [#1237](https://github.com/github/markup/pull/1237)

## 3.0.0 - 2018-10-18

* Allow passing options through to CommonMarker [#1236](https://github.com/github/markup/pull/1236)
* Symlink option is now a keyword arg [#1236](https://github.com/github/markup/pull/1236)

## 2.0.2 - 2018-10-15

* Don't render rmd files as Markdown [#1235](https://github.com/github/markup/pull/1235)

## 2.0.1 - 2018-06-29

* Create anchor for every =item directive in POD files [#1165](https://github.com/github/markup/pull/1165)

## 2.0.0 - 2018-01-31

* Remove filesystem access [#1157](https://github.com/github/markup/pull/1157)

## 1.7.0 - 2018-01-30

### Changed

* Updates for Linguist v6 [#1139](https://github.com/github/markup/pull/1139)
* Update to Nokogiri ~> 1.8; drop support for Ruby 2.0 [#1156](https://github.com/github/markup/pull/1156)

## 1.6.2 - 2017-11-27

### Changed

* Only report basename in usage [#1131](https://github.com/github/markup/pull/1131)
* rest2html parameter signature fix [#1082](https://github.com/github/markup/pull/1082)

## 1.6.1 - 2017-07-25

### Changed

* Added support for highlight directive in rST [#925](https://github.com/github/markup/pull/925)
* Fixes to documentation and code style [#1009](https://github.com/github/markup/pull/1009) [#1071](https://github.com/github/markup/pull/1071) [#1087](https://github.com/github/markup/pull/1087)
* Test against newer Ruby versions [#1086](https://github.com/github/markup/pull/1086)
* Upgrade to Asciidoctor <IP_ADDRESS> [#1088](https://github.com/github/markup/pull/1088)

## 1.6.0 - 2017-04-03

### Changed

* Added filename argument to all renderers for additional context
* Removed superfluous `rinku` dependency [#1035](https://github.com/github/markup/pull/1035)
* Enable source-to-source navigation for `.adoc` AsciiDoc files, plus additional attributes passed through [#1039](https://github.com/github/markup/pull/1039) and [#1041](https://github.com/github/markup/pull/1041)

## 1.5.0 - 2017-03-27

### Added

* Re-introduce [#537](https://github.com/github/markup/pull/537) to detect language of markup document
  However `github-linguist` is optional and this gem will fallback to extensions for detection.

[Full changelog](https://github.com/github/markup/compare/v1.4.9...v1.5.0)

## 1.4.9 - 2017-03-27

### Changed

* Reverted [#537](https://github.com/github/markup/pull/537) to avoid extra dependencies

[Full changelog](https://github.com/github/markup/compare/v1.4.8...v1.4.9)

## 1.3.3 (2015-02-17)

* Address a slight typo with `POSIX` [#456](https://github.com/github/markup/pull/456)

[Full changelog](https://github.com/github/markup/compare/v1.3.2...v1.3.3)

## 1.3.2 (2015-02-17)

* RST: Output code instead of tt for inline literals [#370](https://github.com/github/markup/pull/370)
* RST: Add IDs to headers so that `.. contents` works with `.. sectnum` [#391](https://github.com/github/markup/pull/391)

[Full changelog](https://github.com/github/markup/compare/v1.3.1...v1.3.2)

## 1.3.1 (2014-11-13)

* Fix name error when trying to use newer versions of RedCarpet [#387](https://github.com/github/markup/pull/387)

[Full changelog](https://github.com/github/markup/compare/v1.3.0...v1.3.1)

## 1.3.0 (2014-09-11)

* Extend the field limit for tables to 50 characters for RST [#306](https://github.com/github/markup/pull/306)
* Add `.mkdn` as a supported markdown extension [#308](https://github.com/github/markup/pull/308)
* Upgrade wikicloth to 0.8.1 [#317](https://github.com/github/markup/pull/317)
* Force encoding of posix-spawn output [#338](https://github.com/github/markup/pull/338)
* Add `.rmd` as a supported markdown extension [#343](https://github.com/github/markup/pull/343)

[Full changelog](https://github.com/github/markup/compare/v1.2.1...v1.3.0)

## 1.2.1 (2014-04-23)

* Disable RST warnings [#290](https://github.com/github/markup/pull/290)

[Full changelog](https://github.com/github/markup/compare/v1.2.0...v1.2.1)

## 1.1.1 (2014-04-03)

* Upgrade to org-ruby 0.9.1
* Set default encoding to UTF-8 for Python 2

## 1.1.0 (2014-03-10)

* Raise GitHub::Markup::CommandError if external command exits with a non-zero status.
* Remove support for literate Haskell (see #266)

## 0.5.1 (2010-09-30)

* Support relative path links in rdoc

## 0.5.0 (2010-07-07)

* Added creole support

## 0.4.0 (2010-04-23)

* Removed man page support until it's ready.

## 0.3.3 (2010-03-29)

* UTF-8 works with ReST now.

## 0.3.2 (2010-03-25)

* Improved test runner
* Forgive ReST problems that aren't user errors.

## 0.3.1 (2010-03-22)

* Add .rst.txt extension
* Fix ASCII encoding error while using print u'\u010c' non-ASCII char and similar.

## 0.3.0 (2010-03-11)

* man rendering
* `github-markup` command line runner

## 0.2.2 (2010-02-09)

* pod fixes from Ricardo Signes

## 0.2.1 (2010-01-25)

* ReST fixes from Michael Jones

## 0.2.0 (2010-01-10)

* org-mode support

## 0.1.7 (2009-11-17)

* Ditch asciidoc2html, call asciidoc directly

## 0.1.6 (2009-11-17)

* mdown

## 0.1.5 (2009-11-17)

* Actually, if we can't render a thing then don't. Not once, not never.

## 0.1.4 (2009-11-17)

* Bugfix: Missing commands return the input (instead of nothing)

## 0.1.3 (2009-11-02)

* Strip the INDEX comments from POD

## 0.1.2 (2009-11-02)

* Renamed to `github-markup`
* Bugfix: POD rendering works now, not just index

## 0.1.1 (2009-11-02)

* Added `GitHub::Markup.can_render?` helper.
* Bugfix: Actually check file extensions

## 0.1.0 (2009-11-02)

* First release

repository: github/markup

gha_language: Ruby

repo_name: github/markup


text:
Funky Math library
==================

This is a math library written in Dart with the goal of having a simple syntax for doing math in Dart and amassing a large collection of math functions and constructs.

Example usage:

1. Using defined functions
    1. Square a number

            var x = 5;
            print(power(2)(x)); // 25

    2. Raise a number to an arbitrary power

            var x = 3;
            var myexponent = 4;
            print(power(myexponent)(x)); // 81

    3. Define a square function and use it

            var square = power(2);
            print(square(3)); //9

    4. Define an exponentiation function (e.g. 2^x)

            var doublingexp = raise(2);
            print(doublingexp(10)); //1024

2. Using derivatives (note: derivatives are given as approximations)
    1. Define a function as a derivative of another function

            var square = power(2);
            var doubling = square.derivative;
            print(doubling(4));   //8.000000000001783

    2. Chain derivatives to get higher order derivatives

            var square = power(2);
            var two = square.derivative.derivative;
            print(two(4)); // 2.0000000020559128

3. Finding the area under a curve
    1. Calculate the area under f(x) = x^2 from x = 1 to x = 4

            var square = power(2);
            print(square.area(1,4)); // 21.00850049999708

4. Defining your own functions
    1. Using functions (i.e. curly braces)

            var square = new MathFunction((num x){
                return x*x;
            });

            print(square(3)); //9

    2. Using lambda expressions

            var cube = new MathFunction((num x) => x*x);

            print(cube(2)); //8


text:
# Assessing Product Recommendation

The dataset consists of Women’s fashion online shop reviews, consisting of a title, a review text, and whether the review author would recommend the product. The goal is to determine whether a reviewer will recommend a product or not based on review title and review. Such a classifier can help find out what is good or bad about certain products or to highlight more relevant reviews (like a very critical and a very positive one) about certain products.

The code walks through five stages:

1. Data Loading and Pre-Processing
2. Basic Model Building and Evaluation (w & w/o GridSearchCV)
3. Feature Tuning using `Tfidf` Vectorizer & `Normalizer`+`CountVectorizer`
4. Using `n-grams` (word and character)
5. Evaluating Regularization Penalty


text:
# Narik AspNetCore Demo

Demo for [Narik-AspNetCore](https://github.com/NarikMe/Narik-AspNetCore)

## Running the demo

Just Clone and Build

To create the sample DB, you can use "**DB\demodb-script.sql**"

You can view a demo client application in [narik-material-demo](https://github.com/NarikMe/narik-material-demo)

repository: NarikMe/narik-asp-core-api-demo

repo_name: NarikMe/narik-asp-core-api-demo


text:
# Spawner

The "spawner" was the original method for instantiating contract code within
the chain's swingset. This on-chain usage has been entirely superseded by
Zoe, and the chain swingset no longer includes a spawner.

However, it was also pressed into service in the ag-solo swingset for
executing deploy scripts that need to leave code running after the script
finishes, such as an HTTP API handler. This use case is still active, but
none of the callers need the zoe-like features (comparable contract identity,
source retrieval, issuers, invitations, or seats). These callers now do
something like:

```js
  const bundlePath = new URL('src/wallet.js', import.meta.url).pathname;
  const bundle = await bundleSource(bundlePath);
  const walletInstall = E(spawner).install(bundle);
  const walletVat = await E(walletInstall).spawn(args);
```

So the spawner is now a stripped-down dynamic-vat creation frontend with the
minimal code necessary to satisfy those callers.

The spawner expects to be running in a vat. It used to evaluate the submitted
code in its own vat, under "within-vat" metering to protect itself from
runaway guest code. It has been rewritten to evaluate the guest in a new
dynamic vat instead.

To support a spawner, your swingset must provide it with the `vatAdmin` facet
(to create new vats), and a copy of the `vat-spawned.js` bundle (to install
in the new vat). Your `vat-spawner.js` should look like:

```js
import { Far } from '@endo/marshal';
import { makeSpawner } from '@agoric/spawner';
function buildRootObject() {
  return Far('root', {
    buildSpawner(vatAdminSvc) {
      return makeSpawner(vatAdminSvc);
    }
  });
}
harden(buildRootObject);
export { buildRootObject };
```

And your bootstrap function needs something like this:

```js
return Far('root', {
  async bootstrap(vats, devices) {
    const vatAdminSvc = await E(vats.vatAdmin).createVatAdminService(
      devices.vatAdmin,
    );
    const spawner = await E(vats.spawner).buildSpawner(vatAdminSvc);
    // ...
```

repository: Agoric/agoric-sdk

gha_language: JavaScript

repo_name: Agoric/agoric-sdk


text:
httpfs
======

httpfs is a HTTP server that translate requests into basic UNIX files and directories
operations, using native Go system calls.

HTTP->Unix Mappings
-------------------

| HTTP Request                   | UNIX operation                   |
| ------------------------------ | -------------------------------- |
|  GET /$FILE_PATH               | `cat $HOME/$FILE_PATH`           |
|  GET /$DIR_PATH                | `ls $HOME/DIR_PATH`              |
|  POST /$SOME_PATH type=file    | `touch $HOME/SOME_PATH`          |
|  POST /$SOME_PATH type=dir     | `mkdir -p $HOME/SOME_PATH`       |
|  PUT /$FILE_PATH content=text  | `echo "text" >> $HOME/FILE_PATH` |
|  DELETE /$FILE_PATH            | `rm $HOME/$FILE_PATH`            |
|  DELETE /$DIR_PATH             | `rm -rf $HOME/DIR_PATH`          |

Install
-------

```
go get -u github.com/oscillatingworks/httpfs
httpfs
```

LICENSE
-------

MIT

repository: oscillatingworks/httpfs

repo_name: oscillatingworks/httpfs


text:
[![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units)

# Introduction

go-units is a library to transform human friendly measurements into machine friendly values.

## Usage

See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation.

## Copyright and license

Copyright © 2015 Docker, Inc.

go-units is licensed under the Apache License, Version 2.0.
See [LICENSE](LICENSE) for the full text of the license.

repository: kubernetes/kubernetes

repo_name: kubernetes/kubernetes


text:
---
title: May 2019
date: 2019/06/16 17:48
metadata:
    description: 'coreBOS work during May 2019.'
    keywords: 'CRM, vtiger, opensource, corebos'
    author: 'Joe Bordes'
header_image_file: May.png
header_image_height: 120
header_image_width: 288
taxonomy:
    category: blog
    tag: [development, 2019, functionality]
---

This month finds the whole team very busy on other projects so it turns out to be a slow month. Even so, coreBOS gets a set of fixes and enhancements while it proves to be more and more powerful as that backbone that permits us to implement stable and useful solutions for the companies using it.

===

 ! Features/Implementor

 - directly merge EMail template if only sending to one email
 - always merge email templates using workflow syntax and with related Account and Company module if the user has permission on those modules
 - migrate **mass tag** functionality from coreBOSCRM
 - add **add_workdays** Workflow method
 - send **FAQ** by email template and action
![Send FAQ by Email](May2019FaqEmail.png)

 - add autocomplete to List View column search fields
![List View column search autocomplete](May2019Autocomplete.png)

 ! Developer

 - add **PRESAVE** Business Actions support so we can now create actions that will be launched before saving and permit us to interact with the user and even stop the save if necessary
 - **pdfUtil:** add FPDF and FPDIProtection libraries for easier PDF manipulation
 - **pdfUtil:** implement PDFProtect, PDFFlateDecode2File, PDFDecrypt2File (using qpdf) and PDFIdentifyByNIF methods
 - Field Dependencies now correctly fill in RTE fields
 - Field Dependencies correctly merge individual field entries for picklist dependency so they don't get overwritten by the settings in the map: in other words, you can now combine dependencies defined in Settings with dependencies defined in the business map
 - we take another step towards implement **Filter Management module** by adding a field, a workflow and returning all possible views by module
 - permit sending **templatename** to load via URL when loading EMails window
 - add helper function **sendmailtemplate** to use the functionality load template functionality when opening email window
 - execute javascript code on List View filter change
 - return web service query language conditions for filters in GetViewsByModule web service method
 - return all picklist values accessible to the user including subordinate roles in Webservice Describe
 - permit creating records right after installing to avoid errors in changesets
 - QueryGenerator: eliminate duplicate columns in the query
 - force email sending on FAQ module
 - change TagCloud visibility function to return real boolean

 ! coreBOS Standard Code Formatting, Security, Optimizations and Clean Up

 - application: Quotes, EditView, Picklist, Reports, Users
 - eliminate duplicate line and warning
 - eliminate warnings on Inventory autocomplete search
 - delete unused templates
 - eliminate warning and temporary variable in favor of using direct value
 - formatting and PHP 7.3 continue/switch error
 - delete unused URL parameters in DetailView
 - eliminate redundant include in ExecuteFunctions
 - eliminate obsolete spinner code in Header
 - eliminate unused and inexistent modules from install
 - correct function comments in Picklist retrieve values function
 - eliminate unused code inherited from vtiger crm in Webservice list types
 - correctly detect PHP syntax errors in **continuous integration** command

 ! Others
 - Decision Table fixes and enhancements
 - make Emails window bigger
 - change default icon to ENTITY and add icons for Utilities, RecycleBin, Rss, Sites
 - add a warning about dependencies when adding, editing, and deleting picklist values
 - set new recurring invoice to AutoCreated status if no status is given
 - eliminate the usage of **TabData** cache file
 - set displaytype 3 fields that are not sent on edit in Account, Contact, Potential, and HelpDesk
 - get activate state from settings, not file which is not used anymore to register filter status change
 - avoid double slash in the backup file name
 - add profile fields of Company in install DB
 - update install database with latest changesets
 - respect field mapping map when capturing SO on invoice
 - center Workflow expression editor using LDS
 - set ajaxaction to Workflow on Creating a new Event.
 - better header formatting for OurSites
 - use correct module name when executing vtlib_handler from settings
 - correctly escape alias names in Reports totals to support all set of characters
 - recover TagCloud missing functions lost during Business Actions cleanup
 - do not block User editing on username error
 - write UserPrivileges sharing rules by role
 - calculate Users sharing privileges on user create and privileges change
 - respect home page components definitions on user creation
 - fix error in mkTotQuery and refactor functions after adding unit tests
 - decode input before cutting output with textlengthcheck
 - **Continuous translation effort:**
  - Application: pt_br and it_it
  - Contacts: template language picklist label
  - HelpDesk

![May Insights](corebosgithub1905.png)

**Thanks for reading.**

repository: tsolucio/coreBOSBlog

gha_language: PHP

repo_name: tsolucio/coreBOSBlog


text:
# Using Highcharts with Bower

Demonstrate the process of installing and packaging Highcharts with bower.

[![demo](./assets/demo.png?raw=true)](https://codingkata.tardate.com/javascript/highcharts_with_bower/example.html)

## Notes

Bower is a package manager for web components that may contain HTML, CSS, JavaScript, fonts or even image files.

HighCharts is one of the leading Javascript charting packages.

Now dance!

## Installation

### Install Bower

Requires `npm`, then install bower globally:

    npm install -g bower

### Highcharts Installation

    bower install highcharts

Or to install and add highcharts to `bower.json`

    bower install highcharts --save

### Installing from bower.json

With `bower.json` prepared, install all the dependencies (including highcharts)

    bower install

## Compiling for Distribution

The highcharts sources installed in `bower_components` are not actually checked-in the repo
or included in the distribution. While you could do that, the approach I'll use
here is to `compile` javascript dependencies for distribution.

For that I'll use `grunt` with the `grunt-bower-concat` to generate `app/compiled.js`.

Install npm dependencies:

```
npm install -g grunt
npm install -g grunt-cli
npm install # from package.json
```

Then compile the bower components:

```
$ cat Gruntfile.coffee
module.exports = (grunt)->

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    bower_concat: {
      all: {
        dest: 'app/compiled.js',
        bowerOptions: {
          relative: false
        }
      }
    }
  })

  grunt.loadNpmTasks('grunt-bower-concat')

  grunt.registerTask('default', ['bower_concat'])

$ grunt
Running "bower_concat:all" (bower_concat) task
File app/compiled.js created.

Done.
```

## Example

The example in [example.html](./example.html) is an adaptation of the
[HighCharts 'First Chart' example](http://www.highcharts.com/docs/getting-started/your-first-chart).

Or run the demo [live from GitHub Pages](https://codingkata.tardate.com/javascript/highcharts_with_bower/example.html).

## Credits and References

* [bower.io](http://bower.io/)
* [Highcharts](http://www.highcharts.com/)
* [Install from Bower](http://www.highcharts.com/docs/getting-started/install-from-bower) - highcharts
* [grunt-bower-concat](https://github.com/sapegin/grunt-bower-concat)

repository: tardate/LittleCodingKata

repo_name: tardate/LittleCodingKata


text:
Coverage: 75.8% total coverage
# Inventory Management System

The following documents contain the neccessary code to work the Iventory Management System (IMS), this includes a customer, order, and, item entity all of which have their own DAO, controller and main classes all of which was coded in java using the software Eclispe. This all links up to a MySQL server that contains the database for the code which can be accessed by typing in the application.

This IMS is used to create customers, items, and orders. The IMS is controlled via the command line.

The customers need a first and last name along with an email.
The items need a name, value, and stock.
The Orders need a order quantity, product_id, order_id and a customer_id.

The IMS works off having three Data Access object classes for Customer, Item and Orders which interact with the SQL database that was previously mentioned.

## Getting Started

You can fork the repository and then download the code as a zip file. extract the zip file, then using eclipse open an existing maven project: Done through Fil, Import, Import existing Maven Project. Then you should have a copy of the IMS in Eclipse (find the download link for all this below)
### Prerequisites

You must have a Intergrated Delevlopment Environment (IDE) installed that can run Java 8 at least I used Eclipse. It must also have the neccessary Maven Pluggin installed so that it can be used.

```
Install Java 8 development kit from https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Install Maven from https://maven.apache.org/download.cgi

Install Eclipse from https://www.eclipse.org/

Install MySQL Workbench from https://www.mysql.com/products/workbench/
```
It is not recommended to use a more up to date version of the Java development kit as this may not work with the IMS.
### Installing

To install Java you need to download the Java Development Kit (JDK).

Installing the JDK and creating a a proper pathway for the files and environment variables are important to ensure the IMS and java will run properly I suggest using an online guide to make sure this is completed properly I have linked one below.
```
https://docs.oracle.com/javase/10/install/installation-jdk-and-jre-microsoft-windows-platforms.htm#JSJIG-GUID-371F38CC-248F-49EC-BB9C-C37FC89E52A0
```

To install Maven again you need to download the product from the link above in prerequisites. Following the guide below should help with getting the pathway and environment variables setup properly.

```
https://maven.apache.org/install.html
```
To install MySQL Workbench download from the link above and follow this guide.

```
https://dev.mysql.com/doc/workbench/en/wb-installing-windows.html
```

For the Java IDE I used Eclipse but you can use any IDE that will allow the use of Maven as it is a maven project. Use the guide below to get Maven running on your Eclipse IDE.

```
http://roufid.com/how-to-install-maven-on-eclipse-ide/
```
## Using the IMS Project

When using the run feature in eclipse the IMS will work, this will as you which entity you will like to interact with it should look like the following:

Which entity would you like to use?
CUSTOMER: Information about customers
ITEM: Individual Items
ORDER: Purchases of items
STOP: To close the application

Typing in Customers will show you the following:

customer
What would you like to do with customer:
CREATE: To save a new entity into the database
READ: To read an entity from the database
UPDATE: To change an entity already in the database
DELETE: To remove an entity from the database
ADD_ITEMS: adds an Item (specific to Orders)
DELETE_ITEMS: removes an Item (specific to Orders)
RETURN: To return to domain selection

from here you can create, read, update, and delete a customer entity in the IMS.

If you would like to view the previous section again simply type return and press the enter key.

To stop the application go back to the first screen and type stop.

## Running the tests

When running tests for the application I used both JUnit and Mockito. To use these I imported the JUnit Before, BeforeClass and Test onto a test class for my customer, order and items DAO. Once these were imported I could run them with @BeforeClass, @Before, and, @Test. This would allow me to see the overall test coverage for my IMS.

If you would like to add some tests of your own simply use the file explorer on the left handside of the Eclipse software and move to the section of the IMS file src/test/java then right click the file and select run as JUnit test and this will allow you to see the test coverage

### Unit Tests

Unit tests are performed by JUnit and they test the DAO files in the IMS. They are used to see if the DAO is giveing out the correct response when called upon.
These are useful to see if any part of the code is failing for example I created a JUnit test for the CustomerDAO which looked at the Create function of the DAO and made sure that a customer we are trying to make is in the system.

To run just the DAO JUnit tests find them in the src/test/java area of the project and right click and run as JUnit test.

```
@Test
	public void testCreate() {
		final Customer created = new Customer(2L, "chris", "perrins", "chris.perrins@gmail.com");
		assertEquals(created, DAO.create(created));
	}
```
Here is an example of the create test which makes sure that a Chris Perrins can be added to the system.

### Integration Tests
I used Mockito to perform intergration testing. Mockito will put in a mock input for the IMS for example a fake customer with the expected first name, last name and email sections filled in. This allows to test for when a customer gets created no just testing values you know are in the system already. These can be located in the controller section of the test section of the Eclipse IMS file

```
@Test
	public void testCreate() {
		final String F_NAME = "barry", L_NAME = "scott", email =<EMAIL_ADDRESS>		final Customer created = new Customer(F_NAME, L_NAME, email);

		Mockito.when(utils.getString()).thenReturn(F_NAME, L_NAME, email);
		Mockito.when(dao.create(created)).thenReturn(created);

		assertEquals(created, controller.create());

		Mockito.verify(utils, Mockito.times(3)).getString();
		Mockito.verify(dao, Mockito.times(1)).create(created);
	}

```
This mock test would make a new customer Barry Scott if the system wasn't being mocked up.

## Deployment

To deploy the IMS you need to create a .jar file.

To do this you need to navigate to the IMS-starter file in the file explorer and then open windows powershell in the required location.

Typing mvn clean package will return a .jar file as this tells Maven to create one.

There should now be a new file called target this should contain one with dependancies and one with out we need the one with.

to run this in the command line type java -jar <file-pathway>

you should now be in the application.

## Built With

* [Maven](https://maven.apache.org/) - Dependency Management
Eclipse - Java IDE software
MySQLWorkbench - SQL Server

(links found above)

## Versioning

GitHub for version control

## Authors

* **Chris Perrins** - *Initial work* - [christophperrins](https://github.com/christophperrins)
* **Adam Hackworth** - [AdamHackworth](https://github.com/AHackworth)

## License

This project is licensed under the MIT license - see the [LICENSE.md](LICENSE.md) file for details

*For help in [Choosing a license](https://choosealicense.com/)*

## Acknowledgments

* Hat tip to anyone whose code was used
* Inspiration
* etc

repository: AHackworth-QA/IMS-Starter

gha_language: Java

repo_name: AHackworth-QA/IMS-Starter


text:
# PlexRequestsApi (name TBC)

[![Build Status](https://api.travis-ci.com/Jbond312/PlexRequestsApi.svg?branch=develop)](https://travis-ci.com/Jbond312/PlexRequestsApi)

## Note - Work in progress

This project contains a Web Api to allow for Plex server administrators to provide functionality to their users so they can request new content or flag existing content for review. Users should also be notified when requests are fulfilled and be able to see if content being requested is already available within Plex.

## Data Providers

PlexRequests needs to be able to gather both TV and Movie data from varying 3rd party API's. The main purpose is to allow for users to request new content and the other is to try and match up existing Plex content to the data from the 3rd party API's to identify content already available on the server.

The following popular API's exist for retrieving metadata:

- [TheMovieDb](https://www.themoviedb.org/)
- [TheTvDb](https://www.thetvdb.com/)
- [Trakt.Tv](https://trakt.tv/dashboard)
- [TVMaze](https://www.tvmaze.com/)
- [Fanart.tv (Images)](https://fanart.tv/)

To begin with TheMovieDb will be the primary data provider for all content.

## Getting Started

If you want to run the project in its existing state, it can be built and deployed using docker.

### Pre-requisites

- Docker
- .NET Core 3.0
- MSSQL Instance

### Build & Run

This is in progress as the system is migrating to use a MSSQL database

branch_name: refs/heads/develop

gha_language: C#


text:
# Build Instructions

```bash
sudo apt-get install libpng-devel
```

Then, build with PwnableHarness. Running `make publish` will create a
`recovered.tar.gz` archive in the publish directory for this challenge.
This archive should be made available for players to download.

## CTFd Instructions

This challenge needs to check the flag not as a static string but rather
with a regex. It must also be a case-insensitive comparison. The regex for
matching the flag string is stored in [flag.regex](flag.regex).


text:
## INSTRUCTION FOR THE PROCEDURE FOR SETTING THE QUESTIONS ON GIT HUB

If there are some ambiguities related to classes, problem solving, use of Git Hub, Eclipse program, etc...
here will be explained the procedure for asking questions on the Git Hub page:

1. Оpen Git Hub page - alptium.github.io -> https://github.com/alptium/alptium.github.io

2. Click on the field **Issues**

3. Click on **New issue** which is on the right side.

4. On the newly created page, on the first line **Title** enter a short title (example: 'Question')

5. On the right side are the boxes **Assignes**, **Labels** and **Project**

6. Click on **Labels** and type 'question', then click **Project** and mark 'Writing Project'

7. After this step, write the text of the question in the text box below the title.

8. Click **Submit new issue** to forward the ticket.

Example of a ticket with a question:

![screenshot of github desktop](/slike1/25.JPG)

=============================================================


text:
# WindowsGSM.SquadPT
WindowsGSM plugin for supporting Squad Public Test server (using appid 774961).

## Requirements
[WindowsGSM](https://github.com/WindowsGSM/WindowsGSM) >= 1.21.0

## Installation
1. Download the [latest](https://github.com/DiscoveryOV/WindowsGSM.SquadPT/releases/latest) release
1. Move `SquadPT.cs` **folder** to `plugins` folder
1. Click **[RELOAD PLUGINS]** button or restart WindowsGSM

### License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/DiscoveryOV/WindowsGSM.SquadPT/blob/master/LICENSE) file for details

#### Note
This project is based off https://github.com/1stian/WindowsGSM.DeadMatter


text:
# Backing Services

## [game_play.py](src/game_play.py)
This will be the dashboarder for teams to log in, get updates and log flags.

[game_playr_lambda.py](src/game_play_lambda.py) is the serverless_wsgi Lambda
handler

Flask has [assets](src/assets/) (GOV.UK Design Kit) and [templates](src/templates/).

## [email_notifier.py](src/email_notifier.py)
This a _fake_ API that the Ruby app will use.
Idea is an email notifying API that will log notifications instead of actually
emailing them, those will then be used in scoring.
- v1 will get initially set and deprecated at a certain point
- v2 will be live but use a different format, so will require engineering effort

[email_notifier_lambda.py](src/email_notifier_lambda.py) is the serverless_wsgi
Lambda handler

## Tests
Tests are [here](tests/).
Currently only `test_game_play.py` which tests `game_play.py`.
Need to get auth tests working, unlikely to work with Basic/Digest so need
to move to form-based auth (better anyway...)

## Make
`make` will build and produce a zip (also `make zip`)
`make test` will sort out env. and run tox
`make clean` will clean up..
`make run` will build and run `game_play.py`


text:
# C Linking Example
This directory contains a header file [`fuzzy_log.h`](fuzzy_log.h)
which can be used to link C programs to the FuzzyLog client API,
along with an example of such a program, and a Makefile which
hopefully makes such linking simple.

## Building the Example

Make sure you have `rust` intalled
(run `curl https://sh.rustup.rs -sSf | sh` if not)
and `make`.

**MAC OS Note**: Due to differences in linking on MAC OS and linux
the Makfile provides a seperate set of linker flags for MAC OS.
If you wish to run this example on mac you must first replace
`LINK_FLAGS` with `MAC_LINK_FLAGS` in the Makefile.

Run `make` this will ouput the example binary in `./out/start`.
This binary is standalone, it starts up its own instance of the
FuzzyLog server at `<IP_ADDRESS>:13229` to run against,
starts a client, performs some appends and reads them back.

## Starting you own project

To create your own FuzzyLog project, use the command

    make new_dir DIR_NAME=<your directory name>

which will copy the relevent files to <your directory name>.
Then set the enviroment variable `DELOS_RUST_LOC` to the location
of your local copy of the `delos-rust` repo.
(In the examples folder a simple copy-paste will suffice).

**MAC OS Note**: Due to differences in linking on MAC OS and linux
the Makfile provides a seperate set of linker flags for MAC OS.
If you wish to run your code on mac you must first replace
`LINK_FLAGS` with `MAC_LINK_FLAGS` in the Makefile.

An example of a project wich was created using this method can be
found in [examples/c_multi_server](../c_multi_server).

See [`fuzzy_log.h`](fuzzy_log.h) for the FuzzyLog functions currently available.

repository: JLockerman/FuzzyLog

gha_language: Rust

repo_name: JLockerman/FuzzyLog


text:
iRequire
==========

How awesome would it be if you could require your favorite javascript piece of code with relevant css and html just by doing something like:

```sh
require("bootstrap")
//or
require("jquery-ui")
```

iRequire is a tiny (5k unminified) script that allows you to do so with **zero or few configuration** and **automatic dependency injection**.

Dependency
==========
iRequire is dependent on [jQuery] framework which is automatically loaded!

How it works
==========
iRequire expects a folder structure like:

```sh
+-- modules
|   +-- irequire
|   |   +-- irequire.js
|   |   +-- jquery.js
|   |   +-- package.json
|   +-- mymodule
|   |   +-- mymodule.css
|   |   +-- mymodule.html
|   |   +-- mymodule.js
|   |   +-- package.json
|   +-- myothermodule
|       +-- myothermodule.js
|       +-- package.json
+-- index.html
```

After including it with a script tag in your index.html:
```sh
<script type="text/javascript" src="./modules/irequire/irequire.js"></script>
```

Imagine the package.json under "mymodule" folder would look like:
```sh
{
  "name": "mymodule",
  "version": "0.0.1",
  "main": [
    "mymodule.css",
    "mymodule.html",
    "mymodule.js"
  ]
}
```
You could now require your module:
```sh
require("mymodule")
```

And the three files declared in the main array would be loaded and:
  - mymodule.css would be included as the href of a <link> tag appended to the <head> of the document.
  - mymodule.html would be appended to the <body> of the document.
  - mymodule.js would be evaluated.

iRequire is event oriented so, after the loading of the above files, it will trigger a "mymoduleready" event to which you may respond accordingly by doing something like:
```sh
$("body").on("mymoduleready",function(){
    //Do something wonderful with it!
});
```

Now imagine that "myothermodule" is dependent on "mymodule" and its package.json file looks like:

```sh
{
  "name": "myothermodule",
  "version": "0.0.1",
  "main": [
    "myothermodule.js"
  ],
  "dependencies" : {
    "mymodule" : "0.0.1"
  }
}
```

If you tried to require "myothermodule" before requiring "mymodule", both would be required in the correct order (dependencies first) and there would be triggered a ready event for each of them.

In the previous example, as "mymodule" would be already loaded, requiring "myothermodule" would only load the second.

License
----

MIT

[jQuery]:http://jquery.com

repository: DezminSites/iRequire

repo_name: DezminSites/iRequire


text:
---
layout: default
---

# 1997-10-30 - PGP 5.0: What were they thinking? (revisited)

## Header Data

From: lcs Mixmaster Remailer<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 9239d1c7ca9f7dac98a9aeafea711d54042c1c0c25caf61c07118d2a1befda89

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-10-30 08:04:01 UTC

Raw Date: Thu, 30 Oct 1997 16:04:01 +0800

## Raw message

```
{% raw  %}From: lcs Mixmaster Remailer<EMAIL_ADDRESS>Date: Thu, 30 Oct 1997 16:04:01 +0800
To<EMAIL_ADDRESS>Subject: PGP 5.0: What were they thinking? (revisited)
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

>On Thu, 30 Oct 1997, Anonymous wrote:
>
>>
>> Where can I find a copy of PGP 5.0 which handles this "SHA1" hash extension,
>> and the new forced incompatabilities? I'm looking for a Linux distribution.
>> All I've found are Windoze versions, really old betas which break
>> *everything* which calls PGP from a script or command line, and betas which
>> have a lame expired timebomb in them. Source is prefered for obvious reasons.
>
>http://www.pgpi.com/

I went and took a look at this. They've broken the PGP functionality into
several different psuedo-binaries which are just symlinks which point to the
same binary. Invoking just 'pgp' gives this:

>PGP is now invoked from different executables for different operations:
>
>pgpe    Encrypt (including Encrypt/Sign)
>pgps    Sign
>pgpv    Verify/Decrypt
>pgpk    Key management
>pgpo    PGP 2.6.2 command-line simulator (not yet implemented)
>
>See each application's respective man page or the general PGP documentation
>for more information.

Now this, of course, breaks all matter of things. Some of this may be wrong,
so feel free to correct it:

Phil releases PGP. It rapidly becomes a standard for personal privacy and is
used all over the world. Various versions come about including several
international versions.

Finally PGP 5.0 is released. It uses a completely new scheme, including DH
keys. The Windows version purposefully excludes RSA key generation, in
effect forcing people to generate DH keys. There is no UNIX version released.

Weeks or months later, after incompatabilities were introduced into the
system, UNIX versions begin to filter out. Instead of keeping command line
compatability so scripts and programs which call PGP still work, they decide
to break the functions up into several different invocations, all of which
point to the same binary anyway. The README-BIN file for the "beta 11" Linux
distribution says:

>Rest assured, we WILL be releasing a source Unix distribution.
>Unfortunately, licensing and export issues make this difficult; the
>beta process for Linux will be completed on a binary basis.  We
>understand the difficulty this causes, and will be working to find a
>solution in the future.

They also take the liberty of coding in a timebomb:

$ ./pgp
This beta evaluation version of PGP has expired.
$ pwd
<censored>/pgp50b11-linux-i386/apps/pgp

"lnx-b11" is the version currently handed out by http://www.pgpi.com, by the
way. The "PGP 5.0 beta for Linux Intel (US version)" selection on their
download page leads to a link to:
ftp://ftp.ifi.uio.no/pub/pgp/5.0/usa_only/linux/PGP50-lnx-b11.tgz

The current source distribution from that site is b8a. One of the README
files from that reads:

>Welcome to the PGP beta test program!
>
>Before reporting any bugs, please check the pgp(1) man page to ensure
>that they are not already known.
>
>Bugs should be reported on the beta test web page at:
>
>  http://beta.pgp.com/

However when one goes to http://beta.pgp.com they're confronted with a legal
agreement. Of course the link to it from the front page won't work in Lynx
2.7.1 because it uses something called an "https" link, so the user has to
type in the URL manually as "http://www.pgp.com/beta/license.cgi".

After reading this license and agreeing to it, the user is allowed to reach
the "BetaWeb" page. However the "public bug reports" link yields this:

>   Sorry, the bug report form is not available yet.
>   Please be patient as we get things ready.
>
>         Please see the PGP BetaWeb for further information, or contact the
>         Beta Manager with specific questions.
>
>   For now, please use the "Back" button in your browser to return to the
>   previous page.

So maybe you can at least get whatever the current beta is and hope it
works, right? Wrong. "PGP Personal v5.5.1 BetaHome"'s "Beta Software &
ReadMe Download Button" wants a user name and password, but it's doubtful
they have a UNIX distribution in there anyway considering the rest of this
mess.

Well, at least maybe the user can suggest a new "feature" for PGP 6
and that feature be "Release a source distribution which when installed
doesn't break anything which calls PGP," right? Wrong. You have to have a
username and password for that too.

Well, obviously they want you to register as a "Registered PGP Beta Tester"
to get this clearance. However "Beta Registration" yields:

>   Sorry, we are not currently accepting new beta testers.
>   We will be shortly, however, so please check back if you are interested.
>
>         Please see the PGP BetaWeb for further information, or contact the
>Beta Manager with specific questions.

>   For now, please use the "Back" button in your browser to return to the
>   previous page.

And of course my 2.6.3i breaks on this "Hash: SHA1" stuff.

So correct me if I'm wrong but the way I see it is like this: A new version
of PGP was released. It was incompatable with previous versions. They
release a Windows version but don't release a version which works under
UNIX. Of course Windows users now start using the "latest and greatest,"
sending messages and keys all over the place which are completely
incompatable with the version of PGP everybody else is using. They claim to
be working on a UNIX version, granted, but that should have been released
at the same time as the Windows version and *AFTER* there was an
international version of PGP 5.0 available. Their UNIX version of PGP 5.0
also seems to be completely incompatable with anything which calls PGP from
a script or program. In addition their UNIX versions are purposefully
crippled so that they don't work after a certain time period, don't provide
an override for this that I can see, and they insist on releasing
binary-only distributions for Linux which prevents people from commenting
that out. They have no method to get new up to date versions, nor do they
have a method to report bugs like they say they do. Further the
"PGP50-lnx-b11-6126098-1.src.rpm" contains the *BINARY* distribution, *not*
the source. I've also been informed that PGP 5.0 encrypts to the CMR key
without even bothering to ask and there's no way to override that short of
hacking the key record.

 Did they get into bed with
Microsoft to try to get people to say "screw this" and go use Windows?

{% endraw %}
```

## Thread

+ Return to [October 1997](/archive/1997/10)

+ Return to "[lcs Mixmaster Remailer <mix@anon.lcs.mit.edu>](/authors/lcs_mixmaster_remailer_mix_at_anon_lcs_mit_edu_)"

+ 1997-10-30 (Thu, 30 Oct 1997 16:04:01 +0800) - PGP 5.0: What were they thinking? (revisited) - _lcs Mixmaster Remailer<EMAIL_ADDRESS>


text:
# Protocols between ArmRobot Robot Agent and Hardware

- [move item](#move-item)

## move item
Agent:
```
{
	"task_no": 1,
	"cmd": "move_item",
	"extra": {
		"from": from,
		"to": to,
		"goodsid": goodsid
		"step" : step
	}
}
```
- from : String :  where the item stays now.
- to : String : where the item will be put.
> For buffers, they would be a string number, such as "01", "12".
> For machines, they would be the machine id, such as "c1", "x1".

- goodsid : String : see it [here](./definition.md/#goodsid)
- step : Integer : **lathe Only** : the step of cooperation with lathe.


text:
# Certificate Verification DApp
## Ethereum Based Certificate Verification DApp

## 📦 Steps To Run

You'll need [Git](https://git-scm.com) to run the project from source. From your command line:

Make sure `truffle` and `ganache-cli` are already installed.

```bash
# Clone this repository
$ git clone https://github.com/kreloaded/certificate-verification-dapp

# Go into the repository
$ cd certificate-verification-dapp

# Install dependencies for smart contracts
$ npm install

# Start ganache-cli
$ ganache-cli

# Deploy contrats on ganache
$ truffle migrate
```


text:
# qgevoeco.github.io
The Wolak Research Group at Auburn University: https://qgevoeco.github.io

# Instructions for Updating

Use one of the following links to update the page directly from GitHub:

<!--
- [Update projects](https://github.com/qgevoeco)
-->

  - [Add/Update member](https://github.com/qgevoeco/qgevoeco.github.io/tree/master/_data/group-members.yml): click on the "edit" (pencil) icon to edit
    - copy and paste the following template in the appropriate section (see `title:` as either `Postdocs`, `Graduate Students`, etc.) of the file, and replace **all** placeholders *or* **delete** any irrelevant lines:

```
  - name: Sewall Wright
    role: Postdoctoral Researcher
    start-date: 1889
    end-date: 1988 # Only if you have FINISHED
    bio: >
        Guinea pig eraser effectiveness.
    avatar: Warlak_siteLogoCard240px.png # in `/images`
    email<EMAIL_ADDRESS>    web: http://theotherwrightbrother.com # NOT http://qgevoeco.github.io
    cv: Wright_CV_2019.pdf # file located in `/people/`
    github: shiftingbalance
    twitter: beyondthegrave
    coadvisor: Matt's personalities all count as 1 advisor # otherwise someone else
    coadvisor-url: http://blah.blah
```
    - If you want a different image as your `avatar:`
        - Name your image `LastnameFirstname.jpg` and commit this to the [images directory](https://github.com/qgevoeco/qgevoeco.github.io/tree/master/images).