text:
Title: CountryList() - Eoddata.com web service blog series
Slug: eoddata-web-service-calls-country-list
Date: 2017-04-02 15:03
Category: Eoddata
Tags: python, eoddata, pandas, numpy, jupyter, matplotlib,
Author: Adrian Torrie
Series: Using Python with Eoddata.com web service
Summary: This post covers the `CountryList` call: [http://ws.eoddata.com/data.asmx?op=CountryList](http://ws.eoddata.com/data.asmx?op=CountryList). Logging in is automatic if you have a credentials file set up. See the master post of this series for instructions on how to set this file up.

{% notebook downloads/notebooks/eoddata/eoddata_web_service_calls_country_list.ipynb %}


text:
Send messages and notifications to your Slack team.
This integration was integrated and tested with Slack.
## Configure SlackV3 on Cortex XSOAR

Slack V3 utilizes "Socket Mode" to enable the integration to communicate directly with Slack for mirroring. This requires a dedicated Slack app to be created for the XSOAR integration.

1. Navigate to **Settings** > **Integrations** > **Servers & Services**.
2. Search for SlackV3.
3. Click **Add instance** to create and configure a new integration instance.

    | **Parameter** | **Description** | **Required** |
    | --- | --- | --- |
    | `bot_token` | Slack API bot token. | False |
    | `app_token` | Slack API app token. | False |
    | `incidentNotificationChannel` | Dedicated Slack channel to receive notifications. | False |
    | `notify_incidents` | Send notifications about incidents to the dedicated channel. | False |
    | `min_severity` | Minimum incident severity to send messages to Slack by. | False |
    | `incidentType` | Type of incidents created in Slack. | False |
    | `allow_incidents` | Allow external users to create incidents via direct messages. | False |
    | `proxy` | Use system proxy settings. | False |
    | `unsecure` | Trust any certificate (not secure). | False |
    | `longRunning` | Long running instance. Required for investigation mirroring and direct messages. | False |
    | `bot_name` | Bot display name in Slack (Cortex XSOAR by default). | False |
    | `bot_icon` | Bot icon in Slack - Image URL (Cortex XSOAR icon by default). | False |
    | `max_limit_time` | Maximum time to wait for a rate limiting call in seconds. | False |
    | `paginated_count` | Number of objects to return in each paginated call. | False |
    | `proxy_url` | Proxy URL to use in Slack API calls. | False |
    | `filtered_tags` | Comma-separated list of tags by which to filter the messages sent from XSOAR. Only supported in Cortex XSOAR V6.1 and above. | False |

4. Click **Test** to validate the URLs, token, and connection.

### Creating a Custom App
1. Navigate to the following [link](https://api.slack.com/apps/).
 2. Click **Create an App**.
 3. Click **From scratch**.
 4. Enter an *App Name* and select the workspace in which your app will reside.
 5. Click **Create App**.
 6. Click **Socket Mode** found on the left-hand side of the menu.
 7. Click **Enable Socket Mode**. This will create an app level token with the required scope for connecting.
 8. Enter a name for the token.
 9. Click **Generate**.

You will receive a token starting with `xapp`. Copy this token and use it for the `app_token` parameter when creating an instance of the integration.

### Defining Events
For Slack V3 to be able to mirror incidents, you must enable the Events feature.
1. Navigate to *Event Subscriptions* found under the Features menu.
2. Enable Events by clicking the toggle switch.

Enabling the Events API will present various events that the app may subscribe to. Currently, Slack V3 only uses the following message events:

 | Event Name | What it's used for |
 | --- | --- |
 | `message.channel` | Allows the app to receive

| **Event Name** | **What it's used for** |
| --- | --- |
| `message.channel` | Allows the app to receive messages which were posted in a channel. Used for Mirror In. |
| `message.mpim` | Allows the app to receive messages which were posted to a group. Used for Mirror In. |
| `message.groups` | Allows the app to receive messages which were posted to a private channel. Used for Mirror In. |
| `message.im` | Allows the app to receive direct messages. |

These message events are available for both "Bot Events" and "Events on behalf of users". In order to use mirroring and handle bot questions, Cortex XSOAR recommends enabling these event scopes for both bot and user events.

### OAuth Scopes

In order to utilize the full functionality of the Slack integration, Cortex XSOAR recommends the following OAuth scopes for the bot token:

| **OAuth Scope** | **Description** |
| --- | --- |
| `channels:history` | View messages and other content in public channels that the app has been added to. |
| `channels:read` | View basic information about public channels in a workspace. |
| `chat:write` | Send messages as the bot. |
| `files:write` | Upload, edit, and delete files as the bot. |
| `groups:history` | View messages and other content in private channels that the bot has been added to. |
| `groups:read` | View basic information about private channels that the bot has been added to. |
| `im:history` | View messages and other content in direct messages that the bot has been added to. |
| `im:read` | View basic information about direct messages that the bot has been added to. |
| `mpim:history` | View messages and other content in group direct messages that the bot has been added to. |
| `mpim:read` | View basic information about group direct messages that the bot has been added to |
| `users:read` | View people in a workspace. |

The app token requires the `connections:write` scope in order to open the socket connection and is required for the Events and Questions functionality. It's important to note that when configuring Socket Mode, this scope will automatically be created for you.

## Backwards Compatibility with Slack V2
Slack V3 currently contains improvements to enhance the stability of the integration as well as the circumvention of OProxy. This version is intended to provide customers with more granular control over the Slack integration by enabling the Bring-Your-Own-App model and customizable scope-based authentication.

All commands are fully compatible with Slack V2 playbooks as their inputs and outputs have remained the same. As a customer, you should notice no significant change in the behavior of the Slack integration with your existing playbooks.

## Commands
You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook.
After you successfully execute a command, a DBot message appears in the War Room with the command details.
### mirror-investigation
***
Mirrors the investigation between Slack and the Cortex XSOAR War Room.

#### Base Command

`mirror-investigation`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| type | The mirroring type. Can be "all", which mirrors everything, "chat", which mirrors only chats (not commands), or "none", which stops all mirroring. Possible values are: all, chat, none. Default is all. | Optional |
| autoclose | Whether the channel is auto-closed when an investigation is closed. Can be "true" or "false". Default is "true". | Optional |
| direction | The mirroring direction. Can be "FromDemisto", "ToDemisto", or "Both". Default value is "Both". | Optional |
| mirrorTo | The channel type. Can be "channel" or "group". The default value is "group". | Optional |
| channelName | The name of the channel. The default is "incident-<incidentID>". | Optional |
| channelTopic | The topic of the channel. | Optional |
| kickAdmin | Whether to remove the Slack administrator (channel creator) from the mirrored channel. Possible values are: true, false. Default is false. | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!mirror-investigation direction="FromDemisto" channelName="example" using-brand="SlackV3"
```

#### Human Readable Output
>Investigation mirrored successfully, channel:example

### send-notification
***
Sends a message to a user, group, or channel.

#### Base Command

`send-notification`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| message | The message content. When mentioning another Slack user, make sure to do so in the following format: <@user_name>. | Optional |
| to | The user to whom to send the message. Can be either the username or email address. | Optional |
| channel | The name of the Slack channel to which to send the message. | Optional |
| entry | An entry ID to send as a link. | Optional |
| ignoreAddURL | Whether to include a URL to the relevant component in Cortex XSOAR. Can be "true" or "false". Default value is "false". | Optional |
| threadID | The ID of the thread to which to reply. Can be retrieved from a previous send-notification command. | Optional |
| blocks | A JSON string of Slack blocks to send in the message. | Optional |

#### Context Output

| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Slack.Thread.ID | String | The Slack thread ID. |

#### Command Example
```!send-notification channel="example" using-brand="SlackV3"```

#### Context Example
```json
{
    "Slack": {
        "Thread": {
            "ID": "1624272821.000700"
        }
    }
}
```

#### Human Readable Output

>Message sent to Slack successfully.
>Thread ID is:<PHONE_NUMBER>.000700

### close-channel
***
Archives a Slack channel.

#### Base Command

`close-channel`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| channel | The name of the channel to archive. If not provided, the mirrored investigation channel is archived (if the channel exists). | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!close-channel channel=new-slack-channel
```

#### Human Readable Output
>Channel successfully archived.

### slack-send-file
***
Sends a file to a user, channel, or group. If not specified, the file is sent to the mirrored investigation channel (if the channel exists).

#### Base Command

`slack-send-file`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| file | The ID of the file entry to send. | Required |
| to | The user to whom to send the file. Can be the username or the email address. | Optional |
| group | The name of the Slack group (private channel) to which to send the file. | Optional |
| channel | The name of the Slack channel to which to send the file. | Optional |
| threadID | The ID of the thread to which to reply. Can be retrieved from a previous send-notification command. | Optional |
| comment | A comment to add to the file. | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-send-file file=87@129 channel=testing-docs comment="Look at this gif!"
```

#### Human Readable Output
>File sent to Slack successfully.

### slack-set-channel-topic
***
Sets the topic for a channel.

#### Base Command

`slack-set-channel-topic`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| channel | The channel name. If not specified, the topic of the mirrored investigation channel is set (if the channel exists). | Optional |
| topic | The topic for the channel. | Required |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-set-channel-topic topic="Testing topic for documentation" channel=testing-docs
```

#### Human Readable Output
>Topic successfully set.

### slack-create-channel
***
Creates a channel in Slack.

#### Base Command

`slack-create-channel`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| type | The channel type. Can be "private" or "public". Default is private. | Optional |
| name | The name of the channel. | Required |
| users | A CSV list of user names or email addresses to invite to the channel. For example: "user1, user2...". | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-create-channel type="private" name="testing-docs"
```

#### Human Readable Output
>Successfully created the channel testing-docs

### slack-invite-to-channel
***
Invites users to join a channel.

#### Base Command

`slack-invite-to-channel`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| users | A CSV list of usernames or email addresses to invite to join the channel. For example: "user1, user2...". | Required |
| channel | The name of the channel to which to invite the users. If the name of the channel is not specified, the name of the mirrored investigation channel is used (if the channel exists). | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-invite-to-channel users="Sir Testing McTesterface" channel=new-slack-channel
```

#### Human Readable Output
>Successfully invited users to the channel.

### slack-kick-from-channel
***
Removes users from the specified channel.

#### Base Command

`slack-kick-from-channel`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| users | A CSV list of usernames or email addresses to remove from the a channel. For example: "user1, user2...". | Required |
| channel | The name of the channel from which to remove the users. If the name of the channel is not specified, the mirrored investigation channel is used (if the channel exists). | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-kick-from-channel users="Sir Testing McTesterface" channel=new-slack-channel
```

#### Human Readable Output
>Successfully kicked users from the channel.

### slack-rename-channel
***
Renames a channel in Slack.

#### Base Command

`slack-rename-channel`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| name | The new name of the channel. | Required |
| channel | The current name of the channel. If the name of the channel is not specified, the mirrored investigation channel is used (if the channel exists). | Optional |

#### Context Output

There is no context output for this command.

#### Command Example
```
!slack-rename-channel name="new-slack-channel" channel="testing-docs"
```

#### Human Readable Output
>Channel renamed successfully.

### slack-get-user-details
***
Get details about a specified user.

#### Base Command

`slack-get-user-details`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| user | The Slack user (username or email). | Required |

#### Context Output

| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Slack.User.ID | String | The ID of the user. |
| Slack.User.Username | String | The username of the user. |
| Slack.User.Name | String | The actual name of the user. |
| Slack.User.DisplayName | String | The display name of the user. |
| Slack.User.Email | String | The email address of the user. |

#### Command Example
```!slack-get-user-details user="cortex_xsoar" using-brand="SlackV3"```

#### Context Example
```json
{
    "Slack": {
        "User": {
            "ID": "U0XXXXXXXX",
            "Name": "cortex_xsoar",
            "Username": "demisto_integration"
        }
    }
}
```

#### Human Readable Output

>### Details for Slack user: cortex_xsoar
>|ID|Username|Name|
>|---|---|---|
>| U0XXXXXXXX | demisto_integration | cortex_xsoar |

license: MIT

repository: Bar-ArcusTeam/content

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: Bar-ArcusTeam/content


text:
+++
date = "2017-06-16T00:00:00Z"
title = "Kubernetes"
description = "Packaging a Kubernetes application in Replicated"
weight = "218"
categories = [ "Packaging" ]
aliases = [
    "/kb/developer-resources/kubernetes-prerelease/"
]

[menu.main]
Name       = "Replicated on Kubernetes"
identifier = "kubernetes"
parent     = "/packaging-an-application"
url        = "/docs/packaging-an-application/kubernetes"
+++

If your application is defined as a set of Kubernetes resources, and your customer can run a Kubernetes cluster, Replicated can provide the same standard functionality but on top of a Kubernetes cluster. To see a full example, check out the [Guestbook example](/examples/kubernetes-guestbook).

## Differences from the Replicated scheduler
Unlike the standard Replicated scheduler, when shipping a Kubernetes application on Replicated, it's expected that your customer will supply and maintain the cluster. Replicated is an application that runs on top of the cluster, and does not provide cluster management support. We provide standardized instructions for [installing Replicated on Kubernetes](/distributing-an-application/installing-on-kubernetes/).

Some of the standard Replicated features operate differently or are not supported on Kubernetes:

### Replicated Private Images
Images stored in the [Replicated private registry](/getting-started/replicated-private-registry) can be accessed by adding a static `imagePullSecret` to any container definition that references a private image. Replicated will automatically create a secret named `replicatedregistrykey` and deploy it with your application. Refererencing this secret will make your private images available on the target cluster.

### External Private Images
External private images are not supported currently. Replicated hosts a [private registry](/getting-started/replicated-private-registry) that you can use to ship private images. Replicated also supports public (unauthenticated) images in any registry.

### Replicated Auto Updates
Replicated auto updates work as expected when running in Kubernetes. While the Replicated update is applying, the UI will not be available. Once it finishes, refresh the UI to get the update.

### Snapshots
Standard Replicated snapshots are not supported when running in Kubernetes. This functionality will be included in an upcoming release.

### Preflight Checks
There is limited support for preflight checks as of {{< version version="2.9.0" >}}. See the [Kubernetes Preflight Checks](/packaging-an-application/preflight-checks-k8s) section of the docs for more details. Additional support will be available in a future release.

### Admin Commands
Admin commands are supported on Kubernetes. Replicated uses Kubernetes selectors to identify the target pod in which to run the admin command. If multiple pods match the selector then replicated will choose a random pod in which to run the command. Specifying a container is optional as well. If no container is specified the first in the container in the pod will be chosen. See below for an example command.

```yaml
admin_commands:
- alias: redis-sadd
  command: [redis-cli, sadd]
  run_type: exec
  selector:
    app: redis
    tier: backend
    role: master
  container: master # optional, will choose first in pod
```

### Dashboard Metrics
When running Replicated in Kubernetes, the standard statsd endpoint is still running. The only difference here is that the standard CPU and Memory usage graphs will not be available. You can use the [custom metrics](/packaging-an-application/custom-metrics) feature to define you own application-specific metrics to show on the admin console dashboard.

### Ready State/Health Checks
Replicated will consider the application running when all of the Kubernetes resources are running. Different resources types have various methods to determine when they are started.

| **Resource Type** | **Replicated Considers Running When...** |
|-----|----|
| Deployments | Same as [Kubernetes rollout status] (https://kubernetes.io/docs/user-guide/kubectl/kubectl_rollout_status/) |
| Replication Controller | Same as [Kubernetes rollout status](https://kubernetes.io/docs/user-guide/kubectl/kubectl_rollout_status/) |
| Persistent Volume Claim | When the claim is bound |
| Service | When type is set to LoadBalancer, it's running when the IP address is assigned. |
| Ingress | When the LoadBalancer IP is assigned. |
| Pod | Deployed pods are not monitored. The higher level object is. |
| Job | Jobs are not expected to stay running and are not monitored. |

### Template Functions
There are some additional [template functions](/packaging-an-application/template-functions#kubernetes) available when running in Kubernetes.

### Secrets
Replicated supports runtime secrets through the use of [template functions](/packaging-an-application/template-functions/). It is possible to request a secret from the user using a combination of config settings and the `ConfigOption` [template function](/packaging-an-application/template-functions/#configoption). For more information on configuring the replicated settings screen see the [docs](/packaging-an-application/config-screen/) on customizing the Replicated Admin Console settings page. See below for an example of creating a secret in your application.

For example:
```yaml
# kind: replicated
...
config:
- name: auth
  title: Authentication
  items:
  - name: config_username
    title: Username
    type: password
  - name: config_password
    title: Password
    type: password

---
# kind: scheduler-kubernetes
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
  labels:
    app: guestbook
data:
  username: {{repl ConfigOption "config_username" | Base64Encode }}
  password: {{repl ConfigOption "config_password" | Base64Encode }}
```

### Replicated CLI
The Replicated CLI can be run via the `kubectl exec` command. See below for an example of running a Replicated CLI command.

```shell
kubectl exec -it "$(kubectl get pods -l=app=replicated -o=jsonpath='{.items..metadata.name}')" -c replicated -- replicated apps
```

### Advanced Replicated Configuration
Replicated can be deployed into your kubernetes cluster or it can be deployed independently with the following environment variables:

```bash
SCHEDULER_ENGINE=kubernetes
K8S_OVERRIDE_CLUSTER_CONFIG=true
K8S_HOST=https://<IP_ADDRESS>
K8S_TLS_INSECURE=true
K8S_USERNAME=admin
K8S_PASSWORD=password
K8S_CLIENT_CERT_DATA="-----BEGIN CERTIFICATE-----…"
K8S_CLIENT_KEY_DATA="-----BEGIN RSA PRIVATE KEY-----…"
K8S_CLUSTER_CA_CERT_DATA="-----BEGIN CERTIFICATE-----"
```

### Load Balancers and Ingress
Only some environments (typically cloud providers) have support for the Service resource type `LoadBalancer`. An Ingress resource is recommended for more broad support for allowing inbound connections to the cluster. Replicated does not provide an Ingress controller and therefore one must be included in your application yaml. For more details on Ingress see [https://kubernetes.io/docs/user-guide/ingress/](https://kubernetes.io/docs/user-guide/ingress/).

repository: divolgin/docs

repo_name: divolgin/docs


text:
---
metaTitle: "Microsoft SQL Server - The STUFF Function"
description: "Using FOR XML to Concatenate Values from Multiple Rows, Basic Character Replacement with STUFF(), Basic Example of STUFF() function., Obtain column names separated with comma (not a list), stuff for comma separated in sql server"
---

# The STUFF Function

## Using FOR XML to Concatenate Values from Multiple Rows

One common use for the `FOR XML` function is to concatenate the values of multiple rows.

Here's an example using the [Customers table](http://stackoverflow.com/documentation/sql/280/example-databases/1015/customers-table#t=201607211440098397043):

```sql
SELECT
    STUFF( (SELECT ';' + Email
        FROM Customers
        where (Email is not null and Email <> '')
        ORDER BY Email ASC
        FOR XML PATH('')),
    1, 1, '')

```

In the example above, `FOR XML PATH(''))` is being used to concatenate email addresses, using `;` as the delimiter character. Also, the purpose of `STUFF` is to remove the leading `;` from the concatenated string. `STUFF` is also implicitly casting the concatenated string from XML to varchar.

Note: the result from the above example will be XML-encoded, meaning it will replace `<` characters with `<` etc. If you don't want this, change `FOR XML PATH(''))` to `FOR XML PATH, TYPE).value('.[1]','varchar(MAX)')`, e.g.:

```sql
SELECT
    STUFF( (SELECT ';' + Email
        FROM Customers
        where (Email is not null and Email <> '')
        ORDER BY Email ASC
        FOR XML PATH, TYPE).value('.[1]','varchar(900)'),
    1, 1, '')

```

This can be used to achieve a result similar to `GROUP_CONCAT` in MySQL or `string_agg` in PostgreSQL 9.0+, although we use subqueries instead of GROUP BY aggregates. (As an alternative, you can install a user-defined aggregate such as [this one](https://groupconcat.codeplex.com/) if you're looking for functionality closer to that of `GROUP_CONCAT`).

## Basic Character Replacement with STUFF()

The `STUFF()` function inserts a string into another string by first deleting a specified number of characters.  The following example, deletes "Svr" and replaces it with "Server". This happens by specifying the `start_position` and `length` of the replacement.

```sql
SELECT STUFF('SQL Svr Documentation', 5, 3, 'Server')

```

Executing this example will result in returning `SQL Server Documentation` instead of `SQL Svr Documentation.`

## Basic Example of STUFF() function.

STUFF(Original_Expression, Start, Length, Replacement_expression)

STUFF() function inserts Replacement_expression, at the start position specified, along with removing the characters specified using Length parameter.

```

Select FirstName, LastName,Email, STUFF(Email, 2, 3, '*****') as StuffedEmail From Employee

```

**Executing this example will result in returning the given table**

|FirstName|LastName|Email|StuffedEmail
|---|---|---|---
|Jomes|Hunter|James<EMAIL_ADDRESS>|Shyam|rathod|Shyam<EMAIL_ADDRESS><EMAIL_ADDRESS>

## Obtain column names separated with comma (not a list)

```sql
/*
The result can be use for fast way to use columns on Insertion/Updates.
Works with tables and views.

Example: eTableColumns  'Customers'
ColumnNames
------------------------------------------------------
Id, FName, LName, Email, PhoneNumber, PreferredContact

INSERT INTO Customers (Id, FName, LName, Email, PhoneNumber, PreferredContact)
    VALUES (5, 'Ringo', 'Star'<EMAIL_ADDRESS>NULL, 'EMAIL')
*/
CREATE PROCEDURE eTableColumns (@Table VARCHAR(100))
AS
SELECT ColumnNames =
   STUFF( (SELECT ', ' +  c.name
FROM
    sys.columns c
INNER JOIN
    sys.types t ON c.user_type_id = t.user_type_id
WHERE
    c.object_id = OBJECT_ID( @Table)
        FOR XML PATH, TYPE).value('.[1]','varchar(2000)'),
    1, 1, '')
GO

```

## stuff for comma separated in sql server

`FOR XML PATH` and `STUFF` to concatenate the multiple rows into a single row:

```

 select distinct t1.id,
      STUFF(
             (SELECT ', ' + convert(varchar(10), t2.date, 120)
              FROM yourtable t2
              where t1.id = t2.id
              FOR XML PATH (''))
              , 1, 1, '')  AS date
    from yourtable t1;

```

#### Parameters

|Parameter|Details
|---|---|---|---
|character_expression|the existing string in your data
|start_position|the position in `character_expression` to delete `length` and then insert the `replacement_string`
|length|the number of characters to delete from `character_expression`
|replacement_string|the sequence of characters to insert in `character_expression`

repository: haifenghuang/generate

repo_name: haifenghuang/generate


text:
---
title: How to uppercase the first letter of a string in JavaScript
date: "2019-12-19"
tags: ['javascript','uppercase','string','capitalize']
template: post
---

To make the first letter of a string uppercase we need to use the combination of three methods which are `charAt()`, `toUpperCase()` and, `slice()`.

Here is an example that uppercases the first letter of a string.

```js
function upperCaseLetter(str){
 return str.charAt(0).toUpperCase()+str.slice(1);
}

console.log(upperCaseLetter("keyboard")); // Keyboard
```


text:
⚡⚡⚡

The first **[AMP Contributor Summit](https://amphtml.wordpress.com/2018/06/28/announcing-the-amp-contributor-summit/)** for developers who contribute to the AMP open source project--or who want to start contributing--will be in **San Francisco, California September 25-26, 2018** with an **optional New Contributor Day on September 24**.

If you are a contributor to AMP or you want to become one please **[apply to attend](https://events.withgoogle.com/amp-contributor-summit/)**!

If you'd like to give a talk at the summit please **[submit a talk proposal](https://goo.gl/forms/DCpv5ZWfH5drqqVh1)** by July 31, 2018.  Please note, that this is a technical summit. Don’t worry that your talk might not be polished enough.  We’re excited to hear from everyone!

⚡⚡⚡

# AMP HTML ⚡

[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovateapp.com/)

[AMP HTML](https://www.ampproject.org/docs/get_started/about-amp.html) is a way to build web pages that render with reliable and fast performance. It is our attempt at fixing what many perceive as painfully slow page load times – especially when reading content on the mobile web.  AMP HTML is built on existing web technologies; an AMP page will load (quickly) in any modern browser.

You can learn more at [ampproject.org](https://www.ampproject.org/) including [what AMP is](https://www.ampproject.org/learn/about-amp/), [how it works](https://www.ampproject.org/learn/how-amp-works/) and the importance of [validation in AMP](https://www.ampproject.org/docs/guides/validate).  You can also walk through [creating an AMP page](https://www.ampproject.org/docs/get_started/create) and read through the [reference docs](https://www.ampproject.org/docs/reference/components).

## We'd love your help making AMP better!

There are a lot of ways you can [contribute](CONTRIBUTING.md) to making AMP better! You can [report bugs and feature requests](CONTRIBUTING.md#reporting-issues-with-amp) or ideally become an [ongoing participant](CONTRIBUTING.md#ongoing-participation) in the AMP Project community and [contribute code to the open source project](CONTRIBUTING.md#contributing-code).

We enthusiastically welcome new contributors to the AMP Project **_even if you have no experience being part of an open source project_**.  We've got some [tips for new contributors](https://github.com/ampproject/amphtml/blob/master/CONTRIBUTING.md#tips-for-new-open-source-contributors) and guides to getting started (both a [detailed version](contributing/getting-started-e2e.md) and a [TL;DR](contributing/getting-started-quick.md)).

If you're new to **contributing to the AMP open source project**, sign up for our [Slack](https://docs.google.com/forms/d/e/1FAIpQLSd83J2IZA6cdR6jPwABGsJE8YL4pkypAbKMGgUZZriU7Qu6Tg/viewform?fbzx=4406980310789882877) and say "Hi!" in the appropriately named [#welcome-contributors](https://amphtml.slack.com/messages/welcome-contributors/) channel ❤.

## Using AMP on your site

If you are using AMP on your site,
check out the docs on [ampproject.org](https://www.ampproject.org/), samples on [ampbyexample.com](https://ampbyexample.com/) and templates on [ampstart.com](https://ampstart.com).

The best place to get help with **questions about using AMP** on your site is [Stack Overflow](https://stackoverflow.com/questions/tagged/amp-html).  You'll find answers to many common questions there.  In the event your question hasn't already been answered you can post a new one, and one of the many people who are knowledgeable about AMP and who monitor Stack Overflow will likely answer it before too long.

## Further reading

* [Component reference](https://www.ampproject.org/docs/reference/components)
* [Release schedule](contributing/release-schedule.md)
* [Format specification](spec/amp-html-format.md)
* [Custom element specification](spec/amp-html-components.md)

## Who makes AMP HTML?

AMP HTML is made by the [AMP Project](https://www.ampproject.org/).  If you're a [contributor to the open source community](https://github.com/ampproject/amphtml/graphs/contributors) this includes you!

## Security disclosures

The AMP Project accepts responsible security disclosures through the [Google Application Security program](https://www.google.com/about/appsecurity/).

## Code of conduct

The AMP Project strives for a positive and growing project community that provides a safe environment for everyone.  All members, committers and volunteers in the community are required to act according to the [code of conduct](CODE_OF_CONDUCT.md).

## License

AMP HTML is licensed under the [Apache License, Version 2.0](LICENSE).

repository: aghassemi/amphtml

gha_language: JavaScript

repo_name: aghassemi/amphtml


text:
# CxBuddy ![Checkmarx](images/checkmarx.png) <img src="images/buddy.png" alt="Buddy" width="40" height="40">

## Checkmarx Buddy Integration via YML (CLI)

It is possible to run a Checkmarx Scan using the YML file of Buddy (https://buddy.works/) and take advantage of CLI as well.

## Custom Environment Varibles

First you need to configure the Buddy Environment Variables, as you can see below:

| Variable Name  | Variable Value (Example) |
| ------------- | ------------- |
| CX_SERVER | https://checkmarx.company.com  |
| CX_USER | admin@cx  |
| CX_PASSWORD | ******** (secured)  |
| CX_TEAM | \CxServer\SP\Company\TeamA  |
| CX_PRESET | Checkmarx Default  |
| CX_HIGH | 0 |
| CX_MEDIUM | 0 |
| CX_LOW | 0 |

## Buddy Default Environment Variables Used

| Variable Name  | Description |
| ------------- | ------------- |
| BUDDY_PROJECT_NAME | Project Name  |
| BUDDY_EXECUTION_BRANCH | Branch Name |
| BUDDY_EXECUTION_ID | Commit SHA1 Hash  |

To use a environment variable you need to call it like this in YML:

$ENV_VAR

## Config

Then, please add to your repository source code a file called **"buddy.yml"** with following configuration for Checkmarx Scan:

```yml
- pipeline: "Checkmarx Scan"
  trigger_mode: "ON_EVERY_PUSH"
  ref_name: "master"
  ref_type: "BRANCH"
  trigger_condition: "ALWAYS"
  actions:
  - action: "Run Checkmarx Scan"
    type: "BUILD"
    working_directory: "/buddy/cxbuddy"
    docker_image_name: "library/java"
    docker_image_tag: "latest"
    execute_commands:
    - "~/cxcli/runCxConsole.sh Scan -CxServer $CX_SERVER -CxUser $CX_USER -CxPassword $CX_PASSWORD -ProjectName \"$CX_TEAM\\\\$BUDDY_PROJECT_NAME-$BUDDY_EXECUTION_BRANCH\" -preset \"$CX_PRESET\" -LocationType folder -LocationPath /buddy/cxbuddy -SASTHigh $CX_HIGH -SASTMedium $CX_MEDIUM -SASTLow $CX_LOW -ReportXML /buddy/cxbuddy/results-$BUDDY_PROJECT_NAME-$BUDDY_EXECUTION_BRANCH.xml -ReportPDF /buddy/cxbuddy/results-$BUDDY_PROJECT_NAME-$BUDDY_EXECUTION_BRANCH.pdf -Comment \"git $BUDDY_EXECUTION_BRANCH@$BUDDY_EXECUTION_ID\" -verbose"
    setup_commands:
    - "wget -O ~/cxcli.zip https://download.checkmarx.com/8.9.0/Plugins/CxConsolePlugin-8.90.0.zip"
    - "unzip ~/cxcli.zip -d ~/cxcli"
    - "rm -rf cxcli.zip"
    - "chmod +x ~/cxcli/runCxConsole.sh"
    mount_filesystem_path: "/buddy/cxbuddy"
    shell: "BASH"
    trigger_condition: "ALWAYS"
```

repository: cxchuckb/cicd-examples

repo_name: cxchuckb/cicd-examples


text:
AspNet.Identity.MongoDB
=======================

An updated version of an ASP.NET Identity provider using MongoDB for storage. This started out as a fork on the original project [https://github.com/InspectorIT/MongoDB.AspNet.Identity](MongoDB.AspNet.Identity by InspectorIT), but it seems the author has abandoned the project, so I've decided to create my own repository.

[![Build status](https://ci.appveyor.com/api/projects/status/1knmbosmm45mdr48/branch/master?svg=true)](https://ci.appveyor.com/project/SteenTttrup/aspnet-identity-mongodb/branch/master)

## Purpose ##

ASP.NET MVC 5 shipped with a new Identity system (in the Microsoft.AspNet.Identity.Core package) in order to support both local login and remote logins via OpenID/OAuth, but only ships with an Entity Framework provider (Microsoft.AspNet.Identity.EntityFramework).

## News ##
__22-11-2015__ - The repository was created to take the code to the latest version of the Identity assemblies and the MongoDB driver.

## Features ##
* Drop-in replacement ASP.NET Identity with MongoDB as the backing store.
* Requires only 2 mongo document type, one for users and one for roles
* Supports additional profile properties on your application's user model.
* Provides UserStore<TUser> implementation that implements these interfaces:
	* IUserLoginStore<TUser>
	* IUserClaimStore<TUser>
	* IUserRoleStore<TUser>
	* IUserPasswordStore<TUser>
	* IUserSecurityStampStore<TUser>
	* IQueryableUserStore<TUser>
	* IUserEmailStore<TUser>
	* IUserPhoneNumberStore<TUser>
	* IUserTwoFactorStore<TUser, string>
	* IUserLockoutStore<TUser, string>
	* IUserStore<TUser>
* Provides RoleStore<TRole> implementation that implements this interface:
	* IQueryableRoleStore<TRole>

## Instructions ##
These instructions assume you know how to set up MongoDB within an MVC application.

1. Create a new ASP.NET MVC 5 project, choosing the Individual User Accounts authentication type.
2. Remove the Entity Framework packages and replace with MongoDB Identity:

```PowerShell
Uninstall-Package Microsoft.AspNet.Identity.EntityFramework
Uninstall-Package EntityFramework
Install-Package AspNetIdentity.MongoDB
```

3. In ~/Models/IdentityModels.cs:
    * Remove the namespace: Microsoft.AspNet.Identity.EntityFramework
    * Add the namespace: AspNet.Identity.MongoDB
	* Remove the ApplicationDbContext class completely.
4. In ~/Controllers/AccountController.cs
    * Remove the namespace: Microsoft.AspNet.Identity.EntityFramework
    * Add the connection string name to the constructor of the UserStore. Or empty constructor will use DefaultConnection

```C#
public AccountController()
{
    this.UserManager = new UserManager<ApplicationUser>(
        new UserStore<ApplicationUser>("Mongo");
}
```

```C#
public Application_Start()
{
        UserStore<ApplicationUser>.Initialize("Mongo");
        RoleStore<ApplicationUser>.Initialize("Mongo");
}
```

## Connection Strings ##
The UserStore has multiple constructors for handling connection strings. Here are some examples of the expected inputs and where the connection string should be located.

### 1. SQL Style ###
```C#
UserStore(string connectionNameOrUrl)
```
UserStore("Mongo")

**web.config**
```xml
<add name="Mongo" connectionString="Server=localhost:27017;Database={YourDataBase}" />
```

### 2. Mongo Style ###
```C#
UserStore(string connectionNameOrUrl)
```
UserStore("Mongo")

**web.config**
```xml
<add name="Mongo" connectionString="mongodb://localhost/{YourDataBase}" />
```

**OR**

```C#
UserStore(string connectionNameOrUrl)
```
UserStore("mongodb://localhost/{YourDataBase}")


text:
# Dependency Injection #

Demo application for my presentation on Dependency Injection at [CoderCamp 18](http://www.softwarehamilton.com/2014/03/26/codercamp18-this-wednesday/) in Hamilton, ON.

The presentation is [available here](https://drive.google.com/file/d/0B8OyBgym9Nl7THRuRGphanNXOHc/edit?usp=sharing).

## Terms ##

- **Dependency Inversion** – A design principal that high level modules should not depend on low level modules, but both should depend on abstractions
- **Inversion of Control** – A design pattern where objects are coupled at run-time rather than compile time
- **Dependency Injection** – One form of IoC where functionality is passed into an object through constructors or parameters

## Advantages ##

- Makes adapting to changing requirements easier
- Makes unit testing much easier
- New functionality can be plugged in
- Applications can be composed from smaller modules
- Promotes loose coupling between modules

## Disadvantages ##

- Code can be hard to follow
- Run-time errors instead of compile-time errors
- Programming to the least common denominator
- Possible performance issues

## Useful Links ##

- [Martin Fowler’s paper on the Dependency Inversion Principle](http://www.objectmentor.com/resources/articles/dip.pdf)
- [Castle Windsor](http://www.castleproject.org/projects/windsor/)
- [StructureMap](http://structuremap.sourceforge.net/)
- [Spring.net](http://www.springframework.net/)
- [Autofac](http://code.google.com/p/autofac/)
- [Unity](http://codeplex.com/unity)
- [Ninject](http://ninject.org/)
- [Funq](http://funq.codeplex.com/)


text:
# vocafex

vocafex is an audio processing software.
currently vocafex is still in development and there is no any useful documentation yet.

these are all the features that we want to achieve:
- Audio Track (enable multiple audio input such as microphone, wav file, etc)
- Audio Mixer (mixing all input and combine it into one output)
- Sound FX (reverb, chorus, distortion, noise cancelling, etc)
- Audio Pipeline (pipelining all audio stream from and to each step such as input -> processing -> sink)

## 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/)

repository: raspiantoro/vocafex

repo_name: raspiantoro/vocafex


text:
---
layout: blog
type: blog
title: Embed Video in Github README.md
date: 2017-07-03
labels:
  - Github
  - Video
---
Sometimes you may want to embed a youtube video into your repository's README.md file. There are several methods such as using youtube's auto-generated picture, a video screenshot, or an animated gif.

## Use youtube's preview picture
We can use youtube's auto-generated picture for the video:

```
http://img.youtube.com/vi/VIDEO-ID/0.jpg
```

Template:

```markdown
[![Alt text for your video](https://img.youtube.com/vi/VIDEO-ID/0.jpg)](http://www.youtube.com/watch?v=VIDEO-ID)
```

Example:

```markdown
[![SC2 Video](https://img.youtube.com/vi/--b-9HrKK6w/0.jpg)](http://www.youtube.com/watch?v=--b-9HrKK6w)
```
Which gives you this (using --b-9HrKK6w for VIDEO-ID). But this doesn't feel like a video. We can do better.

[![Alt text for your video](https://img.youtube.com/vi/--b-9HrKK6w/0.jpg)](http://www.youtube.com/watch?v=--b-9HrKK6w "SC2 Mini game - Click to Watch!"){:target="_blank"}

Notice how it's not completely certain if it's an image or a video.

## Use a video screenshot or .gif
To make it feel more like a video, we can use a video placeholder picture, screenshot, or .gif for our image. First create a directory to hold the screenshot or gif such as `doc/screenshot_youtube.PNG` then use this format.

Template:

```markdown
[![Alt text for your video](doc/screenshot_youtube.PNG)](https://www.youtube.com/watch?v=VIDEO-ID "Put hover text here!")
```

Example:

```markdown
[![SC2 Video](doc/SC2_youtube.PNG)](https://www.youtube.com/watch?v=--b-9HrKK6w "SC2 Mini game - Click to Watch!")
```

This method gives us this. If you need a quick fix, this method "tricks" the user into thinking the video is on the README page with a picture. It's not perfect but it works.

[![SC2 Video](../images/blog/embed-video-in-github-readme.PNG)](https://www.youtube.com/watch?v=--b-9HrKK6w "SC2 Mini game - Click to Watch!"){:target="_blank"}

Similarly, you could use an animated .gif instead since they are rendered on Github's readme.

Template:

```markdown
[![Alt text for your video](doc/gifName.gif)](https://www.youtube.com/watch?v=VIDEO-ID)
```

Example:

```markdown
[![SC2 Video](doc/SC2_youtube.gif)](https://www.youtube.com/watch?v=--b-9HrKK6w)
```

<video src="../images/blog/embed-video-in-github-readme.mp4" autoplay="" loop="" playsinline="" style="width: 100%; padding-bottom:10px"></video>

This method is probably the most eye catching but it takes some work to get that .gif file.

Good luck!

gha_license_id: MIT


text:
# _pantograph_’s Philosophy

_pantograph_ automates the process for your apps, including config, test,build, and deploy

_pantograph_ will continue to evolve in ways that make it indispensable for, and focused on these needs.

_pantograph_ aims to be elegant in success, and empathetic in failure.

_pantograph_ provides intelligent defaults for options, prompts for missing information, and a context that automatically shares relevant information between actions. All of this allows a simple, elegant Pantfile to do a lot of powerful work.

Since errors are inevitable, _pantograph_ should show empathy and provide a suggested solution, or attempt to solve the problem automatically. Errors that can be anticipated should not crash _pantograph_, and should present users with a friendly message that is easy to spot in their terminal or logs.

## Actions and Plugins

_pantograph_ saw a lot of early growth through a wide number of actions that meet a variety of needs. Actions can trigger built-in _pantograph_ tools, talk to external tools and services, and more. However, with more than 170 built-in actions, further growth here will make _pantograph_ harder to understand and get started with. Another consideration is that actions which ship with _pantograph_ represent a maintenance cost for the _pantograph_ core team.

With these challenges in mind, [_pantograph_ plugin system](https://fabric.io/blog/introducing-pantograph-plugins/) allows anyone to develop, share, and use new actions built and maintained by the awesome _pantograph_ community. If you have an idea for a new _pantograph_ action, [create it as a plugin](https://urbanquakers.github.io/pantograph/plugins/create-plugin/) and it’ll be automatically listed in the [_pantograph_ plugin registry](https://urbanquakers.github.io/pantograph/plugins/available-plugins). The most impactful and commonly used plugins could be adopted into _pantograph_ in the future.

## _pantograph_ Tool Responsibilities

Each _pantograph_ tool has a specific purpose and should be kept focused on the functionality required for that task.

## _pantograph_ Roadmap

| Goal                      | Completed |
| ------------------------- | --------- |
| 80% > Test Coverage       |           |
| 80% > Yard Doc Coverage   |           |
| Markdown Linting          |           |
| Fix Plugin Functionality  |           |
| Improve Contrib Process   |           |
| Fix CI/CD Process         |           |
| Resolve Tool Concept      |           |
| Twitter Publication Notif |           |
| Docs include blogs        |           |
| Impv action Example Code  |           |

- Resolve old References in Code Examples
  - crashlytics
  - increment_build_number
- Remove Swift References

repository: urbanquakers/pantograph

gha_language: Ruby

repo_name: urbanquakers/pantograph


text:
===Ingredients===

==For the Cake:==

* 175g margarine, softened
* 175g caster sugar
* 3 eggs 175g
* self-raising flour
* 25g cocoa powder
* 50g ground almonds

==For the Filling:==
* 225g chocolate (at least 70% cocoa solids)
* 50g butter
* 300ml double cream

===Directions===
# Cream together the margarine and sugar until pale and fluffy then add the eggs, one at a time, beating thoroughly to combine after each addition.
# Sift the flour into a bowl then fold into the creamed mixture, along with the cocoa powder and ground almonds.
# Thoroughly grease a 20cm diameter springform cake tin. Turn in the cake mix and even out the top.
# Transfer to an oven pre-heated to 180°C (350°F) and bake for 50 minutes, or until the cake is cooked through and a skewer inserted into the centre emerges cleanly.
# Allow the cake to cool in the tin for 10 minutes then tun out onto a wire rack to cool completely.
# When cold, use a sharp knife to slice the cake through the middle into two equal rounds.
# For the filling, combine the chocolate, butter, and cream in a small saucepan. Heat very gently, stirring frequently, until the butter and chocolate have melted and combined with the cream.
# Beat with a wooden spoon for 2 minutes then turn the mixture into a bowl and set aside to cool until the mixture begins to set.
# Now use the chocolate cream to sandwich the two cake halves together.

repository: nixnull/recipe-wiki

repo_name: nixnull/recipe-wiki


text:
# HTML dir Walk

Under development

## Requirements

 - Python >= 3.6

## Usage

```bash
htmldirtree http://example.org/dir
```

repository: jfilak/hmtldirwalk

repo_name: jfilak/hmtldirwalk


text:
[![Build Status](https://travis-ci.org/sul-dlss/spotlight-dor-resources.png?branch=master)](https://travis-ci.org/sul-dlss/spotlight-dor-resources) | [![Coverage Status](https://coveralls.io/repos/sul-dlss/spotlight-dor-resources/badge.png?branch=master)](https://coveralls.io/r/sul-dlss/spotlight-dor-resources) | [![Dependency Status](https://gemnasium.com/sul-dlss/spotlight-dor-resources.svg)](https://gemnasium.com/sul-dlss/spotlight-dor-resources) | [![Gem Version](https://badge.fury.io/rb/spotlight-dor-resources.png)](http://badge.fury.io/rb/spotlight-dor-resources)

# Spotlight::Dor::Resources

 Harvest Stanford DOR resources into a Spotlight exhibit.

## Installation

Add this line to your application's Gemfile:

    gem 'spotlight-dor-resources'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install spotlight-dor-resources

## Usage

Within a Spotlight application with `spotlight-dor-resources` installed, you could index a set of records the ["gdor-indexer"](https://github.com/sul-dlss/gdor-indexer) way.

Note that Spotlight:

* is a Rails engine and needs to be used in the context of a Rails application. We use [engine_cart](https://github.com/cbeer/engine_cart) to create an internal test application at .internal_test_app.
* uses Solr as part of its integration tests. We use [solr_wrapper](https://github.com/cbeer/solr_wrapper) to manage the Solr instance used for development and test.

Our `$ rake ci` task utilizes Solr and the testing rails app, with Spotlight installed, automatically.

For access to a Rails console with the gem loaded up for testing purposes, you can use an engine-cart generated Spotlight app.

### First time only configuration for local testing

    $ bundle
    $ bundle exec rake ci

This will download a test jetty instance (to run Solr), generate a testing app at ```.internal_test_app``` and run the tests.

### Indexing with the generated test app

    $ solr_wrapper
    $ bundle exec rake engine_cart:console

```ruby
druid="ty202yt2402" # a feigenbaum druid
druid="cx709ty7769" # a revs druid
purl=Spotlight::Resources::DorHarvester.new(druid_list: druid)
purl.exhibit=Spotlight::Exhibit.new # need an exhibit to attach the test solr docs too
purl.exhibit.title='stanford'
purl.exhibit.save

puts purl.to_solr.first # the solr document as a hash
public_xml=purl.resources[0].public_xml # nokogiri doc with all public XML
mods=purl.resources[0].mods # nokogiri doc with just the MODs
smods_rec=purl.resources[0].smods_rec # a Stanford::Mods::Record Object (which inherits from the MODS gem)

puts purl.resources[0].bare_druid # will not have the "druid:" prefix
puts purl.resources[0].druid # might have the "druid:" prefix (if returned as the result of an is_collection call)

purl.resources[0].indexer.config.solr.url # the configured solr server (should be localhost in development)

purl.save # save to database and index to solr
purl.reindex # reindex once saved the first time
```

## Contributing

1. Fork it ( http://github.com/sul-dlss/spotlight-dor-resources/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request


text:
---
author: Jens-Christian Fischer
categories: ["musings"]
comments: true
date: 2009-11-20 16:05:17+00:00
layout: post
link: https://invisible.ch/2009/11/20/links-for-2009-11-20/
slug: links-for-2009-11-20
tags: ["blog"]
title: links for 2009-11-20
type: post
wordpress_id: 761
---

  *

[Apple's Mistake](https://paulgraham.com/apple.html)

"Why are programmers so fussy about their employers' morals? Partly because they can afford to be. The best programmers can work wherever they want. They don't have to work for a company they have qualms about."

(tags: [apple](https://delicious.com/jaycee/apple) [iphone](https://delicious.com/jaycee/iphone) [business](https://delicious.com/jaycee/business) [software](https://delicious.com/jaycee/software) [culture](https://delicious.com/jaycee/culture) [development](https://delicious.com/jaycee/development))

  *

[Clients From Hell](https://clientsfromhell.tumblr.com/)

some of the things read sound just plain... true

(tags: [design](https://delicious.com/jaycee/design) [humor](https://delicious.com/jaycee/humor) [blog](https://delicious.com/jaycee/blog) [funny](https://delicious.com/jaycee/funny))

  *

[Pranav Mistry: The thrilling potential of SixthSense technology | Video on TED.com](https://www.ted.com/talks/lang/eng/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html)

unbelievable

(tags: [ted](https://delicious.com/jaycee/ted) [technology](https://delicious.com/jaycee/technology) [future](https://delicious.com/jaycee/future) [inspiration](https://delicious.com/jaycee/inspiration) [information](https://delicious.com/jaycee/information) [sixthsense](https://delicious.com/jaycee/sixthsense))

  *

[How to Manage a Group Project in Google Wave - Google Wave - Lifehacker](https://lifehacker.com/5407183/how-to-manage-a-group-project-in-google-wave)

Good stuff that highlights the real power of Google Wave... I have used it to great benefit already, and I look forward to doing more with it

(tags: [google](https://delicious.com/jaycee/google) [collaboration](https://delicious.com/jaycee/collaboration) [tips](https://delicious.com/jaycee/tips) [productivity](https://delicious.com/jaycee/productivity) [socialmedia](https://delicious.com/jaycee/socialmedia) [googlewave](https://delicious.com/jaycee/googlewave) [wave](https://delicious.com/jaycee/wave) [howto](https://delicious.com/jaycee/howto) [projectmanagement](https://delicious.com/jaycee/projectmanagement))


text:
# Spack extension `external`

Provides new subcommand-family `spack external *` to explore options on how to improve the situation with spack's basic external package support.

## Status

Experimental

## Prerequisites

Developed against this modified spack: https://github.com/dennisklein/spack/tree/spack-external-dev

## Installation

Add the following config to `~/.spack/config.yaml`:

```yaml
config:
  extensions:
  - /path/to/clone/of/this/repo
```

## Usage

```
$ spack external -h
usage: spack external [-h] SUBCOMMAND ...

manipulate external package config files

positional arguments:
  SUBCOMMAND
    status (st)
               show which external packages are used

optional arguments:
  -h, --help   show this help message and exit
```

repository: dennisklein/spack-external

repo_name: dennisklein/spack-external


text:
Creating Groups {#tutorial_hdf_create_groups}
===============================

Goal
----

This tutorial will show you:
 - How to create a HDF5 file?
 - How to create a group?
 - How to check whether a given group exists or not?
 - How to create a subgroup?

Source Code
----

The following code creates two groups: `Group1` and `SubGroup1`, where
`SubGroup1` is a child of `Group1`.

You can download the code from [here][1] or find it in the file
`modules/hdf/samples/create_groups.cpp` of the opencv_contrib source code library.

@snippet samples/create_groups.cpp tutorial

Explanation
----

First, we create a HDF5 file

@snippet samples/create_groups.cpp tutorial_create_file

If the given file does not exist, it will be created. Otherwise, it is open for read and write.

Next, we create the group `Group1`

@snippet samples/create_groups.cpp tutorial_create_group

Note that we have to check whether `/Group1` exists or not using
the function cv::hdf::HDF5::hlexists() before creating it. You can not create
a group with an existing name. Otherwise, an error will occur.

Then, we create the subgroup named `Subgroup1`. In order to
indicate that it is a sub group of `Group1`, we have to
use the group name `/Group1/SubGroup1`:

@snippet samples/create_groups.cpp tutorial_create_subgroup

Note that before creating a subgroup, we have to make sure
that its parent group exists. Otherwise, an error will occur.

In the end, we have to close the file

@snippet samples/create_groups.cpp tutorial_close_file

Result
----

There are many tools that can be used to inspect a given HDF file, such
as HDFView and h5dump. If you are using Ubuntu, you can install
them with the following commands:

@code
sudo apt-get install hdf5-tools hdfview
@endcode

There are also binaries available from the The HDF Group official website <https://support.hdfgroup.org/HDF5/Tutor/tools.html>.

The following figure shows the result visualized with the tool HDFView:

![Figure 1: Results of creating groups and subgroups](pics/create_groups.png)

The output for `h5dump` is:

@code
$ h5dump mytest.h5
HDF5 "mytest.h5" {
GROUP "/" {
   GROUP "Group1" {
      GROUP "SubGroup1" {
      }
   }
}
}
@endcode

[1]: https://github.com/opencv/opencv_contrib/tree/master/modules/hdf/samples/create_groups.cpp

extension: markdown


text:
# Cross-border yuan usage jumps 20% in January-September on capital market opening: Central banker

Published at: **2019-11-06T00:00:00+00:00**

Author: **Reuters**

Original: [Moneycontrol](https://www.moneycontrol.com/news/world/cross-border-yuan-usage-jumps-20-in-january-september-on-capital-market-opening-central-banker-4608061.html)

Cross-border usage of China's yuan currency exceeded 14 trillion yuan ($2 trillion) during the January-September period, up 20% from a year earlier, a central bank official said on Wednesday.
About 6 trillion yuan of cross-border yuan payment was for securities investment, thanks to China's accelerated opening of its capital markets, Huo Yingli, director of macroprudential policy bureau at the People's Bank of China told a conference in Shanghai.
She added that yuan-denominated assets remain attractive, forecasting continuous foreign money inflows.Special Thursday Expiry on 10th 7th NovEarly Closure to The Great Diwali Discount. Last Chance to get Moneycontrol PRO for a year @ Rs. 289/- only Coupon code: DIWALI

license: Unlicense

repository: dsadlollioygjmzvcxv/tdc-exported

repo_name: dsadlollioygjmzvcxv/tdc-exported


text:
e1b59c93 2.1 release notes
2cf8371a Add --force flag to modify annotations and labels
0fa2d9c3 Add --reorder flag.
2d70526e Add ConfigMapGenerator and test.
4df57686 Add SedTransformerTest
68f6b0be Add Webhookconfiguration in default name references
1545e07d Add a plugin loader test.
449175e3 Add a sorting plugin.
aafc23a6 Add annotation transformer.
9bd456c6 Add bug report page.
0df58838 Add builtin JSON patch transformer
621bb7c6 Add builtin NameTransformer plugin.
45901219 Add builtin label transformer.
79906d73 Add builtin namespace transformer plugin
d9b0c4c8 Add copy method to VarSet
798b61c8 Add copy method to VarSet
d9259397 Add documentation for the replicas transform
2744e058 Add entry for inventory in fields.md
3f2acc90 Add faq
99391157 Add goplugin KV generator example.
3b8c5ee9 Add load_restrictor flag.
8f413f52 Add name reference of storageClass
5e054c9d Add originalName field to resource.
bb9b3163 Add script to run cloud build 'locally'.
ffc16d51 Add secret generator.
755dd3d0 Add some utilities.
c9d903cc Add support for escaping characters in Doc
2825888f Add test for builtin secretgenerator plugin.
e6c1b141 Add test for transformers/image custom config
644dc4b9 Add test showing shared patches disallowed.
96707645 Add test showing shared patches disallowed.
8d9897d5 Add the rmBuilder test helper.
000f81b2 Added test to verify usage of multiline strip chomp in configMapGenerator
5e7ddc86 Adds precommit for windows + documentation
5e33ac4a Allow nil label and annotaion
f38d0c69 Apply LimitRange resources before workloads
b28aaae6 Break a bad dep.
76d370a8 Chart last mile example
f621543d Cleanup kusttarget.
16fe7ced Cleanup plugin builds.
d4842ebd Cleanup the replica plugin implementation.
8991bcb3 Collect existing internal pkgs under one roof.
d0cf0473 Convert image transformer test to a more readable format
81c98c85 Convert inventory transformer to plugin, reduce k8sdeps.
c9a5c03e Convert legacy file based test to in-memory
2e71a3b8 Convert plugins to accept bytes instead of unstruct.
52faa01e Cover #1155 with a test.
fe67bcdb Cut more ties to k8sdeps
e1389649 Cut more ties to k8sdeps
175c754f Define a plugin compiler.
9a850710 Delete kustomizationerror.
6a106546 Delete the KV plugin code.
9a4cb6c9 Delete unused code.
cc531af6 Deprecate 'bases:' field.
939de0cd Dogfood the plugin framework.
267eec55 Fix 918
3a44508d Fix error message
0f571b91 Fix field names
9a4692e6 Fix function comments based on best practices from Effective Go
e207ae4c Fix incorrect default varrefs for CronJob volumeMounts
3d0e2907 Fix markdownlint warnings
31091a8d Fix missing varrefs for CronJob, Job, ReplicaSet
cefb64b6 Fix path
a9145702 Fix some comment nits.
7295a9b3 Fix some nits.
b92ee256 Fix some nits.
57eecd74 Fix test broken by the change in ordering.
e079c20c Fix typo
559efd64 Fix typo in namereference path for cronjobs initContainers.
a7a2589e Fix yaml in generator examples.
9b6f8f0c Format generated code.
2545ea10 Helm chart generator exec plugin
02f37953 Idiom fixes.
5000a2e5 Implement replica transformer as patch alternative
9c36ac28 Improve comments in name transform code.
58d9a510 Improve plugin doc.
529db049 Introduce envs field.
6d309b52 Introduce stacked transformers.
abf538d8 Keep backward compatibility for image transformer
7e12918f Keep var refernce in resources
7130e3ff Leave defautconfig empty for images
3e85c458 Load default config for image transformer
4162dbc2 Maintain resources in order loaded.
3a7c8a03 Make builtin the default pluginType
bcc7412e Make kusttestharness shareable.
cfb0c5ef Make plugin dir match Go conventions.
8d4b6452 Make the replica transformer `kind` aware.
3f8b1fe0 Make the replica transformer `kind` aware.
c470982c Make transformer configs array-aware
cd19d426 Merge remote-tracking branch 'upstream/master'
0b555e1b Modify tests to present expected data in unsorted order.
f17698a8 More release note tweaks.
9a12b551 Move accumulator code to its own package.
ee728d58 Move hashing code out of k8sdeps.
fd2248e7 Move hashing transformer out of k8sdeps.
d2c93065 Move kustomize main to cmd directory.
4bc31f4b Move pluginator to cmd directory.
5653ae69 One plugin per dir.
a09b42b3 Order ValidatingWebhookConfig last.
c63ebbdf Preserve order when merging.
11bb176a Push suffix/prefix code to plugin.
103c1b3a Put goplugins behind flag.
2796e545 Put windows test script next to pre-commit.sh
47c96548 Reduce k8ds deps
4f429d6b Reduce time required for cloning remote bases
b67d713b Remove dependency on ghodss/yaml
78cdff6d Remove kv plugins from docs.
3c58c9d1 Remove local load restrictions.
8767495b Remove some duped code.
b32e041b Remove some duped code.
8c133ef0 Removes mdrip testing for Windows
a2e4f6cf Rename ./bin dir to ./travis.
0e4f9acb Rename ErrorIfNotEqual to ErrorIfNotEqualSets
49d94f53 Rename the prefix/suffix transformer.
c06b9507 Secret/configmap factory cleanup.
3a01a63a Simplify code base.
76a31798 Simplify plugin loader code.
3a85fcd3 Simplify some of the plugin testing code.
3011f180 Sort default varReference config by kind, path
44ac9a9f Standalone ChartInflator plugin test.
5614649d Standalone service generator test
f311ba8d Support custom config for image transformer
e191ff53 Switch to vgo
a5660415 Tell homebrew to update.
ed03818e This commit enhances the UnstructAdapter
e0d2fa57 Translated kustomization.yaml into markdown in fields.md. Updated links to point to fields.md
a352ff39 True and false are mysterious.
7971ac1c Tweak secret docs.
852e7ed5 Typo Fix
1dd448e6 Update 2.1 release notes before release.
0f50be87 Update ChartInflatorExec
72fd31fd Update FAQ.md
185ae510 Update README.md
fa4dc14c Update all.go
ae0510f6 Update chartinflatorexecplugin_test.go
08b6f6f4 Update golinter to 1.17.1
4502e8ff Update inventory_object.md
ca478016 Update minecraft version in example.
efcf8757 Update order of resources to include psps
64bd0692 Update plugins.md
0045d7b7 Update plugins.md
54d1c557 Update plugins.md
86534869 Update remoteBuild.md
2ec8189c Update remoteBuild.md
1afc6c77 Update strategic-merge link
c1dea667 Update travis file.
9edecffc Update v_2.1.0.md
f2295acf Update v_2.1.0.md
71f44d64 Update v_2.1.0.md
bb69e9e7 Updates documentation for support and source
2490e605 Updates in image transformer (#911)
c6476d16 Upgrade version of minecraft used in tests.
af2b101f Use go modules in cloud builder.
5be42092 Vars should expand in ingress/spec/tls/secretName
9203478a Write individual files to output path if it is a directory
942e36e1 a few more changes
5b18c4de add ItemId type
6f4b104c add admission webhook types in the default cluster-scoped resource list
9fc4d388 add builtin envfiles plugin
a8465c95 add builtin files plugin
388d5c2d add builtin plugins
7fa02ce5 add document to explain inventory field (#997)
142879ec add example for transformer plugin
74937321 add generator plugins
deaf0779 add generators/transformers fields in kusotmization.yaml
ba43ecbc add goplugin for exec generators and transformers
d5abe39d add inventory package and refactor inventory transformer
f7cd44be add job initcontainer to varreference config
53a22cbe add note for availability in kubectl
2675bf4b add older release notes
ca6228b5 add remove resource subcommand
18f63282 add secret and configmap generator plugins
f6e01cfd add support for exec plugins
dd59eb38 add test case
c724cb71 add test for empty patch file
445f7392 add test for ensuirng the loader root is correctly passed
a8c476f7 add the Chhinese translation of docs list & install (#1022)
fb9e00bf add the unstructured to ENV of exec plugins
4f1a2350 add transformer plugins
237c54f4 add tutorial for custom images transformer
b4dbac1b add validation transformer
89243aed add zh dir
b07bea40 added field tables
3168b2a1 added link to examples
7a54d998 added links to section headings
e9a3f9f5 address comments
86f0f9a4 address comments
e5d730e1 address comments
ad7ca697 address comments
65886f12 address comments
1d65f24b adds documentation for choco package
e4159d94 allow to set image without a tag
b4fc1e43 change field name: prune -> inventory
404884e2 chinese helloworld doc
7b82154c correct spelling, minor word ordering
ca4aea17 doc/glossary updates for v2.1
3ff5c793 docs add kubectl command
c250f75d enable go module in the integration test (#1153)
3e6ee23a fix README
70def866 fix a link
e6d1de0d fix commonLabels spec for volumeClaimTemplates
4848987a fix configmap/secret name references for cronjobs with projected volumes
fa552d77 fix help msg for set image cmd
a64baed4 fix link
1bd7afe6 fix linter
822420e4 fix mergeFlags
bcb697eb fix namespace transformer for cluster-scoped resources
7765bdd9 fix some doc
a889f97f fix some example ptrs
56965a00 fix test
927b497f fix tests
61d46c26 fix the boilerplate copyright header (#1064)
03751372 fix the bug for patching CRDs
93908602 fix the bug for setting annotations when triggering transformers
21a0cba4 fix the regression of building remote url (#935)
7ab4d284 fix translation
62d3200e fix typo in namereference where serviceaccount name would not resolve
826affb8 generate configmap for pruning
cd9572e0 hey
5c471965 honor XDG_CONFIG_HOME
2aa7e30a minimize test
29cbec37 move parse helpers to util
fc8063f7 pass loader root to exec plugins
c1e2b27c pass resources to transformer plugin all together
e287f615 readded kustomization.yaml
f850ca63 remove extra comment
e17d3033 reorganize the examples layout
bfc3655b skip adding namespace when the object is empty
440d0361 some transformer plugins
61cf67fb start v2.1 release notes
403ede78 tests: demonstrate issue with JSON patch when base adds name prefix
b4efc833 translate example list
16924d79 translate kustomization.yaml
faaf6002 translate kustomization.yaml & update zh/README
540e4023 typo in README
748c88c2 update PruneString for resources
b60fca05 update edit add secrets/configmaps to use plugins
c836de5c update error msg
e4956c55 update examples/README.md
b2c87522 update validation transformer example text
d2103dbf updated grouping and added brief descriptions of sections

repository: antoniasymeonidou/kustomize

repo_name: antoniasymeonidou/kustomize


text:
# Clean Boot

Clean Boot is a minimal less framework based on [Bootstrap](http://getbootstrap.com). Bootstrap includes several bloated features that I don't often use. Our goal is to create a framework with the following features:

 * Full Fetured Grid
 * Basic Element Styling
 * Variables for Rapidly Styling Elements

We are working to open this up to the community soon.

repository: gitter-badger/Clean-Boot

gha_language: CSS

repo_name: gitter-badger/Clean-Boot


text:
# The `mkdir` command

The `mkdir` command in Linux/Unix is used to make a directory.

For example:

```
mkdir name_of_directory
```

If you want to create a directory in a directory use path for that directory.

For example:

```
mkdir /home/test
```

You can also create sub-directories of a directory. It will create parent directory first, if it doesn't exist. But if it already exists, then it will not print an error message and will move further to create sub-directories.

For example:

```
mkdir -p /home/test/src/python
```

branch_name: refs/heads/main