text:
---
title: 2015RobotSide
layout: side
sitemap: false
leftpercent: 60
images:
  A Tansmission: 2015Robot/DSC00210.JPG
---
       A cool feature of our robot were the transmission. We made them ourselves which allowed us to incorporate the flexibility we needed into the design itself. Instead of being fixed in one position we were able to configure them into a multitude of positions. We could pivot the motor position around the belt portion, then the whole assembly could be rotated around the axle that it is attached to.
       This was of great use to use because we had a very limited amount of space on our robot. In the front we needed to keep everything as close to the x-axis as possible. To do this we rotated the transmissions so that the motor was just above the axle but was displaced towards the back of the robot.

![A picture of the motor displaced towards the back of the robot by means of the transmission](/first/images/2015Robot/DSC00221.JPG)


text:
# Release Notes
## 2.6.6

Enhancement / New feature：

* tag route.  #3065
* Use Netty4 as default Netty version. #3029
* upporting Java 8 Date/Time type when serializing with Kryo #3519
* supoort config telnet  #3511
* add annotation driven in MethodConfig and ArgumentConfig #2603
* add nacos-registry module #3296
* add `protocol` attribute in `@Rerefence` #3555
*support the hierarchical interface in @Service  #3251
* change the default behavior in `@EnableDubboConfig.multiple()` #3193
* inline source code of `spring-context-support` #3192
* Simplify externalized configuration of Dubbo Protocol name  #3189

BugFix：

* update hessian-lite to 2.3.5, fix unnecessary class load #3538
* Fix unregister when client destroyed（referenceconfig#destroy) #3502
* SPI entires dup by 3 times #3315
* fix Consumer throws RpcException after RegistryDirectory notify in high QPS #2016
* fix NPE in @Reference when using Junit to test dubbo service #3429
* fix consuer always catch java.lang.reflect.UndeclaredThrowableException for any exception throws in provider  #3386
* fix the priority of `DubboConfigConfigurationSelector ` #2897
* fix `@Rerefence#parameters()` not work #2301

## 2.6.5

Enhancements / Features：

- Reactor the generation rule for @Service Bean name [#2235](https://github.com/apache/incubator-dubbo/issues/2235)
- Introduce a new Spring ApplicationEvent for ServiceBean exporting [#2251](https://github.com/apache/incubator-dubbo/issues/2251)
- [Enhancement] the algorithm of load issue on Windows. [#1641](https://github.com/apache/incubator-dubbo/issues/1641)
- add javadoc to dubbo-all module good first issue. [#2600](https://github.com/apache/incubator-dubbo/issues/2600)
- [Enhancement] Reactor the generation rule for @Service Bean name type/enhancement [#2235](https://github.com/apache/incubator-dubbo/issues/2235)
- Optimize LeastActiveLoadBalance and add weight test case. [#2540](https://github.com/apache/incubator-dubbo/issues/2540)
- Smooth Round Robin selection. [#2578](https://github.com/apache/incubator-dubbo/issues/2578) [#2647](https://github.com/apache/incubator-dubbo/pull/2647)
- [Enhancement] Resolve the placeholders for sub-properties. [#2297](https://github.com/apache/incubator-dubbo/issues/2297)
- Add ability to turn off SPI auto injection, special support for generic Object type injection. [#2681](https://github.com/apache/incubator-dubbo/pull/2681)

Bugfixes：

- @Service(register=false) is not work. [#2063](https://github.com/apache/incubator-dubbo/issues/2063)
- Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore. [#1903](https://github.com/apache/incubator-dubbo/issues/1903)
- Consumer throws RpcException after RegistryDirectory notify in high QPS. [#2016](https://github.com/apache/incubator-dubbo/issues/2016)
- Annotation @Reference can't support to export a service with a sync one and an async one . [#2194](https://github.com/apache/incubator-dubbo/issues/2194)
- `org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor#generateReferenceBeanCacheKey` has a bug. [#2522](https://github.com/apache/incubator-dubbo/issues/2522)
- 2.6.x Spring Event & Bugfix. [#2256](https://github.com/apache/incubator-dubbo/issues/2256)
- Fix incorrect descriptions for dubbo-serialization module. [#2665](https://github.com/apache/incubator-dubbo/issues/2665)
- A empty directory dubbo-config/dubbo-config-spring/src/test/resources/work after package source tgz. [#2560](https://github.com/apache/incubator-dubbo/issues/2560)
- Fixed 2.6.x branch a minor issue with doConnect not using getConnectTimeout() in NettyClient.  (*No issue*). [#2622](https://github.com/apache/incubator-dubbo/pull/2622)
- Bean name of @service annotated class does not resolve placeholder. [#1755](https://github.com/apache/incubator-dubbo/issues/1755)

Issues and Pull Requests, check [milestone-2.6.5](https://github.com/apache/incubator-dubbo/milestone/21).

## 2.6.4

Enhancements / Features

- Support access Redis with password, [#2146](https://github.com/apache/incubator-dubbo/pull/2146)
- Support char array for GenericService, [#2137](https://github.com/apache/incubator-dubbo/pull/2137)
- Direct return when the server goes down abnormally, [#2451](https://github.com/apache/incubator-dubbo/pull/2451)
- Add log for trouble-shooting when qos start failed, [#2455](https://github.com/apache/incubator-dubbo/pull/2455)
- PojoUtil support subclasses of java.util.Date, [#2502](https://github.com/apache/incubator-dubbo/pull/2502)
- Add ip and application name for MonitorService, [#2166](https://github.com/apache/incubator-dubbo/pull/2166)
- New ASCII logo, [#2402](https://github.com/apache/incubator-dubbo/pull/2402)

Bugfixes

- Change consumer retries default value from 0 to 2, [#2303](https://github.com/apache/incubator-dubbo/pull/2303)
- Fix the problem that attachment is lost when retry, [#2024](https://github.com/apache/incubator-dubbo/pull/2024)
- Fix NPE when telnet get a null parameter, [#2453](https://github.com/apache/incubator-dubbo/pull/2453)

UT stability

- Improve the stability by changing different port, setting timeout to 3000ms, [#2501](https://github.com/apache/incubator-dubbo/pull/2501)

Issues and Pull Requests, check [milestone-2.6.4](https://github.com/apache/incubator-dubbo/milestone/19).

## 2.6.3

Enhancements / Features

- Support implicit delivery of attachments from provider to consumer, #889
- Support inject Spring bean to SPI by bean type, #1837
- Add generic invoke and attachments support for http&hessian protocol, #1827
- Get the real methodname to support consistenthash for generic invoke, #1872
- Remove validation key from provider url on Consumer side, config depedently, #1386
- Introducing the Bootstrap module as a unified entry for Dubbo startup and resource destruction, #1820
- Open TCP_NODELAY on Netty 3, #1746
- Support specify proxy type on provider side, #1873
- Support dbindex in redis, #1831
- Upgrade tomcat to 8.5.31, #1781

Bugfixes

- ExecutionDispatcher meet with user docs, #1089
- Remove side effects of Dubbo custom loggers on Netty logger, #1717
- Fix isShutdown() judge of Dubbo biz threadpool always return true, #1426
- Selection of invoker node under the critical condition of only two nodes, #1759
- Listener cann't be removed during unsubscribe when use ZK as registry, #1792
- URL parsing problem when user filed contains '@',  #1808
- Check null in CacheFilter to avoid NPE, #1828
- Fix potential deadlock in DubboProtocol, #1836
- Restore the bug that attachment has not been updated in the RpcContext when the Dubbo built-in retry mechanism is triggered, #1453
- Some other small bugfixes

Performance Tuning

- ChannelState branch prediction optimization. #1643
- Optimize AtomicPositiveInteger, less memory and compute cost, #348
- Introduce embedded Threadlocal to replace the JDK implementation, #1745

Hessian-lite

- Hessian deserialization optimization, #1705
- Support Locale type, #1761

Compatibilities
This release is compatible with other versions since 2.5.3, and you can upgrade smoothly.
- The RPC protocol version has been upgraded from 2.0.1 to 2.0.2, to support attachments delivery in #889,
generally, the protocol version is used internally, so it should have no side effects on users.

Issues and Pull Requests, check [milestone-2.6.3](https://github.com/apache/incubator-dubbo/milestone/17).

## 2.6.2

1. Hessian-lite serialization: revert locale serialization for compatibility, #1413
2. Asset transfer to ASF, including pom, license, DISCLAIMER and so on, #1491
3. Introduce of new dispatcher policy: EagerThreadpool, #1568
4. Separate monitor data with group and version, #1407
5. Spring Boot Enhancenment, #1611
6. Graceful shutdown enhancement
   - Remove exporter destroy logic in AnnotationBean.
   - Waiting for registry notification on consumer side by checking channel state.
7. Simplify consumer/provider side check in RpcContext, #1444.

Issues and Pull Requests, check [milestone-2.6.2](https://github.com/apache/incubator-dubbo/milestone/15).

repository: zhaojigang/dubbo-notes

extension: md

gha_language: Java

license_type: permissive

repo_name: zhaojigang/dubbo-notes


text:
---
title: Links to open source ML datasets
tags:
  - Machine-learning
  - Data-science
date: 2019-09-10
---

- [Google Dataset Search]
- [Wikipedia ML dataset]
- [Pathmind]'s aggregation
- [Computer Vision Online] aggregated source
- 20 [Multimedia dataset] (images & videos)
- [Hackernoon Rare dataset]
- [Analytics vidhya]'s list of 25 sets

[Google Dataset Search]: https://datasetsearch.research.google.com
[Wikipedia ML dataset]: https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research
[Pathmind]: https://pathmind.com/wiki/open-datasets
[Multimedia dataset]: https://lionbridge.ai/datasets/20-best-image-datasets-for-computer-vision/
[CVonline]: http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm
[Hackernoon Rare dataset]: https://hackernoon.com/rare-datasets-for-computer-vision-every-machine-learning-expert-must-work-with-2ddaf52ad862
[Analytics vidhya]: https://www.analyticsvidhya.com/blog/2018/03/comprehensive-collection-deep-learning-datasets/

license: MIT

branch_name: refs/heads/master

gha_language: SCSS

gha_license_id: NOASSERTION


text:
# **BuddyStore**

Anup Chenthamarakshan, Narendran Thangarajan, Vidya Kirupanidhi

## Peer-to-peer Key-Value Store Design

The primary challenge in implementing a KV store in a P2P environment is that the protocol should handle arbitrary nodes joining and leaving the network. We considered classic P2P routing protocols like Kademlia, Pastry and Chord as potential lookup protocols. We chose Chord due to our familiarity with the protocol and implementation, however the proposed idea should work seamlessly over Kademlia and Pastry as well. BuddyStore is implemented as a distributed key-value store, by means of a DHT, layered on top of Chord lookup protocol. All the peers in the network will be part of a global Chord ring as found in the Chord File System [1]

In our current design, each writer has a designated "write ring" for itself (this ring is identified by the public key of the writer). So, there is a global ring with K overlapping sub-rings where K is the number of users in the system. Fig. 1 shows a ring configuration with three users in the system. Each ring corresponds to one writer (highlighted) and it contains only the nodes that have agreed to store the keys written by the writer. When the writer goes down, the remaining nodes in the corresponding ring make sure that there are f+1 replicas of all the keys at any point in time.

![alt tag](https://rawgithub.com/narendran/buddystore-concept/master/images/virtual-rings.png)
Fig. 1 : Multiple Virtual Rings

The global ring serves 2 purposes - looking up nodes on the network (using the default Chord lookup mechanism) and looking up writer rings (by using a lightweight DHT on top of Chord).

This design scales well since each node has to send at most O(K) messages as part of the Chord ring maintenance protocol (stabilize, check_predecessor), where K is the number of write rings that the node is part of. However, this design doesn’t have strong consistency properties. One scenario where the transparency breaks is when a client fails while writing. Different set of successors for that key K will have different values for the same key K which breaks consistency. So multiple reads for the same key may return different values based on which replica is chosen during the read.

Our current design uses the concept of distributed lease managers to implement atomic updates using write leases. Every sub-ring on the network has one or more logical lease managers each of which is responsible for a distinct subset of the keyspace contained in the ring. As shown in Fig. 2, a logical lease manager is a set of nodes comprising of a primary and multiple backups using the primary copy method. Logical lease managers are at well known locations on the sub-ring. Every sub-ring starts with a single lease manager and this lease manager can split the keyspace it is handling (for load balancing) by setting up additional lease managers and delegating parts of its keyspace to them. This process can be performed recursively as well.

![alt tag](https://rawgithub.com/narendran/buddystore-concept/master/images/distributed-lm.png)
Fig. 2 : Distributed Lock Manager

Having a lease manager allows updates to be performed on keys with required sequential consistency characteristics. Multiple simultaneous write operations on the same key are prevented by using a write lease on the key. Cases where clients holding write leases fail are handled effectively by setting very short write lease durations (on the order of minutes). In order to achieve sequential consistency, we also associate a per-key monotonically increasing version number to the value stored in every set operation.

## Operations :

* CREATE : When a client issues a Set(key, value)
   * The Client C hashes its public key
   * C looks up LockManager LM of the ring using the hashed key
   * C requests WriteLease(key)
   * LM verifies that there are no outstanding write leases for the same key in its lease table.
   * If there is an outstanding lease that conflicts with the current request, respond with E_LOCKED. Client will retry the operation after a random period of time (with backoff).
   * Else, return (next_writable_version)
   * C looks up for the data replicas where the key is stored using hash(key)
   * C broadcasts a Write(key, next_writable_version, value) to each of the replicas and waits for an acknowledgement from all of them.
   * If C receives all ACKs
      * C sends CommitRelease(key, next_writable_version) to LM
      * LM commits the version change in its table and sends an ACK to C
      * All future Read requests for key at the LM will be responded to with next_writable_version
      * C returns to calling process with a success code
   * If C does not receive all ACKs within a timeout
      * C sends AbortRelease(key, next_writable_version) to LM C retries the write operation
      * Next WriteLease to the LM will be responded to with (next_writable_version+1)

* READ : When a client issues a Get(key) the following sequence of operations ensue.
   * The Client C hashes its public key
   * C looks up for the Lock Manager LM of the ring.
   * C sends a Read(key) request to LM.
   * LM returns the committed version of the key requested.
   * C looks up for the node based on the hash(key).
   * C sends a Read(key,version) to the resulting node N.
   * N returns the value for the corresponding (key,version).

* JOIN : When an arbitrary node joins the system, the following operations ensue.
   * According to Chord protocol, the new node looks up the Chord ring for its own node ID.
   * For each public key in its constraint list, it looks up the global ring to get the list of nodes in the corresponding public key’s virtual ring.
   * The new node joins all the virtual rings.
   * If the new node discovers that it is the Lock Manager for that virtual ring, then it takes over as the new Lock Manager using a slightly extended protocol.

* LEAVE : When a node leaves the system, the operations that ensue are as followed in the Chord protocol.

### Software Artifacts

* Distributed KV store
   * Uses the implementation of Chord lookup protocol from go-chord [2]

* Filesystem
   * Uses a FUSE library implemented in Golang [3]

### Targeted goals

* Sequential Consistency
    * Any get operation on a key X returns the value stored by the most recent set operation on the key X

* Scalability
    * Performance of operations on the key-value store will not appreciably deteriorate with the total number of nodes or keys in the system.
    * If an individual node is part of more than an empirical threshold number of rings, then the scalability guarantees might be violated. We will determine this empirical threshold during the testing phase.

* Availability
    * Replicated copies of every key-value entry will be maintained in multiple nodes.

* Fault Tolerance
    * Transparent migration of data to new replicas will keep the system operational in the face of failures.

* Support for constraint
    * User will be able to control whose data it stores.

## References :

[1] Wide Area Cooperative Storage with CFS - SOSP ‘01, Dabek et al.

[2] [https://github.com/armon/go-chord](https://github.com/armon/go-chord)

[3] [https://github.com/bazillion/fuse](https://github.com/bazillion/fuse)

repository: buddyfs/buddystore-concept

repo_name: buddyfs/buddystore-concept


text:
---
layout: default
---

# 1996-12-16 - Re: Gov't Clarifes Position-Surprise!

## Header Data

From: Tim Scanlon<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 845c5e7acf2c1a2402f24a52bb86980454e9a8505fdb2b89528182c256e3a0cf

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-12-16 05:27:50 UTC

Raw Date: Sun, 15 Dec 1996 21:27:50 -0800 (PST)

## Raw message

```
{% raw  %}From: Tim Scanlon<EMAIL_ADDRESS>Date: Sun, 15 Dec 1996 21:27:50 -0800 (PST)
To<EMAIL_ADDRESS>Subject: Re: Gov't Clarifes Position-Surprise!
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

<EMAIL_ADDRESS>said:
|----Begin Forwarded Message----
|>From EPIC http://www.epic.org/crypto/export_controls/draft_regs_12_96.html
|
|**Commerce Department Prepares Draft Encryption Export Regulations**
|
|December 11, 1996
|
[snip]
|The regulations would amend the Export Administration Regulations (EAR)
|by imposing national security and foreign policy controls ("EI" for
|Encryption Items) on certain information security systems and equipment,
|cryptographic devices (including recoverable encryption software) and
|related technology.

Basicly everything. Presuming or believing there are things that are exempt
from these regulations is foolish. They're like a rude salesman with a foot
in the door, they are not used to being told "no", nor will they stop at a simple
"no".

|
|For the first time, the Administration makes clear what it means by "Key
|Recovery Encryption." The regulations state that:
|
|For purposes of this rule, "recovery encryption products" refer to
|encryption products (including software) which allow law enforcement
|officials to obtain under proper legal authority and without
|the cooperation or knowledge of the user, the plaintext of encrypted data
|and communications.

This is the important part.  US Law Enforcement, specificly the FBI, have a
serious desire to obliterate privacy. Reading of documents profiling what
they desire spans this, and the only "check" they speak of or envision
is that of a warrant or other legal means to do so. I say "other legal means"
because they'll probably start chipping away & narrowly interpreting the
privacy act as soon as they achieve this goal. As it stands, it's entirely too
easy for them to get basic search warrants, and I believe they want to do
a technology conversion on that to be able to engage in digital wiretapping
& searches. I think they believe computers, properly governed, can make their
jobs easier. In this case laziness is the root of all evil.

The sick thing is the closest I can come to governmental analogues to what
they propose are organizations like the East German Stasi, Stalin's secret police,
and other similar police organizations who effectively utilize technology to curtail
liberty. In todays society, they don't have to make people "disappeared", but rather
to just do it to people's technology. The FBI does this now as things stand. Punitive
seizure of computers without indictments or charges are relatively commonplace. I
believe the whole situation is going to get worse as they continue to chip away at
crypto.  They certainly are NOT acting as protectors of liberty in the US in any way
with these proposals.

|
|This is an exact description of the original Clipper encryption proposal
|that was widely opposed by Internet users and industry when it was
|announced in 1993.

Clipper 3.11 shares all the same goals, and in fact, as time has passed, while
they try to chip away at privacy, it has become even more apparent that the
goals they want are regressive in terms of what we in the US consider basic
freedoms, and that they're Orwellian and frightening when you think about the
long haul.  Expect a 'Clipper 95' if this subsides or gets shot down. These people
are in it for the long haul. Snooping has always been the lazy mans way to engage
in law enforcement, and is obviously the most comprehensive choice. Privacy is
very inconvenient to the "needs" (ever notice they never have 'wants'? and always
have some horrific example to dredge up, no matter how fluky or 1-in-a-million, to
justify what they "need"? Funny how that works out.) of law enforcement.

Expect some form of cooperation with EC governments if this stuff goes through.
The recent posting to cypherpunks about the "radikal" raid in the Netherlands is
probably a good foreshadowing of this. If you have not seen the article, and want to,
I will be happy to remail it.

Tim Scanlon

{% endraw %}
```

## Thread

+ Return to [December 1996](/archive/1996/12)

+ Return to "[stewarts@ix.netcom.com](/authors/stewarts_at_ix_netcom_com)"
+ Return to "[Tim Scanlon <tfs@adsl-122.cais.com>](/authors/tim_scanlon_tfs_at_adsl122_cais_com_)"

+ 1996-12-15 (Sun, 15 Dec 1996 13:44:35 -0800 (PST)) - [Gov't Clarifes Position-Surprise!](/archive/1996/12/5a3cbb05f542fe59ac56a225e63ee47aa98b8d6f2e5ca2fae1d21dedd00f8e19) -<EMAIL_ADDRESS>  + 1996-12-16 (Sun, 15 Dec 1996 21:27:50 -0800 (PST)) - Re: Gov't Clarifes Position-Surprise! - _Tim Scanlon<EMAIL_ADDRESS>

gha_license_id: MIT


text:
# Even Faster Single Page Application: 0.Introduction

This series of articles includes tips for optimizing development, testing, deployment and monitoring of single page applications. It also provide step-by-step guide to creating powerful web applications.

## Summary:

* [1. Environment](/environment/README.md)
* [2. Git](/git/README.md)
* [3. Webpack](/webpack/README.md)
* [4. React Express SSR](/react-express-ssr/README.md)
* [5. Monitoring and testing](/monitoring-and-testing/README.md)
* [6. Optimizations and CI](/optimizations-and-ci/README.md)
* [7. Native app assembling](/native-app-assembling/README.md)

repository: DrBronsy/ef-spa

repo_name: DrBronsy/ef-spa


text:
# Shallow

Modified version of shallow-compare. I got tired of having to hack access to the Diff code. Exposes Compare and Diff equally.

Original code: https://github.com/developit/preact-compat/blob/master/src/index.js#L378
Based on: https://github.com/tkh44/shallow-compare

##Example
```javascript
// preact
import { Component, h } from 'preact'
import shallow from 'shallow'

class Foo extends Component {
  constructor( props ) {
    super(props);
    this.state = { color: 'blue' }
  }

  shouldComponentUpdate( nextProps, nextState ) {
    return shallow.Compare(this, nextProps, nextState)
  }

  render() {
    return <div>{this.state.color}</div>
  }
}
```

repository: zwrawr/ludumdare

gha_language: PHP

repo_name: zwrawr/ludumdare


text:
# Hanging Door Roller

This repository contains parts to mount a sliding door on a rail.

![Clamp on tube](photos/IMG_7893.jpg)

## Motivation

When I was renovating my house, I had to remove the sliding doors. The existing sliding door was hanging too low for the new carpet and underlay (it's a few mm thicker) and the existing bracket did not have the range of adjustment to suit the thicker carpet. Understandably, after 20 or so years, the rubber wheels were perished too. I looked at what was available in New Zealand and not only were the replacements pretty expensive, they wouldn't really suit the poor installation of the existing doors.

The rails in my house are mounted too high into the wall and it's not possible to simply remove the door by unhooking it and lifting it off. The design of the included part allows you to install the wheel bracket separately from the door, and then attach them. This process is difficult but I'm not sure if there is an alternative, and it does work.

## Parts Required

These parts are for one roller, you'll need two rollers per door minimum.

- 3x M4 36mm bolts and nuts for joining the base with the bracket.
- 1x [M8 20mm bolt for mounting the wheel](https://www.aliexpress.com/item/304-stainless-steel-round-mushroom-Hexagon-Hexagon-M8-20mm/32357038228.html).
- 1x [M8 wheel](https://www.aliexpress.com/item/10PCS-Free-Shipping-608zz-bearing-coated-POM-cashbox-roller-shutter-8mm-30mm-8-5mm-shower-glass/32594047772.html).

## Instructions

The best method is to get everything ready - wheels on the rail, and door in position. Then, one bracket at a time, position chopsticks or another suitable wedge (I used in addition to chopsticks, an old chisel) to lift up the door. Slide a finger in and push one corner of the bracket into the base. Once you get this in it should be reasonably easy to push the entire unit together and bolt it together.

## Contributing

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

## License

Released under the MIT license.

Copyright, 2016, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).

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

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

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

repository: ioquatix/hanging-door-roller

repo_name: ioquatix/hanging-door-roller


text:
# edd-core

This Dockerfile constructs the `edd-core` image for use in the [Experiment Data Depot][1]. The
image is based on [buildpack-deps:stretch][2], and includes the Python dependencies used by EDD
and clones the current `master` branch into the image. Build with:

    docker build -t yourorg/edd-core ./core

Build from alternate repositories and/or branches with build arguments `GIT_URL` and `GIT_BRANCH`,
for example:

    docker build -t yourorg/edd-core:1.0.0 \
        --build-arg "GIT_URL=https://git.example.org/repo/edd.git" \
        --build-arg "GIT_BRANCH=your-branch-name" \
        ./core

The default build will include a development layer in the image with `coverage` installed. To
build an image without this layer, use `--build-arg "TARGET=prod"`. The intention is to eventually
move more testing-specific installation into this layer, creating a slimmer production image.

The image uses a custom entrypoint with commands for common tasks. Since EDD depends on multiple
services, the entrypoint ensures that all dependencies are up before proceeding. A full listing
of commands is provided below, or can be found by executing `docker run --rm -it edd-core --help`.

    Usage: entrypoint.sh [options] [--] command [arguments]
    Options:
        -h, --help
            Print this help message.
        -q, --quiet
            Silence output from this entrypoint script.
        -a, --init, --init-all
            Perform all initialization tasks prior to command start (default).
        -A, --no-init, --no-init-all
            Skip all initialization tasks; may override with another --init* flag.
        -m, --init-migration
            Run any pending database migrations. Only used to override -A.
        -M, --no-init-migration
            Skip database migrations.
        -i, --init-index
            Re-index search prior to command. Only used to override -A.
        -I, --no-init-index
            Skip search re-indexing.
        --local file
            Copy the file specified to the local.py settings prior to launching the
            command. This option will be ignored if code is mounted to the container
            at /code.
        --force-index
            Force re-indexing; this option does not apply if -I is set.
        -w host, --wait-host host
            Wait for a host to begin responding before running commands. This option
            may be specified multiple times. The waits will occur in the
            order encountered.
        -p port, --wait-port port
            Only applies if -w is used. Specifies port to listen on. Defaults to
            port 24051. This option may be specified multiple times. The Nth port
            defined applies to the Nth host.
        --watch-static
            Watch for changes to static files, to copy to the static volume.

    Commands:
        application
            Start a Django webserver (gunicorn).
        devmode
            Start a Django webserver (manage.py runserver).
        init-only [port]
            Container will only perform selected init tasks. The service will begin
            listening on the specified port after init, default to port 24051.
        init-exit
            Container will only perform selected init tasks, then exit.
        test
            Execute the EDD unit tests.
        worker
            Start a Celery worker node.
        daphne
            Start a Django Channels webserver (daphne).
        channel [... [name]]
            Start a Django Channels worker listening on listed channel names (runworker).

To run a container without going through the entrypoint script, use a command similar to
`docker run --rm -it --entrypoint /bin/bash edd-core`.

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

[1]:    ../../README.md
[2]:    https://hub.docker.com/_/buildpack-deps/

repository: zhwycsz/edd

repo_name: zhwycsz/edd


text:
*Base image originally imported from https://bitbucket.org/nshou/elasticsearch-kibana/overview*

## Elasticsearch and Kibana in one container

Simple and lightweight docker image for previewing Elasticsearch and Kibana.

### SetUp / Usage

Build the image and push it to your (local) registry server. Then you can use:

```
docker run -d -p 9200:9200 -p 5601:5601 <path to the image in the registry>
```

to pull and start the container.

After the successful start of you docker container, you can connect to Elasticsearch by `localhost:9200` and its Kibana front-end by `localhost:5601`.

Browse http://localhost:5601:
* Uncheck "Index contains time-based events"
* Replace "logstash-*" by "projects" and click on "Create"
* Click on "Saved Objects":
* Click on "Import" and select the file in kibana_export/views.json (within the project directory)
* Click on "Import" and select the file in kibana_export/dashboard.json (within the project directory)

### Troubleshooting

In case the container could not be started or stops after a few seconds, you should consider to check the `vm_map_max_count` setting.

```
grep vm.max_map_count /etc/sysctl.conf
```
The value has to be at least set to 262144 for production use. (see https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docker.html)


text:
# LogAnalyzer
Advanced filtering, search and analyzing tool for yours log-files.

## Author
Gusev Alexey
<EMAIL_ADDRESS>
## Features
1. Search by group of files, called 'Fileset'
2. Ability to change encoding for each log-file
3. Advanced search mechanism, based on RD-parser
4. Limit output

## Search Language
Search request constist of three types of elements:
- Logical AND, OR, NOT
- literal: sometext or "some string as single token
- brackets: ( or )

### Examples:
>wolf AND fox - searches lines, containing both 'wolf' and 'fox' substrings
>wolf AND NOT fox - searches the lines, containing 'wolf' and 'not' containing fox substrings
>wolf fox - interpreted as: wolf AND fox
>wolf AND (fox OR squirrel) - searches the lines, containing a 'wolf' and something of 'fox' or 'squirrel'

## Planned Features
1. Saving Filesets
2. ...

## Build
for build use
>gradle fatJar

## Requirements
Java8, JavaFX

## Usage
for start use
>loganalyzer.bat [options] (Windows)
or
>./la.sh [options] (Linux)

## Help
>loganalyzer.bat -h
or
>loganalyzer.bat --help

outputs:
usage: loganalyzer [<option>...] [-Dfile.encoding=<encoding_name>]
LogAnalyzer command-line utility.
        -c,--category <arg>             Category package.
        -f,--filter <arg>               Filter condition.
        -gui                            Show user console.
        -h,--help                       Show this help information
        -i,--info                       Show system information.
        -l,--limit <arg>                Output limit value in lines of log. 0 - unlimited,
                                        By-default is unlimited.
        -s,--source <arg>               Source file name intended to analyze.
        -tf,--time_from <arg>           Timestamp from by pattern HH:mm:ss. By default from time is
                                        open.
        -tsp,--timestamp_pattern <arg>  Pattern of timestamp. By default the pattern is
                                        HH:mm:ss,SSS.
        -tt,--time_till <arg>           Timestamp till by pattern HH:mm:ss. By default till time is
                                        open.


text:
# AnimatedCirclePacking
Animated circle packing randomly generated inside of an image

Download the Processing Environment here and run the application!

https://processing.org/download/

repository: Tyler-Italiano/AnimatedCirclePacking

repo_name: Tyler-Italiano/AnimatedCirclePacking


text:
### [CVE-2021-24307](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24307)
![](https://img.shields.io/static/v1?label=Product&message=All%20in%20One%20SEO%20%E2%80%93%20Best%20WordPress%20SEO%20Plugin%20%E2%80%93%20Easily%20Improve%20Your%20SEO%20Rankings&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=<IP_ADDRESS>%3C%<IP_ADDRESS>%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-502%20Deserialization%20of%20Untrusted%20Data&color=brighgreen)

### Description

The All in One SEO – Best WordPress SEO Plugin – Easily Improve Your SEO Rankings before <IP_ADDRESS> enables authenticated users with "aioseo_tools_settings" privilege (most of the time admin) to execute arbitrary code on the underlying host. Users can restore plugin's configuration by uploading a backup .ini file in the section "Tool > Import/Export". However, the plugin attempts to unserialize values of the .ini file. Moreover, the plugin embeds Monolog library which can be used to craft a gadget chain and thus trigger system command execution.

### POC

#### Reference
No PoCs from references.

#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/SYRTI/POC_to_review
- https://github.com/WhooAmii/POC_to_review
- https://github.com/darkpills/CVE-2021-24307-all-in-one-seo-pack-admin-rce
- https://github.com/manas3c/CVE-POC
- https://github.com/nomi-sec/PoC-in-GitHub
- https://github.com/soosmile/POC
- https://github.com/trhacknon/Pocingit

repository: trickest/cve

branch_name: refs/heads/main

gha_language: HTML

repo_name: trickest/cve


text:
# Plesk-MWES Connector

Plesk-MWES Connector is a connector for bridging Plesk and MailWasher Enterprise Server. This script is intended for Plesk-based server administrators. If you are a desktop user or are administrating a single-site setup you are in the wrong place; please see http://www.firetrust.com for a better suited solution.

__Please note:__ MailWasher Enterprise Server will be referred to as MWES from this point forward. Plesk Panel will simply be referred to as Plesk.

## Features

* Domain names will be created and removed within MWES when created or removed in Plesk. This includes aliases and subdomains!
* Full E-mail reporting and receipts for all Plesk-MWES Connector actions.
* Automatic synchronization of domain names via cron, or a scheduled task. This function ensures all domain names within Plesk are in MWES, and that all domain names not in Plesk are removed from MWES.
* Manual synchronization via the command line.
* Manage MWES domains via the command line.

## Requirements

Linux
Plesk 8.6+.
MailWasher Enterprise Server (MWES) <IP_ADDRESS>+.
Python 2.6+ (Untested with prior versions).
Python Modules: pycurl, smtplib, urllib (Most should be standard on Linux distributions).

__Note for Windows Server users:__ This script will work just fine, but I do not provide installation instructions. A lot of mucking about with Python libraries is required but it is easy enough to figure out!

## Important Information

### Synchronization

All domain names that are NOT in Plesk will be REMOVED from MWES. If you want to use domains in MWES that are not in Plesk you will need to avoid this function entirely.

The primary purpose of synchronization is to be run daily via a scheduler to ensure that data between Plesk and MWES is consistant. If a domain is added to Plesk but is not in MWES then all mail going to that domain will be immediately rejected! Running the _sync_ command daily ensures that at the longest a domain's E-mail will be out of action for 24 hours in a worse case scenario. While desychronization should never naturally occur it is HIGHLY RECOMMENDED a daily sync is performed.

## Installation

The following steps assume you have Plesk and MWES installed and running with a working configuration. If you have not yet gotten to this point, please refer to the MWES documentation for installation instructions.

I have a detailed post about installing MWES in a Plesk environment on my blog:
http://a.llen.co.nz/chris/2011/09/installing-mailwasher-enterprise-server-in-a-plesk-panel-environment/

### Plesk-MWES-Connector

1. Copy _plesk-mwes-connector.py_ to _/opt/mwes_.
2. Set the owner and group of the script to _mwes_, and change the permissions to _u:rwx,g:---,o:---_ :
`chown mwes:mwes /opt/mwes/plesk-mwes-connector.py
chmod 700 /opt/mwes/plesk-mwes-connector.py`
3. It is now safe to configure the script. Fire up your favorite editor and supply the information required in the EDIT section of the script.
4. You should now import ALL domain names into MWES via the sync tool. If you installed the script in the default location:
`/opt/mwes/plesk-mwes-connector.py sync`
If your configuration is wrong you will find out at this point. Correct the error and repeat this step. If you have notifications enabled you will receive a synchronization report.
5. Please follow the appropriate steps below for your version of Plesk. The instructions will assume the script is installed in the default location.

### Plesk 8.6 to 9.3

1. Login to Plesk as _admin_ and browse to the _Event Management_ tool.
2. Add the _Events_ below with the following settings: _user_: _root_ and _priority_: _normal (50)._
  * __Domain alias created__
    `/opt/mwes/plesk-mwes-connector.py add-domain <new_domain_alias_name>`
  * __Domain alias deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain <old_domain_alias_name>`
  * __Domain alias updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain <old_domain_alias_name> <new_domain_alias_name>`
  * __Subdomain created__
    `/opt/mwes/plesk-mwes-connector.py add-domain <new_subdomain_name>.<new_domain_name>`
  * __Subdomain deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain <old_subdomain_name>.<old_domain_name>`
  * __Subdomain updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain <old_subdomain_name>.<old_domain_name> <new_subdomain_name>.<new_domain_name>`
  * __Website created__
    `/opt/mwes/plesk-mwes-connector.py add-domain <new_domain_name>`
  * __Website deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain <old_domain_name>`
  * __Website updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain <old_domain_name> <new_domain_name>`
3. Browse to _Scheduled Tasks_. Add a new scheduled task for the _root_ user with the following options:
  * __Minute:__ 45
  * __Hour__: 0
  * __Day of the month__: *
  * __Month__: *
  * __Day of the week__: *
  * __Command__:
  `/opt/mwes/plesk-mwes-connector.py sync >/dev/null 2>&1`
4. Daily sync is now enabled. If you used the options above the sync will occur at 45 minutes past MIDNIGHT (it is best to stagger scheduled tasks!)

### Plesk 9.5 - 10.x and above

1. Login to Plesk as _admin_ and browse to the _Server Management > Tools & Utilities > Event Management_ section.
2. Add the _Events_ below with the following settings: _user_: _root_ and _priority_: _normal (50)._
  * __Domain alias created__
    `/opt/mwes/plesk-mwes-connector.py add-domain ${NEW_DOMAIN_ALIAS_NAME}`
  * __Domain alias deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain ${OLD_DOMAIN_ALIAS_NAME}`
  * __Domain alias updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain ${OLD_DOMAIN_ALIAS_NAME} ${NEW_DOMAIN_ALIAS_NAME}`
  * __Subdomain created__
    `/opt/mwes/plesk-mwes-connector.py add-domain ${NEW_SUBDOMAIN_NAME}.${NEW_DOMAIN_NAME}`
  * __Subdomain deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain ${OLD_SUBDOMAIN_NAME}.${OLD_DOMAIN_NAME}`
  * __Subdomain updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain ${OLD_SUBDOMAIN_NAME}.${OLD_DOMAIN_NAME} ${NEW_SUBDOMAIN_NAME}.${NEW_DOMAIN_NAME}`
  * __Website created__
    `/opt/mwes/plesk-mwes-connector.py add-domain ${NEW_DOMAIN_NAME}`
  * __Website deleted__
    `/opt/mwes/plesk-mwes-connector.py remove-domain ${OLD_DOMAIN_NAME}`
  * __Website updated__
    `/opt/mwes/plesk-mwes-connector.py rename-domain ${OLD_DOMAIN_NAME} ${NEW_DOMAIN_NAME}`
3. Browse to _Server Management > Tools & Utilities > Scheduled Tasks_. Add a new scheduled task for the _root_ user with the following options:
  * __Minute:__ 45
  * __Hour__: 0
  * __Day of the month__: *
  * __Month__: *
  * __Day of the week__: *
  * __Command__:
  `/opt/mwes/plesk-mwes-connector.py sync >/dev/null 2>&1`
4. Daily sync is now enabled. If you used the options above the sync will occur at 45 minutes past MIDNIGHT (it is best to stagger scheduled tasks!)

## Command-line Options

The following command line options are available:

* Add a domain:
`plesk-mwes-connector.py add-domain <domain name>`
* Rename a domain:
`plesk-mwes-connector.py rename-domain <old domain name> <new domain name>`
* Remove a domain:
`plesk-mwes-connector.py remove-domain <domain name>`
* Synchronize all domains in MWES with Plesk, or just import all domains from Plesk in to MWES for the first time:
`plesk-mwes-connector.py sync`

## Support and Contact Info.

This script was written by Chris Allen of Allenmara Computers, Ltd.

If you would like support, please contact me directly via<EMAIL_ADDRESS>
## License

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: xallen/plesk-mwes-connector

repo_name: xallen/plesk-mwes-connector


text:
# BCIT-passion-project
## Description
This passion project is an upgrade of one of my previous projects. One of the website I have built and maintaining, [PG Chinese](https://www.pgchinese.net), was built on Google site. It is good but can be improved. Firstly, the styles from Google site are very limited. Secondly, the ways we can update the content are very limited as a well. So I decided to build a CMS base on Wordpress with customized theme and features.
## Functional & Non-Functinoal Features
### Functional
* The owner of the website can add/edit/delete post on it, and place the post in different categories.
* In each of the post, it supports paragraphs, map location and pictures.
### Non-Functional
* The website should be well designed.
* The wensite should be user-friendly.
* Responsive
## Must Have and Nice to have Features
### Must Have:
*  The owner of the website can add/edit/delete post on it,  In each of the post, it supports paragraphs.
### Nice to Have:
* In each of the post, it supports map location, pictures and be able to place the post in different categories.
* The website should be well designed.
* The wensite should be user-friendly.
## Database Diagram:
![alt text](https://github.com/xdc811/BCIT-passion-project/raw/master/database%20diagram.jpg)
## Prototypes
### Index:
![alt text](https://github.com/xdc811/BCIT-passion-project/raw/master/pgchinese_index.jpg)
### Post Layout:
![alt text](https://github.com/xdc811/BCIT-passion-project/raw/master/pgchinese_post.jpg)
### Post Edit:
![alt text](https://github.com/xdc811/BCIT-passion-project/raw/master/pgchinese_upload.jpg)

repository: dongchenxie/BCIT-passion-project

repo_name: dongchenxie/BCIT-passion-project


text:
# Resume Adrien Poupa

My Jekyll-based resume using [sproogen's](https://github.com/sproogen/modern-resume-theme) template.

### Docker

If you have docker installed you can simply run `docker-compose up` to launch the site in a container, it will then be hosted at `http://localhost:4000`

## License

The theme is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).


text:
# Reporting Security Issues

If you believe you have found a security vulnerability in Next.js, we encourage you to let us know right away.

We will investigate all legitimate reports and do our best to quickly fix the problem.

Email<EMAIL_ADDRESS>to disclose any security vulnerabilities.

https://vercel.com/security

branch_name: refs/heads/canary


text:
# normalize-svg-path [![build](https://travis-ci.org/jkroso/normalize-svg-path.svg?branch=master)](https://travis-ci.org/jkroso/normalize-svg-path)

  Convert all segments in a path to curves. Usefull if you intend to animate one shape to another. By defining all segments with curves instead of a mix of lines, arcs, and curves tweening becomes much simpler. It could also help you rewrite your SVG code according to the principles of [narcissistic design](//vimeo.com/77199361).

## Usage

[![npm install normalize-svg-path](https://nodei.co/npm/normalize-svg-path.png?mini=true)](https://npmjs.org/package/normalize-svg-path/)

```js
import parse from 'parse-svg-path'
import abs from 'abs-svg-path'
import normalize from 'normalize-svg-path'

const segments = normalize(abs(parse('M0 0L10 10A10 10 0 0 0 20 20Z')))
```

## API

### normalize(path)

  Translate each segment in `path` to an equivalent cubic bézier curve. The input `path` must be [absolute](//github.com/jkroso/abs-svg-path).

```js
normalize([['L',1,2]]) // => [['C',0,0,1,2,1,2]]
```

repository: jkroso/normalize-svg-path

gha_language: JavaScript

repo_name: jkroso/normalize-svg-path


text:
## About CHAD

**Brief History**

The Air Force Institute of Technology (AFIT) and HAF/A9 COVID-19 Health Assessment Dashboard (CHAD)
was initially designed and developed by March 2020 graduates of the Department of Operational Sciences. These graduates (Capt James Deitschel, 1st Lt Garrett Alarcon, 2d Lt Nicholas Forrest, 2d Lt Trey Pujats) conceived this project as a way to provide leaders up-to-date pandemic information specifically tailored to military installations and surrounding counties. This included hospital capacity in an area, new cases, case growth, forecasting of cases, and local and national summaries. Information that while available, existed in too many disparate sources. Bringing this together into a single cohesive experience enabled leaders across the Department of the Air Force to make rapid and informed decisions regarding the pandemic in their area since the start of April.

**Current**

CHAD development and usage has been adopted by HAF/A9, and is still being supported by AFIT. Majority of MAJCOMs, along with Air Staff have been using CHAD to provide critical up-to-date information to senior leaders. Recent updates have allowed the inclusion of Army, Navy, and Marine installations making it a Joint force tool.

The current team at HAF/A9 maintaining and developing CHAD consists of:
* Maj Taylor Leonard
* Capt Andrew Keith
* Capt Garrett Alarcon
* Capt Matthew Burzenski

Please contact the team if you any questions regarding CHAD. Alternatively if you spot any issues, or have a request for an additional feature please use the link below:

https://github.com/CHAD-Analytics/CHAD/issues/new/choose

repository: CHAD-Analytics/CHAD

gha_language: R

repo_name: CHAD-Analytics/CHAD


text:
v1.2 - Age of iOS 11

- Updated for iOS 11.
- You can give App Store stars without leaving the game!
- You can buy IAPs from the App Store!
- Compatible with the New iPad Pro!

==================Details==================

Game:

- Added 9 new generation items.
- You get bonus skill when you discover new recipes. (Thanks neo42)
- Increased slots of all Wood Shed's. (Thanks Antiliterat)
- Increased slots of all Bag's.
- Marketplace has more deals that give out gems. (Thanks AntiLiterat)
- Added a setting to receive notifications on Minion return. (Thanks tdogu)

Interface:

- Status bar bugs have been fixed. (by removing status bar & time) (Thanks everyone)
- Alf's eyebrows move when item is on top of him. (Thanks Grika)
- Improved gamble screen. (Thanks Zohra)
- Gives error when using a tablet to gather when Communication skill isn't enough. (Thanks Ralph)

Misc:

- Changed app icon.
- Recipe Book history has a limit of 50 items. (Thanks Big Boi)
- Gives sound feedback when storage is full.

Bug Fixes:

- Fixed throwing away items on Alf. (Thanks All)
- Fixed refreshing bugs when crafting by 100s. (Thanks Snufkin, BarcodExpress, Ralph)
- Fixed not completing maxed skill achievements. (Thanks Adam & wex52)
- Fixed generation items in Granmas Container not moving into next generation. (Thanks Mike)
- Fixed keyboard height problem. (Thanks Grika & U77)
- Fixed TA popup coming multiple times. (Thanks Synister & Hayaari)
- Fixed filling sling crash. (Thanks Kyrinia & Laina)
- Fixed Sequoia investments carrying over generations. (Thanks Tye)
- Fixed being able to put non food items in pot.
- Fixed skill description crash.
- Fixed random Marketplace crash. (Thanks Xaeyr)
- Fixed village item refresh bugs. (Thanks Sters)
- Fixed items dissapearing while dragging containers bug. (Thanks all)
- Fixed dragging container bugs. (Thanks Tye)
- Fixed durability adding to the wrong item. (Thanks Ralph)
- Fixed iCloud save bugs. (Thanks Feria)


text:
Tool uses various method of encryption to ensure maximum privacy (Curve25519, XSalsa20, RSA, Scrypt key derivation function).

Message is encrypted with NaCl Secret Box using https://tweetnacl.js.org/, JavaScript implementation of
Networking and Cryptography library (NaCl https://nacl.cr.yp.to/). Nonce used for Secret Box is used to generate
link anchor which is used then to retrieve the message. Nonce is necessary to decrypt the message, it is not
saved anywhere else so only user using the link can decode the message. To increase security one can use a password.
This password will be used to generate ephemeral security key.

Encrypted message with secret key is sealed again using asymmetric algorithm NaCl Box and stored in Database.

All keys and nonces on browser side are unique for every action. NaCl Box server keys are generated while application
started for the first time and are encrypted at rest using RSASSA-PSS 3072 bit key with a SHA-256 digest.
RSA encryption/decryption keys use hardware security module (HSM).

Service runs in Google Cloud RUN infrastructure and is available on https://securenote.io/.

To Do List:
- [x] internalization support
- [x] move param link into anchor part
- [x] test the handlers
- [x] password, extra layer of security
- [ ] key encryption key rotation
- [ ] different destruction times
- [ ] more info, faq, etc.


text:
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=jforge_docker-nodejs-unresponsive-app&metric=alert_status)](https://sonarcloud.io/dashboard?id=jforge_docker-nodejs-unresponsive-app)
[![Actions Status](https://github.com/jforge/docker-nodejs-unresponsive-app/workflows/Docker%20Image%20CI/badge.svg)](https://github.com/jforge/docker-nodejs-unresponsive-app/actions?query=workflow%3A"Docker+Image+CI")

# The Unresponsive App

Simple Node.js application NOT responding to any TCP request (except for the HTTP maintenance endpoints).

This application is used as a system test helper for circuit breaker scenarios in real environments.
Although it is meant as an HTTP application, 'unresponsitivity' can as well be tested with any TCP-based protocol (requires Node v6 or higher).

## Startup

Run docker with
```
docker run -p 8080:8095 docker.pkg.github.com/jforge/docker-nodejs-unresponsive-app/unresponsive-webapp:v-1572443441
```

This project matches requirements for a Docker Hub Automated Build, e.g. https://hub.docker.com/r/jforge/unresponsive-app/

A corresponding Docker image can be used e.g. for a AWS EC2 Container deployment to get a public available "unresponsive" application very quickly, e.g. http://<your-ec2-instance-id>.<aws-region>.compute.amazonaws.com/manage/health

## API

Default behaviour is "unresponsive".
The server then never responds except for the health checks and responsive switch.

HTTP-GET for the switches is just used for convenience and does not follow any REST-oriented approach (sorry).

Available HTTP requests:

|HTTP method |Uri |Response |Description
|:---|:---|---:|:---|
|HEAD|*|200|Returns empty, if head request is not blocked
|OPTIONS|*|200|Returns with options response headers, if not blocked
|GET|/manage/health|200|Returns health and responsivity status
|GET|/api/health|200|Returns health and responsivity status
|GET|/manage/set_responsive|200|Sets the behaviour to "responsive"
|GET|/manage/set_unresponsive|200|Sets the behaviour to "unresponsive"
|GET|/manage/method/head/allow|200|Allows HEAD requests (default)
|GET|/manage/method/head/block|200|Blocks HEAD requests
|GET|/manage/method/options/allow|200|Allows OPTIONS requests (default)
|GET|/manage/method/options/block|200|Blocks OPTIONS requests
|GET, POST|/any/other/uri|none (timeout)|Server does not answer with (default) mode "unresponsive"
|GET, POST|/any/other/uri|200|Server returns always with 200 with mode "responsive"

"Unresponsive" := the server doesn't answer at all, if using

"Allows/Blocks" : = the server allows or blocks requests with the particular http method.

#### Manage Response Payload

The above-mentioned /manage methods answer with OK-health and the current (global) responsivity setting.

The values for the http method HEAD and OPTIONS are displayed accordingly.

```json
{
  "status": "OK",
  "responsivity": "unresponsive",
  "HEAD" : "allowed",
  "OPTIONS": "allowed"
}
```

#### Response in "responsive" mode

If the server is set to "responsive", any Uri request but the above-mentioned /api/health and /manage methods
causes an HTTP 200-OK response together with a payload containing the requested resource.

```json
{
  "status": "OK",
  "requestUri": "/any/other/uri"
}
```

repository: jforge/docker-nodejs-unresponsive-app

repo_name: jforge/docker-nodejs-unresponsive-app


text:
---
title: "Sheet music, DNA, and source code"
date: "2012-07-25"
layout: layouts/post.njk
---

[John D. Cook](http://www.johndcook.com/) makes a very astute point about the
nature of software:

> Not only is DNA not source code, in a sense even source code is not source
> code! Source code in the technical sense, a set of computer language files
> used to build a program, is not source code in the colloquial sense of
> “everything you need to know.”

And also:

> Practically speaking, it takes far more than source code to be able to
> maintain a program, especially if you want to come up to speed quickly.
> There’s always extra knowledge needed outside the code. This extra knowledge
> may be so widespread within a community as to be invisible. It’s still there,
> though it may take someone outside the community to see it.

The fact that there is "extra knowledge" that is not communicated through the
source code is big deal and important to recognize. How do we capture the tribal
knowledge that accumulates as a project progresses? How do we open the walled
gardens of communications among the team? How do we keep track of the gotchas,
tips and tricks and minutiae of working on, building, and deploying the
software?

Most of the tools and processes software developers use daily attempt to address
and alleviate this issue. Version control stores the history of code changes and
provides the ability to annotate those changes. Bug tracking keeps track of
defects and communicates what the problems and fixes are. We have daily
standups, kanban boards, chats, emails, wikis, post-it notes - a huge range of
forms of capturing and sharing information.

gha_language: Nunjucks


text:
ZNC mailnotify
=============

ZNC mailnotify  is a module for [ZNC][] that will send notifications to a specified mailbox
for any private message or channel highlight that matches a configurable set of conditions.

This project is forked from ZNC cmdnotify (https://github.com/bgirard/znc-cmd-notify) which
is in turn forked from ZNC to Notifo created by [John Reese](http://johnmreese.com).

Compiling
---------

If you have installed ZNC from a Linux distribution's repository, you will most likely
need to install the development package before building this module.  On Ubuntu, this can
be installed with:

    $ sudo aptitude install znc-dev

If you have `make` installed, you can compile the module with:

    $ make

Otherwise, run the full command:

    $ znc-buildmod mailnotify.cpp

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

Copy the compiled module into your ZNC profile:

    $ cp mailnotify.so ~/.znc/modules/

Now, load the module in ZNC:

    /msg *status loadmod mailnotify

or via the webinterface.

Set your email address (`email_address`) and the highlight (`highlight`)
via `/msg *mailnotify set [...]`

Commands
--------

*   `help`

    Links you to this fine document.

*   `set <option> <value>`

    Allows you to modify configuration values.

*   `append <option> <value>`

    Allows you to add a string to end of a configuration value.  Automatically adds a
    space to separate the appended value from the existing value.

*   `prepend <option> <value>`

    Allows you to add a string to beginning of a configuration value.  Automatically adds
    a space to separate the prepended value from the existing value.

*   `get [<option>]`

    Allows you to see current configuration values.

*   `unset <option>`

    Allows you to reset a configuration option back to the default value.

*   `status [<context>]`

    Check the status of current conditions.  Specifying the "context" of either a channel
    or nick name will provide status values specific to that context.

*   `send <message>`

    Manually trigger a notification with the given message.  Useful for testing to validate
    credentials, etc.

*   `eval <expression>`

    Evaluate the given expression in an empty context.  Useful for testing to validate that
    a given expression is properly formatted and does not contain invalid tokens.

Configuration
-------------

### Settings

*   `email_address = ""`

    The mailbox you want to relay notifications to. You need to set this before this module can work properly

*   `email_subject = "IRC Notification"`

    The subject for the mail. Defaults to "IRC Notification".

*   `email_header = "IRC Notification"`

    The first line of the mail body. Defaults to "This message just been sent on IRC:".

### Conditions

*   `away_only = "no"`

    If set to "yes", notifications will only be sent if the user has set their `/away` status.

*   `client_count_less_than = 1`

    Notifications will only be sent if the number of connected IRC clients is less than this
    value.  A value of 0 (zero) will disable this condition.

*   `highlight = ""`

    Space-separated list of highlight strings to match against channel messages using
    case-insensitive, wildcard matching.    Strings will be compared in order they appear in the configuration value, and
    the first string to match will end the search, meaning that earlier strings take priority
    over later values.

    Individual strings may be prefixed with:

    *   `-` (hypen) to negate the match, which makes the string act as a filter rather than
        a search

    *   `_` (underscore) to trigger a "whole-word" match, where it must be surrounded by
        whitespace to match the value

    *   `*` (asterisk) to match highlight strings that start with any of the above prefixes

    As an example, a highlight value of "-pinto car" will trigger notification on the
    message "I like cars", but will prevent notifications for "My favorite car is the Pinto"
    *and* "I like pinto beans".  Conversely, a highlight value of "car -pinto" will trigger
    notifications for the first two messages, and only prevent notification of the last one.

    As another example, a value of "_car" will trigger notification for the message "my car
    is awesome", but will not match the message "I like cars".

*   `idle = 0`

    Time in seconds since the last activity by the user on any channel or query window,
    including joins, parts, messages, and actions.  Notifications will only be sent if the
    elapsed time is greater than this value.  A value of 0 (zero) will disable this condition.

*   `last_active = 0`

    Time in seconds since the last message sent by the user on that channel or query window.
    Notifications will only be sent if the elapsed time is greater than this value.  A value
    of 0 (zero) will disable this condition.

    Note that this condition keeps track of the last message sent to each channel and query
    window separately, so a recent PM to Joe will not affect a notification sent from
    channel #foo.

*   `last_notification = 0`

    Time in seconds since the last notification sent from that channel or query window.
    Notifications will only be sent if the elapsed time is greater than this value.  A value
    of 0 (zero) will disable this condition.

    Note that this condition keeps track of the last notification sent from each channel and
    query window separately, so a recent PM from Joe will not affect a notification sent
    from channel #foo.

*   `nick_blacklist = ""`

    Space-separated list of nicks.  Applies to both channel mentions and query windows.
    Notifications will only be sent for messages from nicks that are not present in this
    list, using a case-insensitive comparison.

    Note that wildcard patterns can be used to match multiple nicks with a single blacklist
    entry. For example, `set nick_blacklist *bot` will not send notifications from nicks
    like "channelbot", "FooBot", or "Robot".  Care must be used to not accidentally
    blacklist legitimate nicks with wildcards.

*   `replied = "no"`

    If set to "yes", notifications will only be sent if you have replied to the channel or
    query window more recently than the last time a notification was sent for that context.

### Notifications

*   `message_length = 1024`

    Maximum length of the notification message to be sent.  The message will be nicely
    truncated and ellipsized at or before this length is reached.  A value of 0 (zero) will
    disable this option.

### Advanced

*   `channel_conditions = "all"`

    This option allows customization of the boolean logic used to determine how conditional
    values are used to filter notifications for channel messages.  It evaluates as a full
    boolean logic expression,  including the use of sub-expressions.  The default value of
    "all" will bypass this evaluation and simply require all conditions to be true.

    The expression consists of space-separated tokens in the following grammar:

    *   expression = expression operator expression | "(" expression ")" | value
    *   operator = "and" | "or"
    *   value = "true" | "false" | condition
    *   condition = <any condition option>

    As a simple example, to replicate the default "all" value, would be the value of
    "away_only and client_count_less_than and highlight and idle and last_active and
    last_notification and nick_blacklist and replied".

    Alternately, setting a value of "true" would send a notification for *every* message,
    while a value of "false" would *never* send a notification.

    For a more complicated example, the value of "client_count_less_than and highlight and
    (last_active or last_notification or replied) and nick_blacklist" would send a
    notification if any of the three conditions in the sub-expression are met, while still
    requiring all of the conditions outside of the parentheses to also be met.

*   `query_conditions = "all"`

    This option is more or less identical to `channel_conditions`, except that it is used
    to filter notifications for private messages.

Roadmap
-------

### Settings

*   Customizable notification titles and message formats.

License
-------

This project is licensed under the MIT license.  See the `LICENSE` file for details.

[mantis]: http://leetcode.net/mantis
[ZNC]: http://en.znc.in "ZNC, an advanced IRC bouncer"
[ISO 8601]: http://en.wikipedia.org/wiki/ISO_8601 "ISO 8601 Date Format"

<!-- vim:set ft= expandtab tabstop=4 shiftwidth=4: -->

repository: milaq/znc-mailnotify

repo_name: milaq/znc-mailnotify


text:
Joined Github **{{ ACCOUNT_AGE }}** years ago.

Since then I pushed **{{ COMMITS }}** commits, opened **{{ ISSUES }}** issues, submitted **{{ PULL_REQUESTS }}** pull requests, received **{{ STARS }}** stars across **{{ REPOSITORIES }}** personal projects and contributed to **{{ REPOSITORIES_CONTRIBUTED_TO }}** public repositories.

Most used languages across my projects:

{{ LANGUAGE_TEMPLATE_START }}
![{{LANGUAGE_NAME}}](https://img.shields.io/static/v1?style=flat-square&label=%E2%A0%80&color=555&labelColor={{LANGUAGE_COLOR:uri}}&message={{LANGUAGE_NAME:uri}}%EF%B8%B1{{LANGUAGE_PERCENT:uri}}%25)
{{ LANGUAGE_TEMPLATE_END }}

Generated using teoxoy/profile-readme-stats

repository: DamianArado/DamianArado

repo_name: DamianArado/DamianArado


text:
# pandoc-chapters

A template for pandoc document writing with build script.

## Prerequisites

- Pandoc (ver <IP_ADDRESS> as of writing)
- Git

Optional:

- fswatch, watching the file system for changes
- Browser extension to automatically reload html

## Usage

1. Clone this repo
2. (optional) Delete the .git directory and ```git init```
3. Write some stuff in the ```./docs``` directory
4. ensure ```chapters``` file includes all the files you need
	- for example ```find ./docs -name "*.*" > ./chapters```
5. run ```./build```
6. ???
7. Profit

## Known Issues

Getting ```pandoc: Duplicate link reference `[\\]' "source"``` warning.

## References

[CSS Templates](https://github.com/kjhealy/pandoc-templates)

[Other Templates](https://github.com/kjhealy/pandoc-templates/tree/master/templates)

repository: fxadecimal/pandoc-chapters

repo_name: fxadecimal/pandoc-chapters


text:
# Intel(R) SGX Yocto Layer

This README file contains information on the contents of the
meta-intel-sgx layer to support Intel(R) SGX on Yocto.

## Dependencies

1) meta-oe for protobuf recipe
URI: git://git.openembedded.org/meta-openembedded -b sumo

2) systemd initialization manager
URI: https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#selecting-an-initialization-manager

Besides dependencies for SGX support on Yocto, Intel(R) SGX technology
needs to be supported by both the silicon as well as the boot firmware,
namely, UEFI BIOS, Slimboot bootloader, etc.

## Patches

Please submit any patches via Github pull requests.

For discussion or patch submission via email, use the following:
<EMAIL_ADDRESS>
Furthermore, in that email, make sure to copy the maintainer and add
"[meta-intel-sgx]" prefix to the subject.

Maintainers: Prakash, Chandra e-mail<EMAIL_ADDRESS>
Adithya Nagaraj Baglody : e-mail<EMAIL_ADDRESS>
## Adding the meta-intel-sgx layer to your Yocto build

  1) bblayers.conf
  2) local.conf

### bblayers.conf

Add the location of the meta-intel-sgx layer to bblayers.conf, in
order to make the build system aware of it, along with any other layers
needed, for example:

```
  BBLAYERS ?= " \
    /path/to/yocto/meta \
    /path/to/yocto/meta-yocto \
    /path/to/yocto/meta-yocto-bsp \
    /path/to/yocto/meta-openembedded/meta-oe \
    /path/to/yocto/meta-intel-sgx \
    "
```

### local.conf

Intel(R) SGX software stack for Linux includes the driver, PSW (Platform SW)
and SDK. Running Intel(R) SGX applications on target needs the driver and
PSW. Additionally, developing Intel(R) SGX applications on target will
need the SDK.

#### Step 1/2) Enable PSW and SDK (SDK is optional)

Add the following to local.conf in order to enable Intel(R) SGX PSW:

```
# Enable Intel(R) SGX PSW support.
IMAGE_INSTALL:append = " sgx"
```

Add the following to local.conf in order to enable Intel(R) SGX PSW and
SGX SDK:

```
# Enable Intel(R) SGX PSW & SDK support.
IMAGE_INSTALL:append = " sgx-dev"
```

#### Step 2/2) Enable the driver

Depending on whether the processor and the boot firmware supports SGX
Launch Control Configuration (LCC) (or in other words, Flex Launch
Control (FLC)), you can pick one of the three SGX LCC modes in the
boot firmware, namely, Unlocked Mode, Intel Locked Mode, OEM/3rd Party
Locked Mode.

If you choose to pick any of the Locked Modes, then SGX
out-of-tree ('isgx') driver must be used. To use the SGX out-of-tree
driver, add the following line to local.conf:

```
IMAGE_INSTALL:append = " isgx"
```

On the other hand, if you choose to pick the Unlocked Mode, then SGX
in-kernel driver must be used. To use the in-kernel SGX driver, add the
following to local.conf:

```
DISTRO_FEATURES:append = " sgx"
```

## Copying

Unless noted otherwise, files are provided under the MIT license (see COPYING.MIT)
and are Copyright © Intel Corporation 2021.

repository: intel/meta-intel-sgx

gha_language: BitBake

repo_name: intel/meta-intel-sgx


text:
## SMUSHI - Sub-Micro Unusably Small Heatermeter Interface

An unusable ESP32-based HeaterMeter client display.

![Mockup Display](images/mockup.png)

## Parts List

* 1x LILYGO TTGO T-Display ESP32 board with 1.14" IPS-TFT [Amazon Affiliate Link](https://amzn.to/3klAF2w)

These boards can be bought on Aliexpress for $7 + $6 shipping from the LILYGO official store. Power usage is about 60mA, so a Li-Ion or LiPo battery can be connected using the supplied PH-1.25mm connector and the battery will be charged at 500mA when plugged into USB power.

## Prerequisites (Arduino)

Requires TFT_eSPI and HeaterMeterClient libraries
* TFT_eSPI - https://github.com/Bodmer/TFT_eSPI
* HeaterMeterClient - [in this repository](https://github.com/CapnBry/HeaterMeter/tree/master/arduino/libraries/HeaterMeterClient)

Board settings
* Board type: ESP32 Dev Module
* Upload Speed: 921600
* CPU frequency: 80MHz (for lowest battery use) or 160MHz/240MHz
* Flash frequency: 80MHz
* Flash mode: QIO
* Flash size: 4MB
* Partition scheme: Default 4MB with spiffs
* Core debug level: None
* PSRAM: Disabled

## Uploading

* From the SMUSHI source folder, copy TFT_eSPI/User_Setup.h into the TFT_eSPI library directory, overwriting the existing file
* Edit SMUSHI.ino and set WIFI_SSID, WIFI_PASSWORD to connect to your wifi network
* Set HEATERMEATER_IP to the IP address of your HeaterMeter, or leave blank to use the top result from http://heatermeter.com/devices/
* Set TZ to the time zone string to convert to your local time, or blank to display UTC time
* Upload! Hold the button to the right of the USB connector (S2) to use the wifi credentials you compiled in, otherwise the previous connection information will be used
* The button to the left of the USB connector (S1) flips the display, or hold it down for 1s to enter power down mode (~1mA). Use the reset button to wake again.

repository: CapnBry/HeaterMeter

gha_language: C

repo_name: CapnBry/HeaterMeter


text:
# priceCheckJS

[![License MIT](https://img.shields.io/npm/l/express.svg)](http://opensource.org/licenses/MIT)

## Description
This is application for following online products prices ups and downs in real time. It supports authentication for different users where every user has own entered products, which he can view, edit and delete.
Every user needs to be logged in order to access any information. When logged, his authentication token is stored using cookies.

All the user needs to do in order to create a new product for following is to enter its url in the 'Create product' page,
the application then analyzes the URL and if the given website is available, it parses the html and displays current price,
name and gives user ability to add his own description. If the user choose to save the product, the product entity is posted to the server and stored in the database.
From then, the product price is refreshed automatically every 60 minutes or manually by the user from the grid.

## Used technologies

* Node.js and JavaScript for the server side
* Client side is written in JavaScript
* EJS template files and CSS are used for the web interface
* MongoDB for database
* Mongoose Node.js library for connecting

## Currently supported websites

* Ebay.co.uk / Ebay.com
* Emag.bg
* Technopolis.bg
* Technomarket.bg

_More websites will be added when all functionalities are completed_

## Main reasons for this project

This app is created for 'Javascript Advanced' university course, read in the Faculty of Mathematics and Informatics in Sofia University "St. Kliment Ohridski" during 2016/2017 winter semester.

repository: ktodorov/priceCheckJS

repo_name: ktodorov/priceCheckJS


text:
% skopeo-logout(1)

## NAME
skopeo\-logout - Logout of a container registry.

## SYNOPSIS
**skopeo logout** [*options*] _registry_

## DESCRIPTION
**skopeo logout** logs out of a specified registry server by deleting the cached credentials
stored in the **auth.json** file. The path of the authentication file can be overridden by the user by setting the **authfile** flag.
The default path used is **${XDG\_RUNTIME\_DIR}/containers/auth.json**.
All the cached credentials can be removed by setting the **all** flag.

## OPTIONS

See also [skopeo(1)](skopeo.1.md) for options placed before the subcommand name.

**--authfile**=*path*

Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json

Note: You can also override the default path of the authentication file by setting the REGISTRY\_AUTH\_FILE
environment variable. `export REGISTRY_AUTH_FILE=path`

**--all**, **-a**

Remove the cached credentials for all registries in the auth file

**--help**, **-h**

Print usage statement

**--tls-verify**=_bool_

Require HTTPS and verify certificates when talking to the container registry or daemon. Default to registry.conf setting.

## EXAMPLES

```console
$ skopeo logout docker.io
Remove login credentials for docker.io
```

```console
$ skopeo logout --authfile authdir/myauths.json docker.io
Remove login credentials for docker.io
```

```console
$ skopeo logout --all
Remove login credentials for all registries
```

## SEE ALSO
skopeo(1), skopeo-login(1), containers-auth.json(5)

## HISTORY
May 2020, Originally compiled by Qi Wang<EMAIL_ADDRESS>

repository: containers/skopeo

gha_language: Go

repo_name: containers/skopeo


text:
Kafka Cryptocoin
================

Kafka producer for data collection from cryptocurrency exchanges

[![Build Status](https://travis-ci.org/blbradley/kafka-cryptocoin.svg?branch=develop)](https://travis-ci.org/blbradley/kafka-cryptocoin)

Configuration
-------------

### Environment Variables

* `KAFKA_CRYPTOCOIN_BOOTSTRAP_SERVERS`: Comma separated list of Kafka brokers. Port is required.
* `KAFKA_CRYPTOCOIN_SCHEMA_REGISTRY_URL`: URL for Kafka Schema Registry
* `KAFKA_CRYPTOCOIN_PRODUCER_CONFIG`: Path to Kafka producer properties file (optional)

### application.conf

Main config is at `kafka.cryptocoin`.

* `exchanges`: List of enabled exchanges. Default is all supported exchanges.

Kafka
-----

You must have a running Kafka broker and Kafka Schema Registry.
These are part of [Confluent Platform 3.0](http://docs.confluent.io/3.0.0/index.html).
You may go to the [Quickstart](http://docs.confluent.io/3.0.0/quickstart.html)
to get them running locally for development.

Usage
-----

Start the the required services. Then, run:

    export KAFKA_CRYPTOCOIN_BOOTSTRAP_SERVERS=localhost:9092
    export KAFKA_CRYPTOCOIN_SCHEMA_REGISTRY_URL=http://localhost:8081
    sbt run

### Running the tests

    sbt test

Docker
------

### Docker Compose

This repo includes a Compose file that will run the (development version of the) app and all services required for demo purposes.

    docker-compose up

Prepare for lots of output. The app should wait for the required services to start.

### Run Docker image

Images for development and mainline versions are built and pushed to [Docker Hub](https://hub.docker.com/r/coinsmith/kafka-cryptocoin)
when a pull request is merged. Merges into git branches `develop` or `master` are
images published on Docker Hub with tags `develop` and `latest` respectively.
Project releases are published with tags equal to the git release tag.

This downloads the latest development version and assumes your required services
are running locally.

    docker run --net=host \
    -e KAFKA_CRYPTOCOIN_BOOTSTRAP_SERVERS=localhost:9092 \
    -e KAFKA_CRYPTOCOIN_SCHEMA_REGISTRY_URL=http://localhost:8081 \
    coinsmith/kafka-cryptocoin:develop

### Build a Docker image

    sbt docker

Then, you can run it as specified above. Images built from code will be tagged as the
current snapshot version.

repository: blbradley/kafka-cryptocoin

branch_name: refs/heads/develop

gha_language: Scala

repo_name: blbradley/kafka-cryptocoin


text:
SuchRead
========

> _**This project is now retired**._
>
> _I created this project back in 2014 to be a reference for me and the community. I have long since stopped working with Java in general and Spring in particular._

A simple tracker for the stuff I read.

It is also a proof of concept implementation for a webapp using Spring Security with some specific stuff (like an LDAP server). Because I need to learn this stuff.

## Building the application

``` sh
git clone https://github.com/pfac/suchread.git
cd suchread
mvn clean package
```

## Running the application

After building the application, there should be a file `target/suchread.war`, which has to be deployed in a servlet container. [Jetty][jetty] and [Tomcat][tomcat] have been embedded in the project for convenience, but you can use any container or application server ([IBM WebSphere][websphere], [Oracle Weblogic][weblogic], [JBoss AS][jboss-as], etc...)

At the moment, authentication is performed against an LDAP server. Change [spring-security.xml](src/main/webapp/WEB-INF/spring-security.xml) with the correct information regarding your target LDAP server.

### Embedded Jetty

In most cases, Jetty is preferred due to a faster loading time. Run the following command in a shell:

``` sh
mvn jetty:run
```

Afterwards, the application should be accessible on `http://localhost:8080/`.

Jetty's runner is also copied to `target/dependency/jetty-runner.jar` during the build process. So, alternatively, you can start the server by running:

``` sh
java $JAVA_OPTS -jar target/dependency/jetty-runner.jar target/suchread.war
```

This requires the application to be built with a separate command, but does not require `mvn` to be in the shell `PATH` to run the server, thus allowing to deploy the application in services like [Heroku][heroku].

### Embedded Tomcat

Alternatively, should you prefer to use Tomcat, start the server by running:

``` sh
mvn tomcat7:run
```

Afterwards, the application should be accessible on `http://localhost:8080/suchread/`.

## Testing the application

This assumes that the application has been deployed successfully and is correctly configured.

Trying to access the API without authenticating should return `401 Unauthorized`:

```
curl -i -H "Content-Type:application/json" -X GET http://localhost:8080/suchread/api/
```

### Authenticating with cookie

Authentication can be tested with the following command:

```
curl -i -X POST -d j_username=<username> -d j_password=<password> -c ./cookies.txt http://localhost:8080/suchread/j_spring_security_check
```

It should return `200 OK`, assuming correct credentials are used.

After authenticating, using the saved cookie in a request to the API should result in a `200 OK`:

```
curl -i -H "Content-Type:application/json" -X GET -b ./cookies.txt http://localhost:8080/suchread/api/
```

### Authenticating with token

If the credentials are correct, the system generates an **authentication token** and adds it to the response as a custom header `X-Auth-Token`, along with the username as the custom header `X-Username`:

```
$ curl -i -X POST -d j_username=pfac -d j_password=secret http://localhost:8080/suchread/j_spring_security_check
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Username: pfac
X-Auth-Token: DLwIe164b6nbPlrIHNYgYYxNTo6mJhEacaurP0chvnjSR9hlh2
Set-Cookie: JSESSIONID=AEB71995D38F9E998CDCE3B7B36DA0B6; Path=/suchread/; HttpOnly
Content-Length: 0
Date: Fri, 14 Nov 2014 18:17:17 GMT

```

You can also use these tokens to authenticate yourself with the API:

```
 $ curl -i -H "Content-Type:application/json" -H "X-Username:pfac" -H "X-Auth-Token:DLwIe164b6nbPlrIHNYgYYxNTo6mJhEacaurP0chvnjSR9hlh2" -X GET http://localhost:8080/suchread/api/
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=C95171A0E4675B91C3F3DFF5254B9EF6; Path=/suchread/; HttpOnly
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 14 Nov 2014 18:17:40 GMT

{"name":"World","message":"Hello World!"}
```

Note that, at the moment, tokens do not expire, but are only persisted in memory. So they will only be valid until the next restart of the application.

## License

Project under the [MIT License](http://opensource.org/licenses/MIT). Copyright (c) 2014 [Pedro Costa](https://github.com/pfac)

[heroku]: https://www.heroku.com/
[jboss-as]: http://jbossas.jboss.org/
[jetty]: http://www.eclipse.org/jetty/
[tomcat]: http://tomcat.apache.org/
[weblogic]: http://www.oracle.com/us/products/middleware/cloud-app-foundation/weblogic/overview/index.html
[websphere]: www.ibm.com/websphere/

repository: pfac/suchread

repo_name: pfac/suchread


text:
Create a function that takes a string and returns a new string with all vowels removed.

### Examples ###
    removeVowels("I have never seen a thin person drinking Diet Coke.")
    ➞ " hv nvr sn  thn prsn drnkng Dt Ck."

    removeVowels("We're gonna build a wall!")
    ➞ "W'r gnn bld  wll!"

    removeVowels("Happy Thanksgiving to all--even the haters and losers!")
    ➞ "Hppy Thnksgvng t ll--vn th htrs nd lsrs!"

### Notes ###
"y" is not considered a vowel.


text:
TypeSequence jQuery plugin
==========================

Options
-------
Accepts three options:

* `sequence` [ARRAY] an array with either key codes or a string with special keys such as ENTER;
* `enter` [BOOL] if the enter key needs to be pressed at the end. Default: false;
* `callback` [FUNCTION] the JS function that needs to be called when the sequence is completed.
* `once` [BOOL OR STRING] `true` if only one time the sequence can be typed; `false` for multiple times (default); `'depends'` looks at the return of the callback function: if true, the sequence can't be typed again.

Example
-------

        $(window).typesequence({
          sequence: ['p', 'a', 's', 's', 'w', 'o', 'r', 'd'],
          enter: true,
          callback: function(){
            alert('Foo');
          }
        });

See also the source of `demo.html`.

repository: macndesign/TypeSequence

repo_name: macndesign/TypeSequence


text:
# Orc

Orc (short for "orchestrator" or something along those
lines) is a Golang library to manage initialization.

Specifically, it is designed to manage "singleton" libraries
that add functionality to a command-line or server binary
after being initialized.

These libraries can manage their own flags (using the
Cobra library) and may have dependencies in between
themselves and require a certain initialization order.
The orc library is the glue code that calls them
at startup to allow them to set up their flags, and
figures out the initialization order.

## Goal

The goal of Orc is to make it possible to write very
short Go binaries -- especially server binaries -- that
come with an ever-expanding set of batteries included,
making them pleasant to debug and work with.

The Orc libraries handle all the boilerplate and
essentially initialize themselves, letting the application
code focus on the actual application logic.

## Don't use this in its current state

Orc is a highly opinionated framework, and one that is
still taking form and in pretty sketchy shape at the moment.

I'm releasing it to be able to use it as glue code for
other hobby projects. I'm working out the kinks required
for those projects as I go, but I don't recommend anyone
else use it at the moment. Expect usability quirks, bugs,
and API instability. At this point, even the expectations
for code using Orc may change.

Using this library in your own code is strongly
recommended against at the moment.

## Dealing with Orc code

See STANDARDS.md for the peculiarities of Orc code.
Don't use Orc without reading that document. (In fact,
at the moment, don't use Orc at all. See above.)

## Authorship

Orc was written by me, Steinar V. Kaldager.

This is a hobby project written primarily for my own usage.
Don't expect support for it. It was developed in my spare
time and is not affiliated with any employer of mine.

It is released as open source under the MIT license. Feel
free to make use of it however you wish under the terms
of that license.

## License

This project is licensed under the MIT License - see the
LICENSE file for details.

repository: steinarvk/orc

repo_name: steinarvk/orc


text:
# Core team sync, 15.08.2018

## Participants
* Alexander
* Bjørn
* Einar
* Hodo
* Jørgen
* Karoline
* Sindre

## Agenda

* Codeathon 3.0
* General update

## Before Codeathon 3.0
Planning workshop on September 6th. Everyone should have received an invite for this from Rebecca.

We need to create projects for the new bounded contexts before the codeathon.

Invites to the codeathon. Dolittle has been very active in recruiting consulting companies, we all need to share the codeathon with our network.

## Updates from the Core team:

**Hodo & Alexander is working on "Building our story"**
- Continuing the work of documenting personas
- Storyboards / infographics
- Would like to focus on creating a styleguide (similar to https://design.sparebank1.no/) during the codeathon to document the graphic design. Styleguidist can be used for this.

**Update from Dolittle:**
	- Monitoring with alerts is set up
	- Kafka has been replaced
	- Working with the underlying data store
	- Improvements related to authorization and authentication
	- Multi-tenancy

**SMS Gateway**
	- Cisco not an option.
	- Continuing w/ SMS Eagle, at least until other options arise.
	- Bjørn is in discussions with Twilio, they support more countries than listed. The Red Cross could get access to this.

**Front-end frameworks**
Opening up for other front-end frameworks in new bounded contexts, such as React. This requires a rewrite of the navigation bar, but this will not be a problem as the authentication changes from Dolittle will take authentication logic away from front-end.

**Milestone 4**
The following will be done before the codeathon by Dolittle:
	- Persistant Storage
	- Event storage
	- Logging framework

Pushed "Setup test and production environment" to Milestone 5.

# Core team sync, 29.08.2018

## Participants
* Alexander
* Hodo
* Jacob Høgenes
* Karoline
* Samson
* Rebecca
* Hodo

## Agenda

## Before Codeathon 3.0

* 44 volunteers have been registered so far.

* Rebecca will send out list of registered volunteers to the core team, this help us to group and assign them tasks before codeathon
* Red cross team and UX team will discuss updates on UX design next week, possiblely on Monday 3.9 or Tuesday 4.9

## Updates from the Core team:

* Alex will check Angular component replacement for google map with openstreet map, DoLittle will be request to update
production server to match the dev server.

* Alex will check use of Trello board for list of Bounded context event migration. There is a consensus to keep Events as Github issue for discussion and document approved events in one location as Markdown.

* Jacob will reach out professors who works at Sintef and Oslo university and Høgskolan for possible collaboration on use of CBS for master's degree projects

url: https://raw.githubusercontent.com/karolikl/cbs/0ed3e381c4c298b8cabc6ddda9436dffa92e4d23/Meetings/20180815 - Core Team sync.md

repository: karolikl/cbs

path: /Meetings/20180815 - Core Team sync.md

filename: 20180815 - Core Team sync.md

gha_language: C#

repo_name: karolikl/cbs


text:
# Contributing

Thanks for your interest in contributing! :tada: :tada: :tada:

## Commit Message Format

We have very precise rules over how our git commit messages should be formatted. This leads to readable messages that are easy to follow when looking through the project history. We also use the git commit messages to generate our [changelog](https://github.com/mbamobi/http/blob/master/CHANGELOG.md). (Ok you got us, it's basically Angular's commit message format).

`type(scope): subject`

#### Type
Must be one of the following:

* **feat**: A new feature
* **fix**: A bug fix
* **docs**: Documentation only changes
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
* **refactor**: A code change that neither fixes a bug nor adds a feature
* **perf**: A code change that improves performance
* **test**: Adding missing tests
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation

#### Scope
The scope can be anything specifying place of the commit change. For example `config`, `data`, `factory`, etc. If you make multiple commits for the same component, please keep the naming of this component consistent. For example, if you make a change to navigation and the first commit is `fix(factory)`, you should continue to use `factory` for any more commits related to factories.

#### Subject
The subject contains succinct description of the change:

* use the imperative, present tense: "change" not "changed" nor "changes"
* do not capitalize first letter
* do not place a period `.` at the end
* entire length of the commit message must not go over 50 characters
* describe what the commit does, not what issue it relates to or fixes
* **be brief, yet descriptive** - we should have a good understanding of what the commit does by reading the subject

repository: ramonornela/http

gha_language: TypeScript

repo_name: ramonornela/http


text:
# BinCleanerExtension
BinCleanerExtension is an extension who allow you to delete one or multible bin and obj folder of your projects in one click.

## Getting Started

The extension is available [the marketplace](https://marketplace.visualstudio.com/items?itemName=Mybiblipi.BinCleanerExtension) or directly in Visual studio in Tool => Extension and Update

[![marketplace](https://img.shields.io/static/v1?label=Marketplace&message=1.0&color=green)](https://marketplace.visualstudio.com/items?itemName=Mybiblipi.BinCleanerExtension)
[![marketplace](https://img.shields.io/static/v1?label=Marketplace&message=2.1&color=green)](https://marketplace.visualstudio.com/items?itemName=Mybiblipi.BinCleaner2022)

## Compatibility

VS 2022

## How to use it?

Go in "Tools/Clean bin and obj", then select all project to clean, then click on clean and wait for it.

![Image](/images/readMe_Option_01.png)

![Image](/images/readMe_Option_02.png)

repository: ArnaudMarcille/BinCleanerExtension

repo_name: ArnaudMarcille/BinCleanerExtension


text:
The Servicegraph service is an example service that provides endpoints for generating and visualizing a graph of services within a mesh. It exposes the following endpoints:

- `/graph` which provides a JSON serialization of the servicegraph
- `/dotgraph` which provides a dot serialization of the servicegraph
- `/dotviz` which provides a visual representation of the servicegraph

All endpoints take an optional argument of `time_horizon`, which controls the timespan to consider for graph generation.

All endpoints also take an optional argument of `filter_empty=true`, which will restrict the nodes and edges shown to only those that reflect non-zero traffic levels during the specified `time_horizon`.

The Servicegraph example is built on top of Prometheus queries.

# Installing Servicegraph

Let's go back to the istio installation folder.

Execute `cd ~/installation/istio-0.6.0/`{{execute T1}}

Now we need to apply the following file to the OpenShift instance:

`oc apply -f install/kubernetes/addons/servicegraph.yaml -n istio-system`{{execute T1}}

after the installation of `servicegraph` Istio add-ons we need to expose the services.

Execute: `oc expose svc servicegraph -n istio-system`{{execute T1}}

Now, let's wait until `servicegraph` pod is up and running.

Execute `oc get pods -w -n istio-system`{{execute T1}} and wait until `servicegraph` pod STATUS is `Running`.

Check `Servicegraph` route by typing `oc get routes -n istio-system`{{execute T1}}

Now that you know the URL of `Servicegraph`, access it at

http://servicegraph-istio-system.[[HOST_SUBDOMAIN]]-80-[[KATACODA_HOST]].environments.katacoda.com/dotviz

You should see a visual representation of the microservices just like the following picture

![](../../assets/monitoring/servicegraph.png)

gha_language: Shell


text:
# SAPOR 2014 - Using Twitter Data for Research

Presented at the 2014 Annual Southern Association of Public Opinion Researchers ([SAPOR](http://southernassociationforpublicopinionresearch.org/index.htm)) Conference.

[View on-line here.](http://rchew.github.io/SAPOR_2014_Twitter/#/)

###Abstract:
>Twitter data is being increasingly used by researchers to monitor and understand emerging issues, consumer opinions, and the diffusion of information across social networks. While studies suggest that Twitter is a promising rich data source, the technical knowledge needed to access and analyze Twitter data may prove challenging to social scientists and survey methodologists not traditionally trained in computational methods. In this session, we will address issues related to Twitter data retrieval, management, and processing including how to make calls to the Twitter API and the type of software and programming skills needed to access and analyze Twitter data. The goal of the session is to provide attendees with an overview of the steps and skills needed to incorporate Twitter data in their research.

Created by Rob Chew

Edited by Annice Kim, Clay Heaton, Gayle Bieler, and Paul Ruddle


text:
# docker :: CentOS Container for Travis CI
---

## Description
Travis CI uses Ubuntu hosts for running automated tests.  In order to test ansible roles against other systems it is necessary to use Docker Containers.  This container builds CentOS (currently only 7) with ansible pre-installed for use in testing the ansible roles.

## Limitations
Docker containers are not full VMs and are lacking in certain components that may cause Ansible Roles to fail:
* systemd - This container attempts to configure a basic version of systemd
* firewalld - Not installed by default
* selinux - Not usable inside a container
And many more that I'm not smart enough to be aware of.

## Running
Use the following template `.travis.yml` file to leverage this container:
```
sudo: required

services:
  - docker

before_install:
  # Fetch base image
  - sudo docker pull jmeth/travis-centos

script:
  # Run container in detached state
  - sudo docker run --detach --privileged --volume="${PWD}":/etc/ansible/roles/role_under_test:ro --volume=/sys/fs/cgroup:/sys/fs/cgroup:ro travispoc /usr/lib/systemd/systemd > /tmp/container_id
  # Check syntax of ansible playbook
  - sudo docker exec "$(cat /tmp/container_id)" ansible-playbook /etc/ansible/roles/role_under_test/test.yml --syntax-check
  # Run ansible playbook
  - sudo docker exec "$(cat /tmp/container_id)" ansible-playbook /etc/ansible/roles/role_under_test/test.yml
  # Clean up
  - sudo docker stop "$(cat /tmp/container_id)"

notifications:
  email: false
```

## Source
This container was built following this blog [post](http://bertvv.github.io/notes-to-self/2015/12/11/testing-ansible-roles-with-travis-ci-part-1-centos/)

repository: jmeth/docker-travis-centos

repo_name: jmeth/docker-travis-centos