text:
---
title: Upgrading to AEM 6.5 Communities
seo-title: Upgrading to AEM 6.5 Communities
description: How to upgrade from an earlier version to AEM 6.5 Communities
seo-description: How to upgrade from an earlier version to AEM 6.5 Communities
uuid: 929c3892-1b3b-46a7-8e70-fa6864125911
contentOwner: Guillaume Carlino
products: SG_EXPERIENCEMANAGER/6.5/COMMUNITIES
content-type: reference
topic-tags: deploying
discoiquuid: abe5a998-bbe3-4a2b-bcf7-b490a8275219
docset: aem65
exl-id: ea41d35c-967c-4606-b4ec-377e817902e4
---
# Upgrading to AEM 6.5 Communities {#upgrading-to-aem-communities}

Depending on each site's topology and features, the following actions may be necessary when upgrading to AEM Communities 6.5 or installing the latest feature pack.

This section is specific to Communities and supplements the information provided in [Upgrading to AEM 6.5](/help/sites-deploying/upgrade.md) (platform).

## Upgrading from AEM 6.1 or Later {#upgrading-from-aem-or-later}

### Reindex Solr {#reindex-solr}

When installing a new Communities feature pack on a deployment configured with MSRP, it will be necessary to:

1. Install the [latest feature pack](/help/communities/deploy-communities.md#latestfeaturepack).
1. Install the [latest Solr config files](/help/communities/msrp.md#upgrading).
1. Reindex MSRP
   see section [MSRP Reindex Tool](/help/communities/msrp.md#msrp-reindex-tool).

## Upgrading from AEM 6.0 {#upgrading-from-aem}

If pre-existing UGC needs to be retained, then the means to do so depends on whether the deployment stored UGC [on-premise](#on-premise-storage) or in the [Adobe cloud](#adobe-cloud-storage).

### Adobe Cloud Storage {#adobe-cloud-storage}

If the upgraded site was configured to use Adobe cloud storage, then it may appear (incorrectly) as if all UGC has been lost as the SRP methods will be unable to locate the pre-existing UGC in the old location.

Thus, there is the ability to instruct ASRP to use `AEM 6.0 compatability-mode` to access UGC.

For all AEM 6.3 author and publish instances:

* Sign in with administrator privileges.
* Configure [ASRP](/help/communities/asrp.md).
* Follow these steps to make pre-existing UGC visible :

  * Browse to the web console:

    * For example, [https://<host>:<port>/system/console/configMgr](https://localhost:4502/system/console/configMgr)

    * Locate **AEM Communities Utilities** configuration.
    * Select to expand config panel:

      * *Uncheck* `Cloud Storage`

      * Select **Save**

    ![utilities](assets/utilities.png)

### On-premise Storage {#on-premise-storage}

If the upgraded site did not use cloud storage, any pre-existing UGC must be converted to conform to the new structure introduced in AEM 6.1 Communities in support of the common store.

For this purpose, an open source migration tool is available on GitHub:
[AEM Communities UGC Migration Tool](https://github.com/Adobe-Marketing-Cloud/communities-ugc-migration)

### Java APIs {#java-apis}

When upgrading from AEM 6.0 social communities to AEM 6.3 Communities, be aware that many APIs have been reorganized into different packages. Most should be easily resolved when using an IDE for customization of Communities features.

For details on the deprecated SocialUtils package, visit [SocialUtils Refactoring](/help/communities/socialutils.md).

See also [Using Maven for Communities](/help/communities/maven.md).

### No JSP Component Templates {#no-jsp-component-templates}

The [social component framework](/help/communities/scf.md) (SCF) uses the [HandlebarsJS](https://handlebarsjs.com/) (HBS) templating language in place of Java Server Pages (JSP) used prior to AEM 6.0.

In AEM 6.0, the JSP components remained alongside the new HBS framework components in the same location, with the HBS components typically located in subfolders named "hbs".

As of AEM 6.1, the JSP components were completely removed. For Communities, it is recommended to replace all use of JSP components with SCF components.

## AEM Communities UGC Migration Tool {#aem-communities-ugc-migration-tool}

The [AEM Communities UGC Migration Tool](https://github.com/Adobe-Marketing-Cloud/communities-ugc-migration) is an open source migration tool, available on GitHub, that can be customized to export UGC from earlier versions of AEM social communities and import into AEM Communities 6.1 or later.

In additin to moving UGC from earlier versions, it is also possible to use the tool to move UGC from one [SRP](/help/communities/working-with-srp.md) to another, such as from MSRP to DSRP.

## Upgrading from AEM 5.6.1 or Earlier {#upgrading-from-aem-or-earlier}

Conceptually, there are three generations of communities components :

**Gen 1**: Roughly CQ 5.4 through AEM 5.6.0, these are the **collab** components which stored UGC in the local repository using replication as a means of synchronizing UGC across platforms. Other differences involve the implementation using Java Server Pages (JSP) as well as the blog feature consisting of authoring only in the author environment.

**Gen 2**: From AEM 5.6.1 through AEM 6.1, this is a mix of **collab** and **social** components. AEM 6.0 introduced the new [social component framework](/help/communities/scf.md) (SCF) and AEM 6.2 introduced a [common UGC store](/help/communities/working-with-srp.md) where UGC is accessed using a [storage resource provider](/help/communities/srp.md) (SRP).

**Gen 3**: From AEM 6.2 onwards, there are only **social** components, implemented in SCF as Handlebars (HBS) components requiring a choice of SRP for UGC.

gha_language: Groovy


text:
# Development Cluster Management

## Usage

```bash
npm install evo-garage -g
```

Create a containing folder for your cluster, e.g. `$HOME/myCluster`.
Create a simple YAML file `$HOME/myCluster/cluster.yml` with

```yaml
---
script: lxc
env:
    ROOTFS: full-path-to-your-rootfs.squashfs
```

You can use [stemcell](https://github.com/evo-cloud/stemcell) to build a rootfs.

Now start server (remeber to use sudo as lxc requires root privilege):

```bash
sudo garage-server --clusters=$HOME/myCluster
```

Use the following command to list all clusters:

```bash
garage clusters
```

Or you can add a new cluster on the fly:

```bash
garage add-cluster path-to-dir-which-contains-cluster.yml
```

Let's get excited now!

```bash
garage start myCluster 1-16
```

It will create and start 16 nodes with IDs from 1 to 16.
You can also create nodes with any IDs you like:

```bash
garage start myCluster 20 25 46-50
```

Use `lxc-console` to attach to a node:

```bash
sudo lxc-console -n "myCluster-20" -t 1
```

You can check the nodes status:

```bash
garage nodes myCluster
```

You can stop any nodes in the cluster as simple as `start`

```bash
garage stop myCluster 1 5 7 9 10-20
```

### Special configuration for Linux Container

The default Linux Container support requires something to be pre-configured.

- One bridge for accessing external network with DHCP, NAT enabled, the name should be `lxcbr0`
- One bridge for cluster private network, no DHCP configured on host, the name should be `evobr0`

## Supported Containers

It only supports Linux Container at present,
but it is very easy to add other containers like QEMU,
VirtualBox etc if you can build rootfs in virtual disk files.
There are only 4 script files you need to add:

- `nodes`  it prints created node IDs one per line
- `status` it accepts one parameter as node ID and displays node status as one `key:value` pair per line
- `start`  it accepts one parameter as node ID for starting the node
- `stop`   it accepts one parameter as node ID for stopping the node

## License

MIT

license: MIT

repository: evo-cloud-lab/garage

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: evo-cloud-lab/garage


text:
# bullettime

An experimental Matrix homeserver written in Go.

Contributions are under the same terms as
https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.rst

# Starting point from Patrik Oldsberg at Ericsson:

Here's a possible starting point. What's supported so far is basic registration,
and most of the /rooms, /profile, /presence, and /events API:s.

To build this the repo should be cloned to $GOPATH/src/github.com/matrix-org/bullettime, then just use `go build .`

Some explanation of the basic structure:

- #### core/
Core functionality that uses the data structures in the Matrix spec
    - **db/**
    Storage abstractions

    - **events/**
    Event stream implementations, only stream ordering at the moment

    - **interfaces/**
    Public interfaces that are common among all packages

    - **types/**
    Types that are common among all other packages

- #### matrix/
Implementation of the business logic in the Matrix spec, on top of core
    - **api/**
    REST api frontend, built on top of services

    - **service/**
    Glues together core packages and adds business logic.

    - **interfaces/**
    Public interfaces that are common among matrix packages

    - **types/**
    Types that are common among matrix packages

- #### test/
Overarching tests

- #### utils/
General helper methods

- #### vendor/
external modules, uses Go 1.5 vendor experiment

repository: Rugvip/bullettime

repo_name: Rugvip/bullettime


text:
---
layout: post
title: "Weekly meeting #109"
description: "Weekly meeting #109"
date: 2019-01-28 07:30:000
tags: [asyn tasks, ASP.NET Core, Load testing]
---

## Reading

* [Choosing the next direction](https://ayende.com/blog/185313-C/refactoring-c-code-choosing-the-next-direction) by OREN EINI
* [Running async tasks on app startup in ASP.NET Core (Part 3 - Feedback)](https://andrewlock.net/running-async-tasks-on-app-startup-in-asp-net-core-part-3-feedback/) by Andrew Lock
* [Running async tasks on app startup in ASP.NET Core (Part 2)](https://andrewlock.net/running-async-tasks-on-app-startup-in-asp-net-core-part-2/) by Andrew Lock
* [Load Testing and the Requests per Second Curve](https://ardalis.com/load-testing-and-the-requests-per-second-curve) by Steve Smith


text:
---
layout: default
---

####     I am a Data Science postgraduate student of University of Edinburgh. I received my bachelor degree from Beihang University under supervision of Professor [Jichang Zhao](http://zhaojichang.cn/). My current work is about NLP and data visualization by python.

## Working Projects
### [Eagle Eye](http://<IP_ADDRESS>)
**flask** **echarts**

### [China Dream Visualization](http://<IP_ADDRESS>:4345)
**flask** **echarts**

---
## Working Papers

### Positive emotions can help rank negative reviews in e-commerce

gha_language: CSS


text:
# How to use app-build-suite to build an app

## Preparing tools

To be able to complete this tutorial, you need a few tools:

- `app-build-suite` itself; if you haven't done so already, we recommend getting the latest version of the `dabs.sh` helper from [releases](https://github.com/giantswarm/app-build-suite/releases)
- for the building part
  - [docker](https://docs.docker.com/get-docker/)
- for the testing part
  - a working python environment that you can use to install [pipenv](https://pypi.org/project/pipenv/)
    - if you already have python, it should be enough to run `pip install -U pipenv`
  - to be able to use the shortest path, you also need a working python 3.8 environment
    - to avoid problems like missing the specific python version, we highly recommend
      [`pyenv`](https://github.com/pyenv/pyenv#installation) for managing python environments; once `pyenv` is installed, it's enough to run `pyenv install 3.8.6` to get the python environment you need

## Building your app

The project we'll be working on is available in the `examples/tutorial` directory
of this repository. It's content is a ready helm chart that we want to build
with `abs`.
To get started, let's switch to that directory and create an `.abs` subdirectory:

```bash
cd examples/tutorial
mkdir .abs

```

Now, we need to prepare a config file for `abs`. In the `.abs` directory we've just
created, we need to create a `main.yaml` file with the following content:

```yaml
replace-chart-version-with-git: true
generate-metadata: true
catalog-base-url: http://localhost/
```

The first line of the config file will make `abs` set versions in our chart according to ones
detected from the local git repository. The other two are needed only if you want to generate
metadata required for advanced features of the Giant Swarm App Platform. If you want
to learn more, check the [more detailed description](pytest-test-pipeline.md).

We're almost ready to go. One technical detail: when running `abs` using
`dabs.sh`, your current working directory is mapped to inside the docker container.
We have configured `abs` to set our chart version using commit information
from `git`, but our current directory doesn't contain any `git` repository - only
the parent directory does. So, the simplest thing we can do is to move up in our
directory structure and invoke `dabs.sh` from a directory where also `git`'s `.git`
directory is. Since we haven't prepared any tests for our app yet, we're also
requesting `abs` to skip any tests:

```bash
$ cd ../../..
$ dabs.sh -c examples/tutorial
2021-04-28 14:48:03,554 __main__ INFO: Starting build with the following options
2021-04-28 14:48:03,554 __main__ INFO:
Command Line Args:   -c examples/tutorial
Config File (/abs/workdir/examples/tutorial/.abs/main.yaml):
  replace-chart-version-with-git:true
  generate-metadata: true
  catalog-base-url:  http://localhost/
Defaults:
  --build-engine:    helm3
  --steps:           ['all']
  --destination:     .
  --app-tests-deploy-namespace:default
  --app-tests-pytest-tests-dir:tests/abs

2021-04-28 14:48:03,554 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmBuilderValidator
2021-04-28 14:48:03,554 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmGitVersionSetter
2021-04-28 14:48:03,555 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmRequirementsUpdater
2021-04-28 14:48:03,555 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmChartToolLinter
2021-04-28 14:48:03,555 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:03,555 app_build_suite.utils.processes INFO: ct version
2021-04-28 14:48:03,563 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:03,563 app_build_suite.build_steps.helm INFO: Metadata generation was requested, changing default validation schema to 'gs_metadata_chart_schema.yaml'
2021-04-28 14:48:03,563 app_build_suite.build_steps.build_step INFO: Running pre-run step for KubeLinter
2021-04-28 14:48:03,563 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:03,563 app_build_suite.utils.processes INFO: kube-linter version
2021-04-28 14:48:03,610 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:03,610 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmChartMetadataPreparer
2021-04-28 14:48:03,620 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmChartBuilder
2021-04-28 14:48:03,621 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:03,621 app_build_suite.utils.processes INFO: helm version
2021-04-28 14:48:03,667 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmChartMetadataFinalizer
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Running pre-run step for HelmChartYAMLRestorer
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Skipping pre-run step for TestInfoProvider as it was not configured to run.
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Skipping pre-run step for PytestSmokeTestRunner as it was not configured to run.
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Skipping pre-run step for PytestFunctionalTestRunner as it was not configured to run.
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Running build step for HelmBuilderValidator
2021-04-28 14:48:03,668 app_build_suite.build_steps.build_step INFO: Running build step for HelmGitVersionSetter
2021-04-28 14:48:03,681 app_build_suite.build_steps.helm INFO: Replacing 'version' with git version '0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a' in Chart.yaml.
2021-04-28 14:48:03,682 app_build_suite.build_steps.helm INFO: Saving Chart.yaml with version set from git.
2021-04-28 14:48:03,682 app_build_suite.build_steps.build_step INFO: Running build step for HelmRequirementsUpdater
2021-04-28 14:48:03,682 app_build_suite.build_steps.build_step INFO: Running build step for HelmChartToolLinter
2021-04-28 14:48:03,682 app_build_suite.build_steps.helm INFO: Running chart tool linting
2021-04-28 14:48:03,682 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:03,682 app_build_suite.utils.processes INFO: ct lint --validate-maintainers=false --charts=examples/tutorial --chart-yaml-schema=/abs/workdir/app_build_suite/build_steps/../../resources/ct_schemas/gs_metadata_chart_schema.yaml
2021-04-28 14:48:04,718 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO: Linting charts...
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO:
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO: ------------------------------------------------------------------------------------------------------------------------
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO:  Charts to be processed:
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO: ------------------------------------------------------------------------------------------------------------------------
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO:  hello-world-app => (version: "0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a", path: "examples/tutorial")
2021-04-28 14:48:04,719 app_build_suite.build_steps.helm INFO: ------------------------------------------------------------------------------------------------------------------------
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO:
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: Linting chart 'hello-world-app => (version: "0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a", path: "examples/tutorial")'
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: Validating /abs/workdir/examples/tutorial/Chart.yaml...
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: Validation success! 👍
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: ==> Linting examples/tutorial
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO:
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: 1 chart(s) linted, 0 chart(s) failed
2021-04-28 14:48:04,720 app_build_suite.build_steps.helm INFO: ------------------------------------------------------------------------------------------------------------------------
2021-04-28 14:48:04,721 app_build_suite.build_steps.helm INFO:  ✔ hello-world-app => (version: "0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a", path: "examples/tutorial")
2021-04-28 14:48:04,721 app_build_suite.build_steps.helm INFO: ------------------------------------------------------------------------------------------------------------------------
2021-04-28 14:48:04,721 app_build_suite.build_steps.helm INFO: All charts linted successfully
2021-04-28 14:48:04,721 app_build_suite.build_steps.build_step INFO: Running build step for KubeLinter
2021-04-28 14:48:04,721 app_build_suite.build_steps.helm INFO: Running kube-linter tool
2021-04-28 14:48:04,721 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:04,721 app_build_suite.utils.processes INFO: kube-linter lint examples/tutorial --config=examples/tutorial/.kube-linter.yaml
2021-04-28 14:48:04,794 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:04,794 app_build_suite.build_steps.build_step INFO: Running build step for HelmChartMetadataPreparer
2021-04-28 14:48:04,803 app_build_suite.build_steps.build_step INFO: Running build step for HelmChartBuilder
2021-04-28 14:48:04,803 app_build_suite.build_steps.helm INFO: Building chart with 'helm package'
2021-04-28 14:48:04,803 app_build_suite.utils.processes INFO: Running command:
2021-04-28 14:48:04,803 app_build_suite.utils.processes INFO: helm package examples/tutorial --destination .
2021-04-28 14:48:04,853 app_build_suite.utils.processes INFO: Command executed, exit code: 0.
2021-04-28 14:48:04,853 app_build_suite.build_steps.helm INFO: Successfully packaged chart and saved it to: /abs/workdir/hello-world-app-0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a.tgz
2021-04-28 14:48:04,853 app_build_suite.build_steps.build_step INFO: Running build step for HelmChartMetadataFinalizer
2021-04-28 14:48:04,865 app_build_suite.build_steps.helm INFO: Metadata file saved to '/abs/workdir/hello-world-app-0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a.tgz-meta/main.yaml'
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running build step for HelmChartYAMLRestorer
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Skipping build step for TestInfoProvider as it was not configured to run.
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Skipping build step for PytestSmokeTestRunner as it was not configured to run.
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Skipping build step for PytestFunctionalTestRunner as it was not configured to run.
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmBuilderValidator
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmGitVersionSetter
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmRequirementsUpdater
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmChartToolLinter
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for KubeLinter
2021-04-28 14:48:04,865 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmChartMetadataPreparer
2021-04-28 14:48:04,866 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmChartBuilder
2021-04-28 14:48:04,866 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmChartMetadataFinalizer
2021-04-28 14:48:04,866 app_build_suite.build_steps.build_step INFO: Running cleanup step for HelmChartYAMLRestorer
2021-04-28 14:48:04,866 app_build_suite.build_steps.helm INFO: Restoring backup Chart.yaml.back to Chart.yaml
```

What happened here? A few things:

- our chart was validated using `ct` and `kube-linter` tools
- version information in our chart was set to `0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a`
- finally our chart was built with Helm

As a result, we have a new helm chart file and metadata files generated for the
App Platform:

```bash
$ ls -la hello-world-app-0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a.*
-rw-r--r-- 1 piontec piontec 1993 kwi 28 16:48 hello-world-app-0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a.tgz

hello-world-app-0.2.2-9e1d8665b328e957d8637e44674434aed8a3bf4a.tgz-meta:
total 20
drwxr-xr-x 1 piontec piontec    72 kwi 28 16:48 .
drwxrwxr-x 1 piontec piontec  1168 kwi 28 16:51 ..
-rw-r--r-- 1 piontec piontec  1011 kwi 28 16:48 main.yaml
-rw-rw-r-- 1 piontec piontec 11664 mar  2 14:41 README.md
-rw-rw-r-- 1 piontec piontec   300 paź 21  2020 values.schema.json
```

That's it. In a single step we have validated, linted and built a new helm
chart. Additionally, the chart is ready to be used with Giant Swarm App Platform
and already has the optional metadata files generated. Now upload the chart to your
chart registry and start rolling it out to clusters! Please also check
[app-test-suite](https://github.com/giantswarm/app-test-suite) for a tool
that takes your Chart built with `abs` and runs tests for it.


text:
# The ConTeXt Setup library (README)

ConTeXt is a TeX macro package. The high-level commands that are defined
by this package are documented in several xml-files, one for each interface
language. The main file is the english definition in cont-en.xml. This library
gives you a high level access to these definition files.

#  Roadmap

##  Usage

Just look at an example program:

```
   #!/usr/bin/env ruby

   require 'rubygems'
   gem 'contextsetup'
   # or
   # require 'tex/context/contextsetup'

   src=File.read(`kpsewhich cont-en.xml`.chomp)
   root=REXML::Document.new(src).root

   en=ConTeXtSetup::Interface.parse_xml(root)
```

##  Installation

## Other Stuff

Author:: Patrick Gundlach <patrick<EMAIL_ADDRESS>Project Page::  http://rubyforge.org/projects/contextsetup/
Homepage:: (Documentation) http://contextsetup.rubyforge.org/
License:: MIT License (see below)

##  License
Copyright (c) 2006 Patrick Gundlach

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: pgundlach/rbcontextsetup

repo_name: pgundlach/rbcontextsetup


text:
# Intelligent Post-Lock Down Management System for public transportation 🚌
- Post-Lockdown, it will be risky to allow the public transportation without proper mechanism to maintain the social distancing, especially the frequency of buses, trains and     metros shall be managed properly to utilize the capacity with social distancing criteria. The transport authorities must integrate together to maintain the system properly.

# Tools Used
- IBM Watson Assistant, Python 2 or 3, IBM Watson Studio, IBM Cloud for Deployment, Any Web / Mobile app frameworks

# Structure and Implimentation
   ![Image of System-1](https://github.com/deathook007/Covid-19_ChainBreakers-CoronaBot/blob/master/images/Capture-2.PNG)
   ![Image of System-2](https://github.com/deathook007/Covid-19_ChainBreakers-CoronaBot/blob/master/images/Capture-1.PNG)

# Features
- This Bot is designed to provide the coronavirus updates and works as a post lockdown management system in whole.
- Too many updates? Don't worry! Subscribe only to the states that you want only
- Reliablity- The source of data is official Government site ([here](https://mohfw.gov.in/))
- Its ROBUST and QUICK!
  - What if script fails? What if the Govt website changes format?
  -- You get Slack notifications about the exceptions too.
  -- You have log files (check `bot.log`) too, to evaluate what went wrong

![screenshot](https://github.com/deathook007/cli-boilerplates/blob/master/Image%20-%20quick%20use/usage.png)
# Get Slack notifications
  -  Notify whenever there are new cases in India
  -  How many Indian nationals have Corona Virus per State?
  -  How many deaths happened per State?
  -  The new States entering the corona zone like Chattisgarh (As per recorded data)
    ![Image of Slack](https://github.com/deathook007/Covid-19_ChainBreakers-CoronaBot/blob/master/images/Capture-01.png)
    ![Image of Slack](https://github.com/deathook007/Covid-19_ChainBreakers-CoronaBot/blob/master/images/Capture-03.png)
    ![Image of Slack](https://github.com/deathook007/Covid-19_ChainBreakers-CoronaBot/blob/master/images/Capture-02.png)

![screenshot](https://github.com/deathook007/cli-boilerplates/blob/master/Image%20-%20quick%20use/install.png)
# Install
- You need Python
- You need a Slack account + Slack Webhook to send slack notifications to your account
- Install dependencies by running
```bash
pip install tabulate
pip install requests
pip install beautifulsoup4
```
- Clone this repo and create auth.py
- Write your Slack Webhook into auth.py

- Setup the cron job to receive updates whenever something changes
```bash
crontab -e # opens an editor like vim or nano
# now write the following to run the bot every 5 mins
*/5 * * * * cd $PATH_TO_CLONE_DIR; python3 corona_bot.py --states 'haryana,maharashtra'
# to receive updates for all states, ignore the --states flag
```

![screenshot](https://github.com/deathook007/cli-boilerplates/blob/master/Image%20-%20quick%20use/connect.png)
# Reference
- https://www.transformative-mobility.org/news/the-covid-19-outbreak-and-implications-to-public-transport-some-observations
- https://www.teriin.org/article/effects-covid-19-transportation-demand
- https://www.uitp.org/public-transport-and-covid-19
- https://www.uitp.org/management-covid-19-guidelines-public-transport-operators

gha_language: Python

gha_license_id: MIT


text:
# Overview

Using the Apify API, here are some things that you can build:

- A web scraper that can extract data from websites and store it in a format of
  your choice
- An automated bot that can carry out tasks on your behalf, such as order
  products or copy data from one application to another
- A tool to monitor websites for changes and notify you when they occur
- A platform to run computationally intensive tasks, such as image and video
  processing, machine learning or scientific simulations


text:
# BTC Price Check

A minimalist Chrome extension that fetches and displays the last, bid, and ask prices of Bitcoin.

Install the most recent published version from the [Chrome Web Store](https://chrome.google.com/webstore/detail/btc-price-check/omehhmiidkgffbdblgoddeambkejjpdk), or clone this repo and load the unpacked extension into Chrome for the latest version.

Developed by [William Jagels](https://github.com/wijagels) and [Tim Hung](https://github.com/AvocadosConstant).

repository: wijagels/btc-price-check

gha_language: JavaScript

repo_name: wijagels/btc-price-check


text:
# Nihongo Scraper

Scraper to download Japanese news, quizzes, and other resources for use offline.
Data is used for personal study only, and NLP is applied to isolate Kanji for
reading cards, for example.

* nihongo-spider simply scrapes a known site with quizzes and saves the response as JSON/CSV

URL's used are hidden, to prevent a mass of requests to all the sites, or bots following
links from GitHub.

## Build

```
git clone https://github.com/kinow/nihongo-scraper.git
cd nihongo-scraper
pip install -r requirements
```

## Execute nihongo-spider

```
cat > .env <<EOF
START_URL=http://<url>/context/path/
EOF
scrapy runspider nihongo-spider.py -o questions.json
```

repository: kinow/nihongo-scraper

repo_name: kinow/nihongo-scraper


text:
---
published: true
title: NFS - Network File System
tags: nfs system samba linux client server filesystem
---
> In a closed network (where you know every device), NFS is a fine choice. With a good network, throughput it disgustingly fast and at the same time less CPU intensive on the server. It's very simple to set up and you can toggle readonly on shares you don't need to be writeable. - [NFS vs Samba](https://askubuntu.com/questions/7117/which-to-use-nfs-or-samba#7124)

## [NFS & Symlink](https://unix.stackexchange.com/questions/135048/how-to-follow-symlinks-in-nfs/460929#460929)

Symbolic links only contain a path to another file or directory on the originating system where they're being shared from. Unless you take care to make the links relative or to duplicate the same directory structures on remote systems as the originator of the share, they simply will not work.

This can be easily fixed: see [symlink]({% post_url 2021-10-18-symlink %})

# Client

### List exporter folder for given server
{% highlight cpp %}
showmount -e [server ip]
{% endhighlight %}

### Mount Shared Directory
{% highlight bash %}
$ sudo mkdir -p /nfs/backup
$ sudo mount <IP_ADDRESS>:/mnt/Backup /nfs/backup
{% endhighlight %}

# Auto-mounting an NFS share

### Automount (systemd)
The main difference is that **autofs**, with the right auto scripts, will dynamically list the available shares. So you don't need to pre-define and hard-code which machines/shares should be made available.

With **systemd's automount**, only shares which you have pre-configured will be visible.

- [Automatic mounts with systemd](https://blog.tomecek.net/post/automount-with-systemd/)
	- [Systemd automount vs autofs](https://unix.stackexchange.com/questions/374103/systemd-automount-vs-autofs#375602)

## Install

{% highlight bash %}
$ sudo apt install nfs-common
{% endhighlight %}

### Autofs

- [ubuntu](https://help.ubuntu.com/community/Autofs)
- [How to use autofs](https://opensource.com/article/18/6/using-autofs-mount-nfs-shares)
- [stack](https://askubuntu.com/questions/884389/auto-mount-nfs-via-autonfs)

{% highlight bash %}
$ sudo apt-get install autofs
{% endhighlight %}

Add the following line at the end of [**/etc/auto.master**](https://doc.ubuntu-fr.org/autofs)

{% highlight text %}
/nfs   /etc/auto.nfs	--ghost,--timeout=30
{% endhighlight %}

Create **/etc/auto.nfs**, and specify [nfs mount options](http://manpages.ubuntu.com/manpages/bionic/man5/nfs.5.html):
{% highlight text %}
<server-name>   -fstype=nfs4,soft   <server-ip/host>:/
{% endhighlight %}

Reload /etc/init.d/autofs
{% highlight bash %}
$ systemctl start autofs
{% endhighlight %}

# Host

[Creating the Exported Directories on the Host](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-18-04#step-3-%E2%80%94-configuring-the-nfs-exports-on-the-host-server)

`sudo micro` **/etc/exports**
{% highlight text %}
directory_to_share    client(share_option1,...,share_optionN)
{% endhighlight %}

Then restart service: `sudo systemctl restart nfs-kernel-server`

### Options details
**rw:** This option gives the client computer both read and write access to the volume.

**sync:** This option forces NFS to write changes to disk before replying. This results in a more stable and consistent environment since the reply reflects the actual state of the remote volume. However, it also reduces the speed of file operations.

**no_subtree_check:** This option prevents subtree checking, which is a process where the host must check whether the file is actually still available in the exported tree for every request. This can cause many problems when a file is renamed while the client has it opened. In almost all cases, it is better to disable subtree checking.

**no_root_squash:** By default, NFS translates requests from a root user remotely into a non-privileged user on the server. This was intended as security feature to prevent a root account on the client from using the file system of the host as root. no_root_squash disables this behavior for certain shares.

- [How to properly set permissions for NFS folder?](https://serverfault.com/questions/240897/how-to-properly-set-permissions-for-nfs-folder-permission-denied-on-mounting-en)

### Refs
- [How To Set Up an NFS Mount](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-18-04)
- [Ubuntu](https://help.ubuntu.com/community/SettingUpNFSHowTo#Shares)
- [NFS Client Configuration To Mount NFS Share](https://www.cyberciti.biz/tips/ubuntu-linux-nfs-client-configuration-to-mount-nfs-share.html)

see also
- [How can I cache NFS shares on a local disk?](https://askubuntu.com/questions/4572/how-can-i-cache-nfs-shares-on-a-local-disk)
- [Can FS-Cache be configured to always cache the full file on read?](https://unix.stackexchange.com/questions/389349/can-fs-cache-be-configured-to-always-cache-the-full-file-on-read)
- ["sync" command over NFS](https://stackoverflow.com/questions/21413048/sync-command-over-nfs) - Consider just `sudo mount /nfs-mount -o remount
- [How to unmount NFS when server is gone?](https://askubuntu.com/questions/292043/how-to-unmount-nfs-when-server-is-gone) - `umount -f -l /mnt/myfolder`, and that will fix the problem.
`


text:
## tpaga-android-sdk

Tpaga SDK allows your application connect with the Tpaga API to create new tokens which represents a credit cards. Have two options to generate credit card tokens. The first include a fragment where you can to write the credit card data or scan it.
The other option is to make the request to the Tpaga API. Both return a credit card token. You can show a implementation example here [Example Tpaga SDK](https://github.com/Tpaga/tpaga-android-sdk-sample)

Support

### Latest release

The most recent release is tpaga-sdk 1.0.0, released December 13, 2016

### Get Started

1. Add depencency:

- Using Maven add the following
```
<dependency>
  <groupId>co.tpaga</groupId>
  <artifactId>android</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>
```

- Using Gradle

```
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://raw.github.com/Tpaga/tpaga-android-sdk/releases"
        }
    }
}

dependencies{
  compile 'co.tpaga:android:1.0.0'
}
```

- Using Ivy
```
<dependency org='co.tpaga' name='android' rev='1.0.0'>
  <artifact name='android' ext='pom' />
</dependency>
```

>1. Other option is download and import the module [tpaga-sdk](https://github.com/Tpaga/tpaga-android-sdk/tree/master/tpaga-sdk) into your project.
2. Add `compile project(":tpaga-sdk")` in your app build.gradle
```
dependencies {
    compile project(":tpaga-sdk")
 }
```

2. Add permissions in the manifest
```
<uses-permission android:name="android.permission.INTERNET" />
```

3. Initialize Tpaga SDK

In the Activity or Application file initialize tpagasdk. Set your public key and select environment.
Use your `public_api_key` to initialize. This key is in your dashboard [sandbox](https://sandbox.tpaga.co)/[production](https://api.tpaga.co/). The enviroment can be `TpagaAPI.SANDBOX` OR `TpagaAPI.PRODUCTION`. You must check that the added public_api_key matches the selected environment.

```
Tpaga.initialize("public_api_key", Tpaga.SANDBOX);
```

## Usage

### Add Credit Card (tokenize)

First option is use AddCreditCardFragment to add credit cards

- Add `AddCreditCardFragment` fragment in your activity

```
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
AddCreditCardFragment mAddCreditCardFragment = new AddCreditCardFragment();
ft.add(R.id.content_default, mAddCreditCardFragment, fragmentTag);
ft.commitAllowingStateLoss();
```

- Your activity must implement `AddCreditCardView.UserActionsListener` and override methods.
```
//This method is execute if fields in fragment are correct and tokenize credit card is successful
@Override
public void onResponseSuccessTokenizeCreditCard(String creditCardToken) {
    /**
     * you must send the creditCardToken to your server to use in payments
     */
}

//This method is called when the request presents a error
@Override
public void showError(Throwable t) {
    if (t instanceof TpagaException) {
        //.getStatusCode() return the http error
        ((TpagaException) t).getStatusCode();
    }
}
```

To customize AddCreditCardFragment you can overwrite the next styles

```
<style name="Base.Button" parent="Theme.AppCompat.Light"></style>
<style name="Base.TextInputLayout" parent="Theme.AppCompat.Light"></style>
<style name="Base.EditText"<EMAIL_ADDRESS><style name="Tittle"></style>
```

Second option without AddCreditCardFragment

- Implements `AddCreditCardView.UserActionsListener` and overwrite methods as show above.

- Call `Tpaga.tokenizeCreditCard(this, CreditCard.create("number", "year", "month", "cvv", "name"));` to request card token

- Optionaly you must use `Tpaga.startScanCreditCard(this);` to start scan credit card intent and in `onActivityResult` method add the next lines. Where `Tpaga.onActivityResultScanCreditCard(data)` return a `CreditCard` object
```
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case Tpaga.SCAN_CREDIT_CARD:
            if (resultCode == Tpaga.SCAN_CREDIT_CARD_OK)) {
                onResultScanCreditCard(Tpaga.onActivityResultScanCreditCard(data));
            }
            break;
    }
}
```
## Feedback

[Github issues](https://github.com/Tpaga/tpaga-android-sdk/issues) - for generally applicable issues
Tpaga Support /<EMAIL_ADDRESS>- for personal support at any phase of integration

## License

The Tpaga Android SDK is open source and available under the Apache License. See the [LICENSE](https://github.com/Tpaga/tpaga-android-sdk/blob/master/LICENSE) file for more info.

repository: Tpaga/tpaga-android-sdk

repo_name: Tpaga/tpaga-android-sdk


text:
# Simple Gatsby Store
![Page](https://res.cloudinary.com/tomeczek123/image/upload/v1601805863/gatsby_aj7ues.jpg)

## Demo
[https://practical-murdock-2f28ef.netlify.app/](https://practical-murdock-2f28ef.netlify.app/)

## Technologies
* Front-end
  * Gatsby
  * GraphQl
  * Styled component

* Back-end
  * Shopify

## Features

* Fetching products from shopify
* Adding/Removing product from cart
* Viewing full details of products
* Responsive Design
* Filtering products by name/categories

## Sources
Icons [https://www.flaticon.com/](https://www.flaticon.com/)

branch_name: refs/heads/main


text:
# BuildStrategies

- [Overview](#overview)
- [Available ClusterBuildStrategies](#available-clusterbuildstrategies)
- [Available BuildStrategies](#available-buildstrategies)
- [Buildah](#buildah)
  - [Installing Buildah Strategy](#installing-buildah-strategy)
- [Buildpacks v3](#buildpacks-v3)
  - [Installing Buildpacks v3 Strategy](#installing-buildpacks-v3-strategy)
  - [Try it](#try-it)
- [Kaniko](#kaniko)
  - [Installing Kaniko Strategy](#installing-kaniko-strategy)
- [Source to Image](#source-to-image)
  - [Installing Source to Image Strategy](#installing-source-to-image-strategy)
  - [Build Steps](#build-steps)

## Overview

There are two types of strategies, the `ClusterBuildStrategy` (`clusterbuildstrategies.build.dev/v1alpha1`) and the `BuildStrategy` (`buildstrategies.build.dev/v1alpha1`). Both strategies define a shared group of steps, needed to fullfil the application build.

A `ClusterBuildStrategy` is available cluster-wide, while a `BuildStrategy` is available within a namespace.

## Available ClusterBuildStrategies

Well-known strategies can be boostrapped from [here](../samples/buildstrategy). The current supported Cluster BuildStrategy are:

- [buildah](../samples/buildstrategy/buildah/buildstrategy_buildah_cr.yaml)
- [buildpacks-v3-heroku](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3-heroku_cr.yaml)
- [buildpacks-v3](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3_cr.yaml)
- [kaniko](../samples/buildstrategy/kaniko/buildstrategy_kaniko_cr.yaml)
- [source-to-image](../samples/buildstrategy/source-to-image/buildstrategy_source-to-image_cr.yaml)

## Available BuildStrategies

The current supported namespaces BuildStrategy are:

- [buildpacks-v3-heroku](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3-heroku_namespaced_cr.yaml)
- [buildpacks-v3](../samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3_namespaced_cr.yaml)

---

## Buildah

The `buildah` ClusterBuildStrategy consists of using [`buildah`](https://github.com/containers/buildah) to build and push a container image, out of a `Dockerfile`. The `Dockerfile` should be specified on the `Build` resource. Also, instead of the `spec.dockerfile`, the `spec.builderImage` can be used with `quay.io/buildah/stable` as the value when defining the `Build` resource.

### Installing Buildah Strategy

To install use:

```sh
kubectl apply -f samples/buildstrategy/buildah/buildstrategy_buildah_cr.yaml
```

---

## Buildpacks v3

The [buildpacks-v3][buildpacks] BuildStrategy/ClusterBuildStrategy uses a Cloud Native Builder ([CNB][cnb]) container image, and is able to implement [lifecycle commands][lifecycle]. The following CNB images are the most common options:

- [`heroku/buildpacks:18`][hubheroku]
- [`cloudfoundry/cnb:bionic`][hubcloudfoundry]
- [`gcr.io/paketo-buildpacks/builder:latest`](https://console.cloud.google.com/gcr/images/paketo-buildpacks/GLOBAL/builder?gcrImageListsize=30)

### Installing Buildpacks v3 Strategy

You can install the `BuildStrategy` in your namespace or install the `ClusterBuildStrategy` at cluster scope so that it can be shared across namespaces.

To install the cluster scope strategy, use (below is a heroku example, you can also use paketo sample):

```sh
kubectl apply -f samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3-heroku_cr.yaml
```

To install the namespaced scope strategy, use:

```sh
kubectl apply -f samples/buildstrategy/buildpacks-v3/buildstrategy_buildpacks-v3-heroku_namespaced_cr.yaml
```

### Try it

To use this strategy follow this steps:

- Create the Kubernetes secret that host the configuration to access the container registry.

- Create a `Build` resource that uses `quay.io` or `DockerHub` image repository for pushing the image. Also, provide credentials to access it.

  ```yaml
  apiVersion: build.dev/v1alpha1
  kind: Build
  metadata:
    name: buildpack-nodejs-build
  spec:
    source:
      url: https://github.com/sclorg/nodejs-ex
    strategy:
      name: buildpacks-v3
      kind: ClusterBuildStrategy
    builderImage: gcr.io/paketo-buildpacks/builder:latest
    output:
      image: quay.io/yourorg/yourrepo
      credentials: <your-kubernetes-container-registry-secret>
  ```

- Start a `BuildRun` resource.

  ```yaml
  apiVersion: build.dev/v1alpha1
  kind: BuildRun
  metadata:
    name: buildpack-nodejs-buildrun
  spec:
    buildRef:
      name: buildpack-nodejs-build
  ```

---

## Kaniko

The `kaniko` ClusterBuildStrategy is composed by Kaniko's `executor` [kaniko], with the objective of building a container-image, out of a `Dockerfile` and context directory.

### Installing Kaniko Strategy

To install the cluster scope strategy, use:

```sh
kubectl apply -f samples/buildstrategy/kaniko/buildstrategy_kaniko_cr.yaml
```

---

## Source to Image

This BuildStrategy is composed by [`source-to-image`][s2i] and [`buildah`][buildah] in order to generate a `Dockerfile` and prepare the application to be built later on with a builder. Typically `s2i` requires a specially crafted image, which can be
informed as `builderImage` parameter on the `Build` resource.

### Installing Source to Image Strategy

To install the ClusterBuildStratey use:

```sh
kubectl apply -f samples/buildstrategy/source-to-image/buildstrategy_source-to-image_cr.yaml
```

### Build Steps

1. `s2i` in order to generate a `Dockerfile` and prepare source-code for image build;
2. `buildah` to create the container image;
3. `buildah` to push container-image on `output.image` parameter;

[buildpacks]: https://buildpacks.io/
[cnb]: https://buildpacks.io/docs/concepts/components/builder/
[lifecycle]: https://buildpacks.io/docs/concepts/components/lifecycle/
[hubheroku]: https://hub.docker.com/r/heroku/buildpacks/
[hubcloudfoundry]: https://hub.docker.com/r/cloudfoundry/cnb
[kaniko]: https://github.com/GoogleContainerTools/kaniko
[s2i]: https://github.com/openshift/source-to-image
[buildah]: https://github.com/containers/buildah

repository: xubinl/build

repo_name: xubinl/build


text:
# drwadextractor

a .wad extractor for DR1 and DR2

```
USAGE:
    drwadextractor.exe [OPTIONS] --wad-file <wad-file>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --extract-location <extract-location>    The path to extract to. Optional
        --wad-file <wad-file>                    The WAD File to extract
```


text:
# Talks

The following is a chronological list of presentations given by various members of the community.

## 2017

* [Towards a standard Containerized App Registry - Antoine Legrand, Jimmy Zelinskie](https://youtu.be/zGJsXyzE5A8)
* [Demoing a Kubernetes CI/CD Pipeline using App Registry - Antoine Legrand, Jimmy Zelinskie](https://youtu.be/6Gpuj_cCZII)

## 2016

* [Better Image Distribution to Worldwide Clusters - Joey Schorr](https://youtu.be/dX9-ComoJTs)
* [Container Management at eBay - Thuc Nguyen](https://youtu.be/h4f7nqYRPK8)

## 2015

* [Continuous Containerization - Jake Moshenko, Joey Schorr](https://youtu.be/anfmeB_JzB0)

repository: quay/quay

repo_name: quay/quay


text:
ABFDLL
==========================================================================

This directory contains C++ headers and source code used to wrap the ABFFIO.dll
from the ABF FSP 2.01 (circa 2007) into C code for use in ChanneLab.  These
files were initially copied over from a copy of the ABFDLL project on an
external hard drive, and I assume are the most recent versions used for
ChanneLab, but cannot verify this.

Update July 3, 2016
-------------------

The exported functions need to use the `__stdcall` calling convention to be
compatible with the OldABFDLL, which is used by ChanneLab. This can be
accomplished using the `/Gz` compiler option.

Note that the  ABFFIOforCL.h file needs to use the `BOOL` typedef to be compatible with C.

To use this library in ChanneLab
---------------------------------

1. Include the `ABFFIOforCL.h` and `ABFConstants.h` files in ChanneLab project.
2. Update `ABFFIOforCL.h` to use the `BOOL` typedef insted of the C++ data type `bool`.
3. Add the `ABFFIO.dll` from the Axon ABF File Support Pack to the ChanneLab project.
4. Add the `ABFFIOforCL.lib` and `ABFFIOforCL.dll` files to the ChanneLab project.
5. Make sure LabWindows/CVI uses the `__stdcall` calling convention.

Compile and link commands
-------------------------

The target machine is x86, which is accomplished by running `vcvars32.bat`.
This seemed to work when just the Microsoft Visual Studio 10.0 directory and subdirectories were on the Path.

```
cl /EHsc /c /Gz ABFFIOforCL.cpp
link /DLL ..\..\FSP_ABF_FileSupportPack_2.03\AxonDev\Lib\abffio.lib ABFFIOforCL.obj
```

repository: ogdenkev/abfutil

repo_name: ogdenkev/abfutil


text:
# new-repository-scaffold

A scaffold for create a new repository.

## Usages

```sh
git clone https://github.com/dailyrandomphoto/new-repository-scaffold.git

cp -a new-repository-scaffold/module new-repository
```

## Types

- module
- module-simple
- application
- cli

## License

Copyright (c) 2020 [dailyrandomphoto][my-url]. Licensed under the [MIT license][license-url].

[my-url]: https://github.com/dailyrandomphoto
[license-url]: LICENSE


text:
## How to log in to an interactive node on MSI

### Background
You will need to follow these steps once every time you want to get logged in to a new interactive node.

### Connect to MSI
- Follow the steps in the [Getting Started Guide](README.md) to get SSH working on your computer. On a Mac this means opening the Terminal app. On Windows this means either using the "Command Prompt," or if SSH doesn't work in your Windows Command Prompt, then using the software called Putty.

- SSH to an MSI login node (skip this step if you are using Putty) (Replace `yourusername` with your actual username):

```bash
ssh<EMAIL_ADDRESS>```

### Connect to the Mesabi cluster
- SSH from the login node to the "mesabi" cluster:

```bash
ssh mesabi
```

### Launch and connect to an interactive computing node
- When you first log in to mesabi, you will be on a "login" node. You are not allowed to run computations on this node. Instead, you can launch an interactive node for running computations with this command:

 ```bash
srun -N 1 --ntasks-per-node=2 --mem-per-cpu=2gb -t 02:00:00 -p interactive --pty bash
 ```

This may take a while to finish running. It will usually log you directly in to the interactive node. You can see that this has happened because the start of the line in the terminal will say something like "yourusername@cn0077" and it will be different from what it was on the previous line. If in doubt, you can run `hostname` to print out the name of the node. Login nodes usually start with `login` or `ln`. If you are still on the login node, you just need to find out the name of the new interactive node so that you can connect to it. To find the name of your new interactive node, run this:

`squeue -u <your username>`, using your username in place of `<your username>`.

In the last column of the output is the name of the node that you want to connect to. It will usually look something like, `cn0123`. Now you must connect to that node:

`ssh cn0123` (Do not use `cn0123`; replace that with your node name).


text:
## Project structure

- `.build` **contains auto-generated files**

  Frontend code generated by webpack, served up via Expres.

- `.circleci`

  Configuration for the build and deployment pipeline

- `.github`

  Github specific documentation, including pull request template

- `app/`

  [Express](https://github.com/expressjs/express) application to preview components; also referred to as _Book a secure move Frontend_.

  Each folder inside this directory refers to a `module`, which can contain

  - `module/index.ts`
    Route configuration for the module
  - `module/controllers`

    A file or directory of files containing MVC controllers for the module

  - `module/fields`

    Form wizard fields

  - `module/steps`

    Form wizard steps

  - `module/views`

    Nunjucks page templates

  - `module/validators`

    Form validators

  - `module/middleware`

    Middleware helpers to decorate the request with specific module data

- `artifacts/` **contains auto-generated files**

  Error reports, images and videos from testcafe runners

- `common/`

  Application code not related to routing.

  - `assets/`

    Static assets for the frontend website

  - `components/`

    App level components. [More documentation here](../common/components/README.md)

  - `controllers/`

    Controllers relating to specific components

  - `formatters/`

    Custom formatters

  - `helpers/`

    Various helper functions, including form and framework helpers

  - `lib/`

    Various utility functions

  - `middleware/`

    General middleware that is not specific to a route

  - `parsers/`

    Date parsing functions

  - `presenters/`

    Functions to generate UI components

  - `services/`

    Services representing the backend API

  - `templates/`

    General templates that are not specific to a module

- `config/`

  Configuration files for the app

- `coverage/` **contains auto-generated files**

  Code coverage reports

- `docs/`

  Documentation files.

- `locales/`

  i18n localisation files.

- `mocks/`

  Contains a mock server for the auth server

- `reports` **contains auto-generated-files**

- `test/`

  - `e2e/`

    End to end tests

  - `fixtures`.

    Data for unit and E2E tests

    [More documentation here](../test/fixtures/api-client/README.md)

  - `unit`

    Helper files for the unit tests

- `.env.example`

  Example environment file for running the server. Requires valid values.

- `server.js`

  Express server as a separate module

- `start.js`
  Entrypoint for the application, using the above `server.js` module


text:
# Change Log
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/).

## [Unreleased]
### Added
- `$` representing memoizable suspended computations
- `Stream` representing singly-linked recursive stream of a head and deferred tail

repository: dhaase/shoki

repo_name: dhaase/shoki


text:
---
title: Nespresso packshots
author: Filip Bunkens
type: post
date: 2013-06-11
url: /blog/20130611_nespresso-packshots
categories:
  - Digital
  - Gear
  - Photography
  - Product
  - Test shoot
  - Varia
tags:
  - coffee
  - hot chocolate
  - milk
  - nespresso
  - nespresso packshots
  - packshots
  - test shoot
format: gallery
---
[![Nespresso packshots caramelito][1]](/images/blogposts/20130610_nespresso_vanilio_caramelito_ciocatting-1600.jpg)

Sara, my girlfriend, regularly gets products to test and review for her blog. Off course as a photographer, I can't resist the urge to use them to test out new techniques or ideas. So it happens that yesterday afternoon, I was standing in the living room, shooting Nespresso packshots with hot chocolate, milk and coffee.

**Don't forget, you can still subscribe for the workshops film photography and darkroom.**

[![Nespresso packshots vanilio][2]](/images/blogposts/20130610_nespresso_vanilio_caramelito_ciocatting-1580.jpg)

[![Nespresso packshots Ciocattino][3]](/images/blogposts/20130610_nespresso_vanilio_caramelito_ciocatting-1647.jpg)

 [1]: /images/blogposts/20130610_nespresso_vanilio_caramelito_ciocattino-1600.jpg
 [2]: /images/blogposts/20130610_nespresso_vanilio_caramelito_ciocattino-1580.jpg
 [3]: /images/blogposts/20130610_nespresso_vanilio_caramelito_ciocattino-1647.jpg


text:
# Telos RNG Consumer

## Setup

To begin, navigate to the project directory: `rng-consumer/`

    mkdir build && mkdir build/rng-consumer

    chmod +x build.sh

    chmod +x deploy.sh

## Build

    ./build.sh rng-consumer

## Deploy

    ./deploy.sh rng-consumer { account-name } { mainnet | testnet | local }

# Documentation

1. [Telos RNG Consumer Contract API](docs/ContractAPI.md)

repository: telosnetwork/rng-consumer

repo_name: telosnetwork/rng-consumer


text:
#cf-example-broker

An example service broker for Cloud Foundry. The purpose is to showcase a range of OSS libraries that help speed up Broker development.

This broker does not connect to an actual database, but eventually it will hand out bindings and conform to the [Broker API](https://docs.cloudfoundry.org/services/api.html).

Use the projects tags to jump through milestones of the development.

## Running the Broker

### Configuration (not implemented)

First update the configuration file.

```
vim assets/config.yml

```

```
service_broker:
 max_instances: 5
 username: user
 password: password
service_credentials:
 username: secret
 password: service
 host: host
 port: 1234
```

### Build & Run

```
go build
./cf-example-broker config.yml
```

The broker is now running on `http://localhost:3000`

## Running the tests

- Setup [ginkgo](https://onsi.github.io/ginkgo/#getting-ginkgo)
- `ginkgo -r`

## Contributing

Please send any contributions via a pull request or raise an [issue].

## Libaries

This section links to OSS libaries that have been used in the project.

- [Ginkgo](https://onsi.github.io/ginkgo)
- [Gomega](https://onsi.github.io/gomega)
- [Broker API](https://github.com/pivotal-cf/brokerapi)
- [Counterfeiter - Fake generator](https://github.com/maxbrunsfeld/counterfeiter)

## Links

- [Broker API - CF Docs](https://docs.cloudfoundry.org/services/api.html)
- [Managing Service Brokers - CF Docs](https://docs.cloudfoundry.org/services/managing-service-brokers.html)
- [CF Redis Broker](https://github.com/pivotal-cf/cf-redis-broker)
- [Pivotal Golang GitHub](https://github.com/pivotal-golang)
- [GoKit - A distributed programming toolkit](https://github.com/go-kit/kit)

repository: avade/cf-example-broker

repo_name: avade/cf-example-broker


text:
# Image Recognition
This is an image recognition project with API:
- [Inception_v3](https://pytorch.org/hub/pytorch_vision_inception_v3/) model pre-trained with images on ImageNet
- [Django REST Framework](https://www.django-rest-framework.org/)

Quick video to see how easy you can run image recognition on your local machine:
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/TC3C5jirBxU/0.jpg)](https://www.youtube.com/watch?v=TC3C5jirBxU)

## Installation
- Python v3.6 and above
- Django
- Django REST Framework
- PyTorch

## Usage
1. Simply run
    ```shell
    . start-api.sh
    ```
1. Open `localhost:8000`, click the link `"api": "http://localhost:8000/api/"` in as marked in following screenshot
![Screen Shot 2021-04-18 at 10 29 50 PM](https://user-images.githubusercontent.com/10833201/115173864-2b7bbc00-a096-11eb-8c65-1e1806f72000.png)
1. Enter the image path into following `Imagepath` and click `POST` button
![Screen Shot 2021-04-18 at 10 29 42 PM](https://user-images.githubusercontent.com/10833201/115173878-346c8d80-a096-11eb-81b2-b78749df84f3.png)

The image is recognized by AI model and return the top 1 result to you

## Support
- Contact engineer<EMAIL_ADDRESS>
## Roadmap
- display top 3 result with confidence score
- deploy to DigitalOcean, host it on server
- merge other pre-trained model for fun!

## Authors
Chloe Wang
* [GitHub](https://github.com/synergit/)
* [LinkedIn](https://www.linkedin.com/in/xwang-1a/)
* [Twitter](https://twitter.com/chloe_wang1)

## Contributing
pull requests are welcome. for major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

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

## Acknowledgement
Thanks to [readme](https://www.makeareadme.com/) for this template and tools.

repository: synergit/neural-network

repo_name: synergit/neural-network


text:
# Why design AI?
- Understand the problem first
- It's the same as building a prototype of an app first.

----

# Design Process
## 1) Start with the problem
- What is the problem we need to solve?
    - Example: spam or not spam / what is this image?
    - Y or label = What is this image?
## 2) Explore the datasets.
- What do we feed our neural network with?
## 3) Neurons and Synapses
- X Factor
    - Each neuron's impact Y
    - Like a brain
    - Neurons are defined by Y or features
- X or Features
    - sender's address, time of day received, words in the subject, words in the email, Email containing specific words
- Model
    - relationship between the labels(Y) and the features(X)
    - bring all together
## 4) Forwards and Backward Propagation
- Forward (CNN)
    - typically used for pattern or Image recognition
- Backward (RNN)
    - not only learn from the input, but also from the results
    - great approach for Speech and Handwriting recognition
    - like google assistant and siri

----

# Designing a Neural Network Applied

### Challenge Step 1:
1. Product review section becoming filled with bad behavior
2. What are the the problem and the labels?

### Challenge Step 2:
- Issues with comments and reivews in products
    - Step 1: Profane text or not (Y label)?
    - Step 2:
        - 1. Define X or features
        - 2. Define if better forward or backward neural network

### Possible solution
![solution.png](solution.png)

url: https://raw.githubusercontent.com/akhilvydyula/Data-Science-and-Machine-Learning-Projects-Dojo/4e2932dfa6749b360a7a605050c953ef52fc6547/ML - Designing for Neural Networks and AI Interfaces/mynotes.md


text:
# Angular Web App - Haneul Sim - https://web422-angular-app.herokuapp.com/

WEB422 course @SenecaCollege

This web-app is to manage employees using an existing API (https://web422-teams-api-han.herokuapp.com/employees)

Front-end: JavaScript, TypeScript, HTML5, CSS3

Back-end: server-side built with Node and Express - data persistance with MongoDB/Mongoose

User Interface: Boostrap 4 and jQuery

Framework: Angular

    @angular/forms
    @angular/router
    Angular services: located in src/app/data
        @angular/common/http : HttpClient
        @angular/core : Injectable
        rxjs : Observable

repository: ihalemi/Haneul-Sim

gha_language: TypeScript

repo_name: ihalemi/Haneul-Sim


text:
---
layout: post
category: Demos
tags: [pravega, flink, gateway, mqtt]
subtitle: Dell EMC Streaming Data Analytics - Hands-on
technologies: [SDP]
img: post/distance calculator/architecture.png
license: Apache
support: Community
author:
    name: Luis Liu
    description: I am a nautilus app developer.
    image:
css:
js:
---

This post demos how to make a distance calculator on Streaming Data Platform
<!--more-->

## Introduction

- Local deployment of InfluxDB+Grafana+Pravega+IoT GW
- Optional: Connect Raspberry Pi 4 and run the app to collect the data in json format via a distance sensor
- Using local IDE (Or local Flink cluster) to run Flink Distance Calculation Job
    - Fixed window
        > Calculate the average value of each fixed time window (3s)
    - Distance Calculation logical
        > Normal: <=1m
        > A little Far: > 1m && <= 3m
        > Far: > 3m

### Demo environment
![Demo env]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/architecture.png)

### Workload Flow
1. Distance sensor collects the data via Raspberry Pi and write into one MQTT topic or Use simulator to generate the data from one CSV file
2. Consume the injected data into MQTT topic
3. Write it into the Pravega Stream via Pravega Writr API
4. Flink Job read the data from stream using Pravega Reader API
5. Computing and processing in each fixed 3 time window
6. Sink to Influx DB
![Workflow]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/workflow.png)

### Tools
- [MobaXterm](https://mobaxterm.mobatek.net/download.html)
- [FireFox](https://www.mozilla.org/en-US/firefox/new/)
- [IntelliJ IDEA Community](https://www.jetbrains.com/idea/download/#section=windows)
- [Java SDK 8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)

### Runtime Preparation
- [Open Java 8](http://openjdk.java.net/install/)
- [Docker CE](https://docs.docker.com/install/linux/docker-ce/ubuntu/)
- [Docker Registry server](https://docs.docker.com/registry/deploying/)
- [Docker Compose](https://docs.docker.com/compose/install/)

### Set up IDE
1. Select Project -> File -> settings -> plugins and install Lombok plugin
2. Select Project -> File -> settings -> Build,Execution,Deployment -> Annotation Process
![setup1]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/setup1.png)

3. Select Project -> File -> settings -> Build Tools -> Gradle
![setup2]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/setup2.png)

### Configure docker-compose.yml
specify the following network related parameters
- Pravega
    - environment:
        - HOST_IP: <IP_ADDRESS>
- mqttwriter:
    - environment:
        - MQTT_BROKER_URL: tcp://<IP_ADDRESS>:1883
- pravegagw:
    - environment:
        - PRAVEGA_CONTROLLER: tcp://<IP_ADDRESS>:9090
        - MQTT_BROKER_URL: tcp://<IP_ADDRESS>:1883

### Local deployment of InfluxDB+Grafana+Pravega+IoT GW
1. Download the code from github
2. Go to workdir
```
cd /home/ubuntu/piedpiper/DistanceCalculation/
```
3. Deploy
```
docker-compose up
```
Or (running in the background)
```
docker-compose up –d
```
4. Check the status
```
docker-compose ps
```
5. Un-deploy
```
docker-compose down
```

### Using local IDE to run Flink job
1. Using IntelliJ IDEA to open the "Flink Distance Calculation" project
![job1]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job1.png)

2. New a task
![job2]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job2.png)
![job3]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job3.png)
![job4]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job4.png)
![job5]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job5.png)
![job6]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job6.png)
![job7]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job7.png)

3. Run that task
![job8]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job8.png)

### Visualization on Grafana
1. Login to (http://[Host IP]:3000), Open Grafana dashboard(Username/Password: admin/password), select the dashboard "Distance"
2. Optional：modify the time range and refresh sequence if using the simulator to generate the data or directly access http://[Host IP]:3000/d/7jAI6_-Wk/distance?orgId=1&from=1581820530000&to=1581821760000&refresh=5s

Screenshot of Grafana
![job9]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/job9.png)

### Deploy a local Fink cluster
1. Download the deployment files
```
git clone https://github.com/docker-flink/examples.git
cd ./examples
```

2. Deploy Flink cluster
```
docker-compose up
```

3. TaskManagers scale in/out
```
docker-compose scale taskmanager=<N>
```

4. undeploy the cluster
```
docker-compose kill/docker-compose down
```

### Package Flink Job App
1. Performing the "jar" task
![flink1]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/flink1.png)

2. After the task run successfully, gain the "distance-calculator-4.0.jar" in this project workDIR
"DistanceCalculator\distance-calculator\build\libs"
![flink2]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/flink2.png)

### Upload Flink App into Flink cluster
1. Login to Flink http://[Host IP]:8081
![flink3]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/flink3.png)

2. Submit Flink Job
![flink4]({{site.baseurl}}/assets/heliumjk/images/post/distance calculator/flink4.png)

## Source
[https://github.com/vangork/sdp-starter-kit/tree/master/distance-calculator](https://github.com/vangork/sdp-starter-kit/tree/master/distance-calculator)

repository: dellThejas/code-hub

gha_license_id: NOASSERTION

repo_name: dellThejas/code-hub


text:
# nextjournal-ocaml

## Setup for local development

Install opam and use it to install the right OCaml version: `opam
switch 4.06.0` (don't forget to source your new opam environment via
`$(opam config env)`).

Now install the project dependencies:

```bash
opam pin add nextjournal-ocaml -y .
```

If you want to build the ocaml socket-server for a Linux environment on a Mac,
build the Docker image for this project:

```bash
docker build -t nj-ocaml .
```

If you want to use the watch-mode, you need to install `watchman`:
https://facebook.github.io/watchman/docs/install.html#installing-on-os-x-via-homebrew

## Building / Running

The building instructions are useful to build a bytecode binary.  This is
mostly useful for developing the code... follow the `dist` instructions to
create a dist file.

```
# Builds all build artifacts
make build

# Starts the socket-server in DEV mode (make sure to build first)
make start

# Cleans all build artifacts
make clean

# Uses watchman-make to watch all source files and rebuilds on change
make watch

# Runs the docker container for manual building (mounts project as a volume)
make docker-run
```
## Build dist

Note: The generated `dist/socket_repl.ml` needs to be copied to
`nextjournal/journal/server/resources/runtimes/ocaml/socket_repl.ml`

```
# This creates a toplevel `dist/socket_repl.ml` ready for nextjournal
make dist

# Test generated file (in devmode for \n recognition)
NEXTREPL_DEV_SEPARATOR=true ocaml dist/socket_repl.ml

# Run in Reason mode
ocaml dist/socker_repl.ml --reason
```

repository: ryyppy/nextjournal-ocaml

repo_name: ryyppy/nextjournal-ocaml


text:
# Hymenoscyphus vacini (Velen.) Baral & E. Weber, 1992 SPECIES

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Biblthca Mycol. 140: 121 (1992)

#### Original name
Helotium vacini Velen., 1939

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Leotiomycetes/Helotiales/Rutstroemiaceae/Lanzia/Lanzia vacini/ Syn. Hymenoscyphus vacini/README.md

repo_name: mdoering/backbone


text:
# Pivotal-Optimization
This is the beginnings of an optimization demo using Greenplum Database and Julia

**January, 2019**
## Julia
Cloned base julia docker and installed JuMP & required packages

### Quick-Start: Use images from dockerhub
** Quick-Start and Build instructions assume that you have docker installed and running**

1. Start Docker-Machine
```bash
    eval "$(docker-machine env default)"
```
2. Pull Images
```bash
    docker pull rpbennett/juliaopt
```
3. Run Containers
```bash

   # create network for inter container communication
   docker network create -d bridge contbridge

   # run julia image terminal
   docker run -it --rm --network=contbridge -p 8999:8999 --name=juliaopt rpbennett/juliaopt

```

4. Docker IP

```bash
# Grab IP of 'default' image
docker-machine ip default
# <IP_ADDRESS>
```

### Build Docker Images

### Issues

Configuring shell session
```bash

# check docker is available
docker --version
# Docker version 1.9.1, build a34a1d5
# Docker version 1.8.0, build 0d03096
# Docker version 18.06.0-ce, build 0ffa825

docker run -it --rm -p 8888:8888 jupyter/pyspark-notebook
# Cannot connect to the Docker daemon. Is the docker daemon running on this host?

# Run this command to configure your shell:
eval "$(docker-machine env default)"

# Error checking TLS connection: default is not running. Please start it in order to use the connection settings
docker-machine rm default
docker-machine create default --driver virtualbox
# Running pre-create checks...
# Creating machine...
# (default) Creating VirtualBox VM...
# (default) Creating SSH key...
# Error attempting heartbeat call to plugin server: connection is shut down
# Error creating machine: Error in driver during machine creation: unexpected EOF

```

```bash

eval "$(docker-machine env default)"
# Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for
# host "<IP_ADDRESS>:2376": x509: certificate is valid for <IP_ADDRESS>, not <IP_ADDRESS>
# You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
# Be advised that this will trigger a Docker daemon restart which might stop running containers.

docker-machine regenerate-certs default
# Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
# Regenerating TLS certificates
# Waiting for SSH to be available...
# Detecting the provisioner...
# Copying certs to the local machine directory...
# Copying certs to the remote machine...
# Setting Docker configuration on the remote daemon...

eval "$(docker-machine env default)"
```

#### Contact

* Robert Bennett<EMAIL_ADDRESS>

repository: rpb/Pivotal-Optimization

repo_name: rpb/Pivotal-Optimization


text:
# sheldon_servos

Dynamixel setup:
Download Robotis RoboPlus (windows app) from Robotis website
In the RoboPlus Dynamixel Wizard, set:

SHOULDER SERVOS:
All 4 MX106 servos are configured for multiple turn, 2x
Right Arm:  set "drive mode" of servo #18 to master, #20 to slave, both *REVERSED*
Left Arm: set "drive mode" of servo #19 to master, #21 to slave (not reversed)
Connect master and slave servos with special robotis slave cable
Set offset of both to 1024 (1/4 turn) to avoid bug where startup forgets where zero is!

NOTE:  If arms seem in the wrong positions (not homing to correct spot), check tightness
of screws in shoulder gear!


text:
#Android Drawable View ![Maven Central](https://img.shields.io/maven-central/v/me.panavtec/drawableview.svg)
![Logo](art/drawabledroid.png)

An Android view that allows to paint with a finger in the screen and saves the result as a Bitmap.

##Importing to your project
Add this dependency to your build.gradle file:

```java
dependencies {
    compile 'me.panavtec:drawableview:{Lib version, see the mvn central badge}'
}
```

##Basic usage
Add the view to your xml layout in this way:

```xml
<me.panavtec.drawableview.DrawableView
        android:id="@+id/paintView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
```

Now in your activity code set a config to this view:

```java
DrawableViewConfig config = new DrawableViewConfig();
config.setStrokeColor(getResources().getColor(android.R.color.black));
config.setStrokeWidth(20.0f);
config.setMinZoom(1.0f);
config.setMaxZoom(3.0f);
config.setCanvasHeight(1080);
config.setCanvasWidth(1920);
drawableView.setConfig(config);
```

Now the view is ready to paint! You can see the attached sample for more info

Developed by
============
Christian Panadero Martinez - http://panavtec.me - @PaNaVTEC

Carlos Morera de la Chica - @CarlosMChica

License
=======

    Copyright 2015 Christian Panadero Martinez

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

repository: haikuowuya/DrawableView

repo_name: haikuowuya/DrawableView


text:
0.0.5 / 2014-11-19
==================

  * Fix "/usr/local/bin/uncompressor: function: not found" error by using bash instead of sh.

0.0.4 / 2014-11-09
==================

 * Add "--remove" option to remove original file after successful decompression.

0.0.3 / 2014-05-15
==================

 * If an extraction directory is specified and does not exist, uncompressor will attempt to create it for you.

0.0.2 / 2014-05-15
==================

 * Fix/remove usage of `which`
 * Fix exit codes

0.0.1 / 2014-05-10
==================

 * Initial release

gha_language: Shell


text:
# HAWKBALL

## Description

### MITRE Description

> [HAWKBALL](https://attack.mitre.org/software/S0391) is a backdoor that was observed in targeting of the government sector in Central Asia.(Citation: FireEye HAWKBALL Jun 2019)

## Aliases

```
HAWKBALL
```

## Platforms

```
['Windows']
``

# Techniques

* [Exfiltration Over C2 Channel](../techniques/Exfiltration-Over-C2-Channel.md)

* [Archive via Custom Method](../techniques/Archive-via-Custom-Method.md)

* [System Information Discovery](../techniques/System-Information-Discovery.md)

* [System Owner/User Discovery](../techniques/System-Owner-User-Discovery.md)

* [File Deletion](../techniques/File-Deletion.md)

* [Windows Command Shell](../techniques/Windows-Command-Shell.md)

* [Commonly Used Port](../techniques/Commonly-Used-Port.md)

* [Web Protocols](../techniques/Web-Protocols.md)

* [Obfuscated Files or Information](../techniques/Obfuscated-Files-or-Information.md)

* [Native API](../techniques/Native-API.md)

* [Exploitation for Client Execution](../techniques/Exploitation-for-Client-Execution.md)

* [Dynamic Data Exchange](../techniques/Dynamic-Data-Exchange.md)

# Actors

None


text:
#Xamarin PropertyCross

Visit the [Xamarin page](http://propertycross.com/xamarin/) on the PropertyCross website for screenshots and code sharing metrics.

##Introduction

[Xamarin](http://xamarin.com/) have two commercial products, _Xamarin.iOS_ for iOS development and _Xamarin.Android_. The Xamarin frameworks allow you to write applications using C# and the .NET framework. For each platform Xamarin provide bindings to the native platform APIs. As a result Xamarin applications make use of the native UI for each mobile platform. Xamarin do not provide a Windows Phone product because the C# and .NET code used for Android and iOS development is directly portable to Windows Phone.

The PropertyCross implementation makes use of the Model View Presenter (MVP) pattern in order to share as much UI logic as possible. The Model and Presenter code is shared across all three mobile platforms, with the View code, which makes use of native UI components, being distinct for each platform. This is reflected in the code-sharing statistics.

##Building the Application

To build the iOS application you will need Xamarin Studio (running on a Mac), for Android you will need Xamarin Studio running on either a Mac or Windows machine, and for the Windows Phone version you will need Visual Studio. Each project has a solution file (.sln) that is loaded in the respective IDE.

The application is structured using the Model View Presenter pattern, which allows for sharing of presentation logic without the need for a binding framework. The shared code is located within the `Common` folder with each version of the application using file linking to include the code within the solution.

## Further reading

 - [Property Finder – a Cross-Platform Xamarin MonoTouch Mobile App](http://www.codeproject.com/Articles/520069/Property-Finder-a-Cross-Platform-Xamarin-MonoTouch) - a more in-depth article about this implementation.

repository: FokkeZB/PropertyCross

repo_name: FokkeZB/PropertyCross


text:
# Clustering algorithms and projects
Python examples of Clustering. Each algorithm has it's own folder.

By making the algorithms from scratch I hope to show that I do not only know how to use the algorithms, but I also understand how it functions. By using conventional libraries for machine learning I hope to show that I can be effective and take advantage of the high-performance backend of libraries like for example, Scikit-learn and Tensorflow.

Folder names are **bolded** while filenames are `highlighted` for readability.

## FOLDER CONTENTS (in alphabetical order):

### **_HierarchicalClustering_**
Currently empty, check back soon for updates.

### **_K-MeansClustering_**
K-means clustering is a unsupervised method to cluser or group the data. K-means allows you to choose the number (k) of categories/groups and categorizes it automatically when it has come up with solid categories.

This algorithm and other unsupervised algorithms is usually used to research the data and finding structure so it is not expected to be super precise.

  * `howItWorksKMeans.py` - The algorithm coded *from scratch*.
  * `regularKMeans.py` - The algorithm coded with Scikit-learn (python library for machine learning).
  * `titanicKMeans.py` - This is similar to `regularKMeans.py`, but is more advanced and uses an imported titanic.xls file which contains non-numeric data so that I can how I would handle such data.
  * `titanic.xls` - Data that looks like a passager list on the Titanic.

### **_MeanShiftClustering_**
Mean Shift is very similar to the K-Means algorithm (see folder **kMeans**), except for one very important factor: you do not need to specify the number of groups prior to training. The Mean Shift algorithm finds clusters on its own. For this reason, it is even more of an "unsupervised" machine learning algorithm than K-Means.

  * `howItWorksMeanShift.py` - The algorithm coded *from scratch*.
  * `regularMeanShift.py` - The algorithm coded with Scikit-learn (python library for machine learning).
  * `titanic.xls` - Data that looks like a passager list on the Titanic.
  * `titanicKMeans.py` - This is similar to `regularMeanShift.py`, but is more advanced and uses an imported titanic.xls file which contains non-numeric data so that I can how I would handle such data.

repository: a-holm/MachinelearningAlgorithms

repo_name: a-holm/MachinelearningAlgorithms


text:
# [Obstruction-Free Synchronization: Double-Ended Queues as an Example](http://www.cs.brown.edu/~mph/HerlihyLM03/main.pdf)

> NOTE: 在阅读 [Home](http://www.1024cores.net/home) > [Lockfree Algorithms](http://www.1024cores.net/home/lock-free-algorithms) > [Introduction](http://www.1024cores.net/home/lock-free-algorithms/introduction) 时，其**Obstruction-freedom**段中给出了链接到本篇论文的链接:
>
> I am unable to come up with a single example, so I refer you to the original paper [Obstruction-Free Synchronization: Double-Ended Queues as an Example](http://www.cs.brown.edu/~mph/HerlihyLM03/main.pdf).

repository: dengking/Parallel-computing

repo_name: dengking/Parallel-computing


text:
COMP3033 Software Quality Assurance

     Workshop 03 Report

 Group F

 Module convenor: Dr. Radu Muschevici

      Chosen Option: MariaDB Project, Flights

      Hosted domain:  http://<IP_ADDRESS>:3000/

      Presentation Link:https://numcmy-my.sharepoint.com/:v:/g/personal/hfykl4_nottingham_edu_my/EVtKvafcob5MuxLoGvriqGQBzDbIIZFyId4dw2Xd2TGAAg?e=T6p5cohttps://numcmy-my.sharepoint.com/:v:/g/personal/hfykl4_nottingham_edu_my/EVtKvafcob5MuxLoGvriqGQBzDbIIZFyId4dw2Xd2TGAAg?e=T6p5co (Require to login using univerisity's email)

      Due Date: 31 December 2020

      GitHub Repositories: https://github.com/Kellieys/sqa_cw3

| Name (OWA) | Student ID |
| :------- | ----: |
| Lim Kelly | 20024694 |
| Lee Ze-Cong (efyzl1) | 20006942 |
| Yap Jun Kiat (hcyjy2) | 20093907 |
| Ling Kuok Ging (hfykl3) | 20035543 |
| Raveen A/L Pandian (kefey6rpp) | 18024425 |

---

## 1 Introduction

In this report, the test cases will be executed to examine whether the software has meets it requirements. The strategies used for testing is a bottom-to-top technique which test from unit, following with integration and fianlly, testing the whole syetem. The section below record the test result as well as document the bug and problem encounter thorughout the project.

---

## 2.1 Unit Testing
### 2.1.1 Functional and Structure (White Box)

#### Input functions;

Test Case 1:

Input Origin

if (handleOriginChange) {

console.log("this.state.selectedOriginOption)}

Test Case 2:

Input Destination

if (handleDestinationChange) {

console.log("this.state.selectedDestinationOption)}

Test Case 3:

 Input Airline

if (handleAirlineChange) {

console.log("this.state.selectedAirlineOption)}

Test Case 4:

Input From

if (handleYearFromChange) {

console.log("this.state.selectedYearFromOption)}

Test Case 5:

Input To

if (handleYearToChange) {

console.log("this.state.selectedYearToOption)}

Test Case 6:

Input Month

if (handleMonthChange) {

console.log("this.state.selectedMonthOption)}

Test Case 7:

Input Day

if (handleDayChange) {

console.log("this.state.selectedDayOption)}

| ID | Test Item | Scenario | Input | Expected Output | Test Factor | Pass or Fail |
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Input Origin | Test Case 1 | onClick | Console log "state" of current user's input | Correctness | Pass |
| 2 | Input Destination | Test Case 2 | onClick | Console log "state" of current user's input | Correctness |Pass |
| 3 | Input Airline | Test Case 3 | OnClick |Console log "state" of current user's input | Correctness | Pass |
| 4 | Input From | Test Case 4 |onClick |Console log "state" of current user's input | Correctness | Pass |
| 5 | Input To | Test Case 5 | OnClick | Console log "state" of current user's input | Correctness | Pass |
| 6 | Input Month | Test Case 6 | OnClick | Console log "state" of current user's input | Correctness | Pass |
| 7 | Input Day | Test Case 7 | OnClick | Console log "state" of current user's input| Correctness | Pass |

Results of test cases:

Test case 1:

Test case 2:

Test case 3:

Test case 4:

Test case 5:

Test case 6:

Test case 7:

#### Output functions;

Test Case 1:

 Search Button

Using JEST testing library

Test Case 2:

Output table

Console the data that will be reflect in the data

Test Case 3:

 Render and data of Pie Chart and Bar Chart

Added testVisibility state and called in PieChart and BarChart components to test.

Added state

Console in PieChart Component

Console in Bar Chart Component

| ID | Test Item | Scenario | Input | Expected Outcome | Test Factor | Pass or Fail |
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Search Button | Test Case 1 | Run npm test | Jest testing library Pass | Correctness | Pass  |
| 2 | Output table | Test Case 2 | N/A | Console log "Data in table"  | Correctness | Pass |
| 3 | Render of Pie Chart and Bar Chart | Test Case 3 | N/A | Console log "Chart is showing" | Correctness | Pass  |
| 4 | Data of Pie Chart and Bar Chart | Test Case 3 | N/A | Console log "Chart is showing" | Correctness | Pass |

Results of test cases:

Test case 1:

Result of JEST

Snapshot generated by JEST

Test case 2:

Test case 3 and 4:

Conclusion of unit testing:

All of the test case in unit testing had passed the test case individually which means that in the integration testing, where each unit merge together, there should be no issue with the invidually components. If there are problem found in integration testing, it will most likelty be the issue of merging the individual component.

---

## 2.2 Integration Testing
### 2.2.1 Size & Entity (White Box)

Test Case 1:

Launch website

if (connection successful) {

console.log("Get all airlines",body) }

Test Case 2:

Launch website

if (connection successful) {

console.log("Get all airports",body) }

Test case 3:

Input search query and click on search button

if (connection successful) {

console.log("Search button clicked",body) }

Test Case 4:

After clicking on the search button

if (connection successful) {

console.log("Get flights stats", body) }

Test Case 5:

After clicking on the search button

if (connection successful) {

console.log("Get airline delays", body) }

Test Case 6:

After clicking on the search button

if (connection successful) {

console.log("Get airline delays", body) }

| ID | Test Items | Secnario | Input | Expexted Outcome | Test Factor | Pass or Fail
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Check the connection with database(Airports' data) | Test Case 1 | http://<IP_ADDRESS>:3000/ | Console log "Get all airports" and all airports | Correctness | Pass |
| 2 | Check the connection with database(Airlines' data) | Test Case 2 | http://<IP_ADDRESS>:3000/ | Console log "Get all airlines" and all airlines | Correctness|Pass |
| 3 | Obtain user inputs | Test Case 3 | onClick | Console log "Search button clicked" and all user inputs| Correctness|Pass |
| 4 | Get Flights' stats | Test Case 4 | onClick | Console log "Get flights stats" and all related flights' stats| Correctness|Pass |
| 5 | Get airline delays | Test Case 5 | onClick | Console log "Get airline delays" and all related airline delays | Correctness|Pass |
| 6 | Get delays comparison | Test Case 6 | onClick | Console log "Get delays comparison" and all related delays comparison | Correctness|Pass |

Results of test cases:

Test case 1:

Test case 2:

Test case 3:

Test case 4:

Test case 5:

Test case 6:

Conclusion of integration testing:

The outputs of the console log matched with the expected output, therefore all of the test cases regarding the integration testing have passed the test. Regarding bugs discovered, there were no bugs discovered during this integration testing as none of the test cases failed.

---

## 2.3 GUI Testing (Black box)
### 2.3.1 Mobile Compatibility Testing

 Test Case 1

 Background design should align with data input section.

 Test case 2

 Width of table should align with the user input section.

 Test case 3

 Graph of delay type and time should be shown clearly.

| ID | Test Item | Scenarios | Input | Expected Output | Test Factor | Pass or Fail|
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Background design should align with data input section | Test Case 1 | N/A | Background design is fixed and smaller than data input section. | Correctness | Fail |
| 2 | Width of table should align with the user input section. | Test Case 2 | N/A | Width of table is following the background design and not align with data input section. | Correctness | Fail |
| 3 | Graph of delay type and time should be shown clearly. | Test Case 3 | N/A | Showing the graph of delay type or delay time in mobile vertical mode, both graph is overlaying. When using flight project in mobile horizontal mode, the graph is showing fine but are not fitting in the designed box. | Usability | Fail |

Result of Test Case

Test Case 1

Initial Software (Before)

Img <IP_ADDRESS> UI looks messy and not align.

Improved software (After)

Img <IP_ADDRESS> EVerything is well organised and aligned.

Test Case 2

Initial Software (Before)

Img <IP_ADDRESS> User input section doesn't fit background.

Improved software (After)

Img <IP_ADDRESS> User input section is fit to the background.

Test Case 3

Initial Software (Before)

Img <IP_ADDRESS> Data chart is not align with background.

Improved software (After)

Img <IP_ADDRESS> Data chart is shown clearly.

Conclusion

All of the test case failed the test. Based on that we can tell that this software is not well designed for mobile devices. No bugs were found during the testing process.

### 2.3.2 User Experience Testing

 Test Case 1

 Input any character in the input field

 Test case 2

 Click the submit button on the input section without all required input filled

 Test case 3

 After all required input have been selected, press on the search button and inspect the time required for data to be reflected

 Test case 4

 After all required input have been selected, press on the search button and inspect if there's any visual hint of feedback such as a loading spinner.

| ID | Test Item | Scenarios | Input | Expected Output | Test Factor | True or False |
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Error handling on each input field | Test case 1 | alphabets(a-z), numbers(1-9), symbols (i.e. !, @, #, etc.)| Error messages specifying on whichever input should be shown if the respective field contains invalid input | Correctness, Usability | Pass |
| 2 | Error handling on required input fields on click search  | Test case 2 | On Click | An error message should be presented to the user if any required field has not been filled | Correctness, Usability | Fail |
| 3 | Time required for analytic data to be reflected | Test case 3 | On Click | The expected time for analytic data such as the tables and charts should be less than 20 seconds or less | Correctness, Reliability | Pass |
| 4 | Visual feedback during the request and fetching of data | Test case 4 | On Click | A loading animation should be presented on the screen as a visual representation of the process of data fetching | Usability | Fail |

Result of Test Case

Test Case 1

No option message will pop out if user input invalid input as image shown.

Img <IP_ADDRESS> No option message

Test Case 2

Initial Software (Before)

Img <IP_ADDRESS> Nothing happen when user click search without filling all field.

Improved Software (After)

Img <IP_ADDRESS> Error message pop out to inform user to fill the field.

Test Case 3

The data was able to show in 20 seconds or lesser. Time taken for Flight project to load the data is based on the database size. If there are too many data, it will takes longer time to load the data.

Test Case 4

Initial Software (Before)

Img <IP_ADDRESS> No loading animation.

Improved Software (After)

Img <IP_ADDRESS> Diamond shaped loading animation.

Conclusion

Two out of four test cases pass the test, 2 of them were failed. Test cases are all pass after improvements were made in this software.

### 2.3.3 Interface Features Testing (GUI)

 Test Case 1

 View Search button alignment with different screen sizes.

 Test case 2

 Click arrow button to sort the table based on the title.

 Test case 3

 Text and images resize accordingly when user resize browser.

 Test case 4

 Select same origin and destination.

 Test case 5

 Hover on Pie or bar chart to view the data in a small box.

| ID | Test Item | Scenarios | Input | Expected Output | Test Factor | Pass or Fail |
| :------- | ----: | ----: | ----: | ----: | ----: | ----: |
| 1 | Search button alignment on screen resizing | Test case 1 | N/A | On resize, the search button aligns accordingly | Correctness | Fail |
| 2 | Click arrow button to sort | Test case 2 | On Click | The data of flights on table, appear in that particular sorting order | Correctness | Pass |
| 3 | Text and image size with various  window sizes | Test case 3 | N/A | On changing screen size, text and images changes size accordingly | Correctness | Fail |
| 4 | Select same destination as origin | Test case 4 | On Click | Error message should pop-up | Correctness | Fail |
| 5 | Hover mouse over pie chart | Test case 5 | N/A | On hovering mouse, the data should display accordingly| Correctness | Pass |

Result of Test Case

Test Case 1

Initial Software (Before)

Img <IP_ADDRESS> Search button is not align.

Improved software (After)

Img <IP_ADDRESS> Search button is align accordingly.

Test Case 2

Before Sorting

Img <IP_ADDRESS> Unsorted data.

After Sorting

Img <IP_ADDRESS> Sorted data.

Test Case 3

Initial Software (Before)

Img <IP_ADDRESS> Image and text size not changing.

Improved software (After)

Img <IP_ADDRESS> Image and text size changed accordingly.

Test Case 4

When 2 same destination and origin were choose, no data will be shown.

Img <IP_ADDRESS> No data is showing

Test Case 5

When mouse is hover over pie chart, chart details will be shown.

Img <IP_ADDRESS> Details shown.

### 2.3.4 Bug found

If the user click the search button without inputing the required field eg: origin,destination and time, error message will pop out. It clearly shows that the website is not doing error handling.

Img <IP_ADDRESS> Error message

Conclusion

2 out of 5 test case pass the testing and 3 of it failed for the GUI testing part. Regarding the bugs test, there is a bug that we found which mentioned above.