text:
---
title: SAP Concur App Center - Release Notes 2020
layout: reference
---

* [January](#january)
* [February](#february)
* [March](#march)
* [April](#april)
* [May](#may)
* [June](#june)
* [September](#september)
* [October](#october)
* [November](#November)

## January 2020

* [Apps for Me / User Connection Apps Now Available](#apps-for-me-connection-now-available-january)
  * [Imbric (Taksee)](#imbric-january)
* [Apps for Me / User Connection Apps Coming Soon](#apps-for-me-connection-coming-soon-january)
  * [HP for SAP Concur](#hp-for-sap-concur-january)
  * [Meituan](#meituan-january)

### Apps for Me / User Connection Apps Now Available

### Imbric (Taksee)

![Imbric (Taksee) Logo](./app-center-2020-01-17-imbric-logo.png)

Imbric (Taksee) allows you to conveniently manage all of your transportation from one mobile app and send e-receipts of your transactions to Concur Expense.

Imbric offers taxis, on-street & off-street car parking, carpooling, and much more. The Imbric planner even helps you choose the best option to get to your destination.

* **Taxi**: Book and pay for your trips with the app in more than 200 cities in Europe.
* **Off-Street Car Parking**: Book parking at more than 1,000 airports & urban car parks.
* **On-Street Car Parking**: Forget coins! Use the parkimeter to park and pay on your mobile in more than 120 Spanish cities.
* **Expense Management**: Easily send your e-receipts to Concur Expense after you park or ride.

Imbric (Taksee) works with Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Imbric (Taksee) integration, visit [https://www.imbric.com](https://www.imbric.com).

## Apps for Me / User Connection Apps Coming Soon

### HP for SAP Concur

![HP Logo](./app-center-2020-01-17-hp-logo.png)

HP for SAP Concur makes it easy to send your receipts to Concur Expense, simplifying your expense reporting process and saving you time. You can scan, preview, and submit receipts to your SAP Concur account directly from the touch screen of any HP Enterprise MFP enabled with JetAdvantage Apps.

HP for SAP Concur enables you to:

*	Scan receipts directly to the Concur Expense receipt store.
*	Preview the scan image on the MFP screen before sending.
*	Configure the scan options to suit your needs.

Getting started is easy! Launch the “HP for SAP Concur” app from the main screen of your HP multi-function device. Login with your Concur ID and then scan your receipts.

HP for SAP Concur works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the HP for SAP Concur integration, visit [https://www.hp.com/go/digitalworkflow](https://www.hp.com/go/digitalworkflow).

### Meituan

![Meituan Logo](./app-center-2020-01-28-meituan-logo.png)

Meituan Dianping Shangqitong provides enterprises with easy-to-use meal compliance management services, with wide coverage across China and excellent options and resources. Through the Meituan Dianping platform, companies can reduce catering costs, optimize efficiency, prevent risks, and increase employee satisfaction. And, by connecting Meituan Dianping to SAP Concur, e-receipts for transactions will appear automatically in Concur Expense for easier expense reimbursement and spend tracking.

Meituan Dianping provides services for a variety of business meals:
  * Business meals: Services for on-site meals for employees’ standard workdays.
  * Meeting catering: Meal services for daily meetings / training sessions / company conferences and exhibitions.
  * Working meals: Meal services for corporate overtime meals / internal group building.
  * Tea breaks: Delivery service for conference tea break or afternoon tea.

Meituan works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Meituan integration, visit [https://www.about.meituan.com/home/](https://www.about.meituan.com/home/).

## February 2020

* [Apps for Me / User Connection Apps Now Available](#apps-for-me-connection-now-available-february)
  * [Meituan](#meituan-february)
* [Apps for Me / User Connection Apps Coming Soon](#apps-for-me-connection-coming-soon-february)
  * [HP for SAP Concur](#hp-for-sap-concur-february)

### Apps for Me / User Connection Apps Now Available

### Meituan

![Meituan Logo](./app-center-2020-01-28-meituan-logo.png)

Meituan Dianping Shangqitong provides enterprises with easy-to-use meal compliance management services, with wide coverage across China and excellent options and resources. Through the Meituan Dianping platform, companies can reduce catering costs, optimize efficiency, prevent risks, and increase employee satisfaction. And, by connecting Meituan Dianping to SAP Concur, e-receipts for transactions will appear automatically in Concur Expense for easier expense reimbursement and spend tracking.

Meituan Dianping provides services for a variety of business meals:
  * Business meals: Services for on-site meals for employees’ standard workdays.
  * Meeting catering: Meal services for daily meetings / training sessions / company conferences and exhibitions.
  * Working meals: Meal services for corporate overtime meals / internal group building.
  * Tea breaks: Delivery service for conference tea break or afternoon tea.

Meituan works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Meituan integration, visit [https://www.about.meituan.com/home/](https://www.about.meituan.com/home/).

## Apps for Me / User Connection Apps Coming Soon

### HP for SAP Concur

![HP Logo](./app-center-2020-01-17-hp-logo.png)

HP for SAP Concur makes it easy to send your receipts to Concur Expense, simplifying your expense reporting process and saving you time. You can scan, preview, and submit receipts to your SAP Concur account directly from the touch screen of any HP Enterprise MFP enabled with JetAdvantage Apps.

HP for SAP Concur enables you to:

*	Scan receipts directly to the Concur Expense receipt store.
*	Preview the scan image on the MFP screen before sending.
*	Configure the scan options to suit your needs.

Getting started is easy! Launch the “HP for SAP Concur” app from the main screen of your HP multi-function device. Login with your Concur ID and then scan your receipts.

HP for SAP Concur works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the HP for SAP Concur integration, visit [https://www.hp.com/go/digitalworkflow](https://www.hp.com/go/digitalworkflow).

## March 2020

* [Apps for Me / User Connection Apps Now Available](#apps-for-me-connection-now-available-march)
  * [Grubhub](#grubhub-march)
  * [Seamless](#seamless-march)
* [Apps for Me / User Connection Apps Coming Soon](#apps-for-me-connection-coming-soon-march)
  * [HP for SAP Concur](#hp-for-sap-concur-march)

### Apps for Me / User Connection Apps Now Available

### Grubhub

![Grubhub Logo](./app-center-2020-03-14-grubhub-logo.png)

Whether you choose pickup or delivery, save money with Grubhub Perks and
get exclusive deals on the food you crave. Plus e-receipts are sent directly to
Concur Expense to make expensing orders easy. Download the app today!

* Choose from the largest selection of restaurants in the nation.
* Track your order with real-time updates.
* Express reorder your favorite meals.
* Count on Grubhub’s 24/7 customer support.

To get started, create an account or link an existing one to your Concur Expense account by clicking ‘Connect’ on this listing page in the SAP Concur App Center. Enter your current address on the site or mobile app to see every business nearby for delivery or pickup and start ordering!

When you expense a meal at checkout, Grubhub automatically sends your e-receipt to Concur Expense within 24 hours of order confirmation. You can also expense past orders on Grubhub. Order now and expense later.

Grubhub works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Grubhub integration, visit [https://www.grubhub.com](https://www.grubhub.com).

### Seamless

![Seamless Logo](./app-center-2020-03-14-seamless-logo.png)

Seamless is New York’s favorite place to order food online from the best local restaurants. Whether you choose delivery or pickup, save money with Seamless Perks and get exclusive deals on the food you crave. Plus, e-receipts are sent directly to Concur Expense to make expensing orders easy.

* Choose from the largest selection of restaurants in the nation
* Track your order with real-time updates
* Express reorder your favorite meals
* Count on 24/7 customer support

To get started, create an account or link an existing one to your Concur Expense account by clicking ‘Connect’ on this listing page in the SAP Concur App Center. Enter your current address on the site or mobile app to see every business nearby for delivery or pickup and start ordering!

When you expense a meal at checkout, Seamless automatically sends your e-receipt to Concur Expense within 24 hours of order confirmation. You can also expense past orders on Seamless. Order now and expense later.

Seamless works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Seamless integration, visit [https://www.seamless.com](https://www.seamless.com).

## Apps for Me / User Connection Apps Coming Soon

### HP for SAP Concur

![HP Logo](./app-center-2020-01-17-hp-logo.png)

HP for SAP Concur makes it easy to send your receipts to Concur Expense, simplifying your expense reporting process and saving you time. You can scan, preview, and submit receipts to your SAP Concur account directly from the touch screen of any HP Enterprise MFP enabled with JetAdvantage Apps.

HP for SAP Concur enables you to:

*	Scan receipts directly to the Concur Expense receipt store.
*	Preview the scan image on the MFP screen before sending.
*	Configure the scan options to suit your needs.

Getting started is easy! Launch the “HP for SAP Concur” app from the main screen of your HP multi-function device. Login with your Concur ID and then scan your receipts.

HP for SAP Concur works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections (formerly Apps for Me) at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the HP for SAP Concur integration, visit [https://www.hp.com/go/digitalworkflow](https://www.hp.com/go/digitalworkflow).

## April 2020

* [User Connection Apps Now Available](#user-connection-now-available-april)
  * [HP for SAP Concur](#hp-for-sap-concur-april)
  * [ScanSnap Cloud](#scansnap-cloud-april)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-april)
  * [PayPay](#paypay-april)
  * [Orbi by SilverDoor](#orbi-by-silverdoor-april)

### User Connection Apps Now Available

### HP for SAP Concur

![HP Logo](./app-center-2020-01-17-hp-logo.png)

HP for SAP Concur makes it easy to send your receipts to Concur Expense, simplifying your expense reporting process and saving you time. You can scan, preview, and submit receipts to your SAP Concur account directly from the touch screen of any HP Enterprise MFP enabled with JetAdvantage Apps.

HP for SAP Concur enables you to:

*	Scan receipts directly to the Concur Expense receipt store.
*	Preview the scan image on the MFP screen before sending.
*	Configure the scan options to suit your needs.

Getting started is easy! Launch the “HP for SAP Concur” app from the main screen of your HP multi-function device. Login with your Concur ID and then scan your receipts.

HP for SAP Concur works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the HP for SAP Concur integration, visit [https://www.hp.com/go/digitalworkflow](https://www.hp.com/go/digitalworkflow).

### ScanSnap Cloud

![ScanSnap Cloud Logo](./app-center-2020-05-04-scansnap-logo.png)

ScanSnap, the popular document scanner, brings simplicity and digital organization to individuals and businesses through one button scanning. The innovative ScanSnap Cloud feature allows you to scan directly from your ScanSnap iX scanners to your favorite cloud services without the need for a computer or mobile device.

Simply select Concur as the destination for your receipts in ScanSnap Cloud, press the Scan button, and your scans are delivered directly to your Concur Expense account.

The ScanSnap integration for Concur Expense allows you to:
  * Quickly digitize receipts at the source
  * Access and manage expenses anywhere, anytime, and from any device
  * Submit reports on the go and get reimbursed faster

Get started now!

**Requirements**: To use ScanSnap Cloud with Concur Expense, the following items are required:
- ScanSnap Home (for Windows and Mac) or ScanSnap Cloud App (for Android and iOS)
- ScanSnap iX1500, iX500, or iX100 scanner
- Wi-Fi environment with internet connection
- Your Concur Expense account information
- Optional: Smartphone with camera

ScanSnapCloud works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the ScanSnap Cloud integration, visit [http://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/](http://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/).

## User Connection Apps Coming Soon

### PayPay

![PayPay Logo](./app-center-2020-05-04-paypay-logo.png)

PayPay enables easy and discounted payments directly from your smartphone. The PayPay mobile app can be used to pay at over 2 million locations across Japan, including convenience stores, drug stores, and restaurants. No cash or wallet required.

Register in only one minute and pay with PayPay right away.

Choose from three available payment methods:

  * Top up from your bank account.
  * Top up from a Seven Bank ATM.
  * Charge to your credit card.

Now, you can submit your business expenses to Concur Expense in the PayPay app for easier reimbursement. Just follow these three simple steps:

1. Connect PayPay and Concur Expense.
  * Click the "Connect" or “Login to Connect” button on this page.
  * Follow the instructions on the screen and login to PayPay to complete the connection.
2. Take a photo of the receipt for your purchases with PayPay.
  * Tap on "Register Receipt" in "Transaction History" and take a photo.
3. Confirm the details and send to Concur Expense.
  * Check the details on payee, date, and amount, add a comment, and submit.
  * Your transaction information, receipt image, and an electronic receipt (e-receipt) will be automatically sent to Concur Expense for easy expensing.

Please follow the rules provided by your organization regarding how to handle the receipt photo attached to the expense item submitted from the PayPay app and e-receipt issued by SAP Concur.

PayPay works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the PayPay integration, visit [https://paypay.ne.jp/](https://paypay.ne.jp/).

### Orbi by Silverdoor

![orbi Logo](./app-center-2020-05-04-orbi-logo.png)

When it comes to booking accommodation for corporate travel, it’s important to be equipped with tools and services that help make your job easier. That’s why SilverDoor developed Orbi, the intelligent way to manage your serviced apartment programme.

Orbi was designed to enable corporate clients to easily search, view and book apartments around the world at the touch of a button and make reservations for stays of any duration.

Monitor, view or change your bookings, select favourite apartments and locations, run reports, track your spend, and make sure your programme is working as efficiently as possible, all via a secure closed platform that is only visible to you.

You can make instant online bookings utilising Orbi’s live availability, see all of your upcoming reservations in one place, and request extensions or cancellations. From Orbi’s reporting dashboard, you can see a snapshot of how your programme is performing. You can also create your own bespoke reports based on the stats that are important to you.

Every aspect of Orbi is completely customisable to ensure the apartments you and your team book are compliant with your programme and suitable for your travellers. If you manage travel for others, you can highlight preferred properties or set budgets for specific user groups.

Duty of Care is one of the number one concerns for travel managers. That’s why it’s at the heart of Orbi. Not only has SilverDoor partnered with the leading traveller tracking providers to offer security monitoring services, travel managers can also see where all of your business travellers are staying at the click of a button with the detailed interactive map.

With the integration to Concur Expense, your transactions and e-receipts for Orbi bookings will automatically appear in your Concur Expense account as available expenses. Click “Connect” to connect your Orbi and Concur Expense accounts and enable the integration.

Orbi works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Orbi integration, visit [https://www.silverdoorapartments.com/orbi/](https://www.silverdoorapartments.com/orbi/).

## May 2020

* [User Connection Apps Now Available](#user-connection-now-available-may)
  * [Orbi by SilverDoor](#orbi-by-silverdoor-may)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-may)
  * [PayPay](#paypay-may)

### User Connection Apps Now Available

### Orbi by Silverdoor

![orbi Logo](./app-center-2020-05-04-orbi-logo.png)

When it comes to booking accommodation for corporate travel, it’s important to be equipped with tools and services that help make your job easier. That’s why SilverDoor developed Orbi, the intelligent way to manage your serviced apartment programme.

Orbi was designed to enable corporate clients to easily search, view and book apartments around the world at the touch of a button and make reservations for stays of any duration.

Monitor, view or change your bookings, select favourite apartments and locations, run reports, track your spend, and make sure your programme is working as efficiently as possible, all via a secure closed platform that is only visible to you.

You can make instant online bookings utilising Orbi’s live availability, see all of your upcoming reservations in one place, and request extensions or cancellations. From Orbi’s reporting dashboard, you can see a snapshot of how your programme is performing. You can also create your own bespoke reports based on the stats that are important to you.

Every aspect of Orbi is completely customisable to ensure the apartments you and your team book are compliant with your programme and suitable for your travellers. If you manage travel for others, you can highlight preferred properties or set budgets for specific user groups.

Duty of Care is one of the number one concerns for travel managers. That’s why it’s at the heart of Orbi. Not only has SilverDoor partnered with the leading traveller tracking providers to offer security monitoring services, travel managers can also see where all of your business travellers are staying at the click of a button with the detailed interactive map.

With the integration to Concur Expense, your transactions and e-receipts for Orbi bookings will automatically appear in your Concur Expense account as available expenses. Click “Connect” to connect your Orbi and Concur Expense accounts and enable the integration.

Orbi works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Orbi integration, visit [https://www.silverdoorapartments.com/orbi/](https://www.silverdoorapartments.com/orbi/).

## User Connection Apps Coming Soon

### PayPay

![PayPay Logo](./app-center-2020-05-04-paypay-logo.png)

PayPay enables easy and discounted payments directly from your smartphone. The PayPay mobile app can be used to pay at over 2 million locations across Japan, including convenience stores, drug stores, and restaurants. No cash or wallet required.

Register in only one minute and pay with PayPay right away.

Choose from three available payment methods:

  * Top up from your bank account.
  * Top up from a Seven Bank ATM.
  * Charge to your credit card.

Now, you can submit your business expenses to Concur Expense in the PayPay app for easier reimbursement. Just follow these three simple steps:

1. Connect PayPay and Concur Expense.
  * Click the "Connect" or “Login to Connect” button on this page.
  * Follow the instructions on the screen and login to PayPay to complete the connection.
2. Take a photo of the receipt for your purchases with PayPay.
  * Tap on "Register Receipt" in "Transaction History" and take a photo.
3. Confirm the details and send to Concur Expense.
  * Check the details on payee, date, and amount, add a comment, and submit.
  * Your transaction information, receipt image, and an electronic receipt (e-receipt) will be automatically sent to Concur Expense for easy expensing.

Please follow the rules provided by your organization regarding how to handle the receipt photo attached to the expense item submitted from the PayPay app and e-receipt issued by SAP Concur.

PayPay works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the PayPay integration, visit [https://paypay.ne.jp/](https://paypay.ne.jp/).

## June 2020

* [User Connection Apps Now Available](#user-connection-now-available-june)
  * [PayPay](#paypay-june)
  * [Ordit](#ordit-june)
  * [RoadGoat](#roadgoat-june)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-june)

### User Connection Apps Now Available

### PayPay

![PayPay Logo](./app-center-2020-05-04-paypay-logo.png)

PayPay enables easy and discounted payments directly from your smartphone. The PayPay mobile app can be used to pay at over 2 million locations across Japan, including convenience stores, drug stores, and restaurants. No cash or wallet required.

Register in only one minute and pay with PayPay right away.

Choose from three available payment methods:

  * Top up from your bank account.
  * Top up from a Seven Bank ATM.
  * Charge to your credit card.

Now, you can submit your business expenses to Concur Expense in the PayPay app for easier reimbursement. Just follow these three simple steps:

1. Connect PayPay and Concur Expense.
  * Click the "Connect" or “Login to Connect” button on this page.
  * Follow the instructions on the screen and login to PayPay to complete the connection.
2. Take a photo of the receipt for your purchases with PayPay.
  * Tap on "Register Receipt" in "Transaction History" and take a photo.
3. Confirm the details and send to Concur Expense.
  * Check the details on payee, date, and amount, add a comment, and submit.
  * Your transaction information, receipt image, and an electronic receipt (e-receipt) will be automatically sent to Concur Expense for easy expensing.

Please follow the rules provided by your organization regarding how to handle the receipt photo attached to the expense item submitted from the PayPay app and e-receipt issued by SAP Concur.

PayPay works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the PayPay integration, visit [https://paypay.ne.jp/](https://paypay.ne.jp/).

### Ordit

![Ordit Logo](./app-center-2020-06-22-ordit-logo.png)

Ordit has partnered with a large number of local restaurants and caterers to
deliver the best possible food experience and cater for all cuisines, dietary
preferences and allergens.

Employees can order on-demand or pre-order in advance.

Make food ordering easier than ever by connecting your Ordit profile to SAP Concur! Food order receipts will automatically be sent to Concur Expense.

Get started in three simple steps:

1. Click "Connect" to begin the process to link accounts.
2. Log in to your Ordit account and agree to connect accounts.
3. Once you’ve ordered, we’ll send you a confirmation, and you’ll either wait for your order to arrive or pick it up yourself. Your e-receipt will be automatically sent to your connected Concur Expense account.

Ordit works with Expense for Concur Standard and Expense for Concur Professional.
It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Ordit integration, visit [https://ordit.co.uk/](https://ordit.co.uk/).

### RoadGoat

![RoadGoat Logo](./app-center-2020-06-22-roadgoat-logo.png)

Connect to RoadGoat, one of the fastest-growing traveler communities in the
world.

When you’re planning your next trip, peek into RoadGoat to see who from your LinkedIn, Facebook, or Google networks are in town to grab a meal with. Tap into our travel recs for where to eat, drink, and play during your free time.

Wherever you travel, RoadGoat organizes a history of all the places you’ve been. Use its interactive travel map or connect RoadGoat to Concur Travel, TripIt, social media, email, fitness trackers, and more to have your travels update automatically. Compete with friends and coworkers to see who’s been traveling the most.

RoadGoat works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the RoadGoat integration, visit [https://www.roadgoat.com](https://www.roadgoat.com).

## User Connection Apps Coming Soon

None at this time.

## September 2020

* [User Connection Apps Now Available](#user-connection-now-available-september)
  * [eHi Itinerary Expense Autosync](#eHi-september)
  * [S.RIDE](#sride-september)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-september)
  * [The Ascott Limited](#ascott-limited-september)

### User Connection Apps Now Available

### eHi Itinerary Expense Autosync

![eHi Logo](./app-center-2020-09-21-ehi-logo.png)

eHi Car Rental provides comprehensive car rental services for individuals and enterprises. Headquartered in Shanghai, eHi has opened more than 6,000 outlets in more than 450 cities across China since it was established in 2006. eHi now offers more than 200 models and over 80,000 vehicles and its service covers the whole country.

eHi provides a full range of car service solutions, including long lease, fleet management, self-driving short lease, conference vehicles, and high-end vehicles. From the very beginning, eHi Car Rental has established a core value of "attentive service," becoming the designated business car company of many Fortune 500 enterprises in China.

Through the integration of eHi Car Rental and SAP Concur solutions, customers can experience high-quality, integrated car solutions and simplified expense reimbursement in Concur Expense. The automated itinerary sync means that any rental car transactions processed by eHi will be sent directly to an available expense report as an expense item and e-receipt.

The partnership between eHi and SAP Concur helps businesses operate more efficiently and reduces the administrative burden to procurement, finance, and employees. The solution makes it easy to book and expense a wide variety of car service solutions, decreasing the time and cost to procure car service, ensuring compliance with business policies and regulations, and simplifying the expense reimbursement process.

eHi Itinerary Expense Autosync works with Expense for Concur Standard and Expense for Concur Professional. It is now  available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the eHi integration, visit [https://www.1hai.cn/](https://www.1hai.cn/).

### S.RIDE

![S.RIDE Logo](./app-center-2020-09-21-sride-logo.png)

Simple.

##### One-Swipe Taxi Dispatch

Call the nearest taxi with a single swipe. The taxi pick-up location will be automatically adjusted for you, with no need to make detailed adjustments. While you wait, enter your destination for an even smoother trip. If you run into trouble, you can easily contact your driver with text messages.

Smart.

##### Cashless Means Your Trip Ends Smoothly

Register your credit card with S.RIDE to pay for taxi rides online. Pay for rides on the move with S.RIDE WALLET merely by scanning the 2D barcode displayed on the backseat monitor with your smartphone. This means that you can finish your trip taxi smoothly without having to deal with cash. Digital service usage statements can be issued using the app as well, so you don’t need to worry about losing your receipt.

Speedy.

##### One of Tokyo’s Biggest Networks

The nearest taxi to your location will be dispatched from one of Tokyo’s largest taxi networks. Users can get to their destination smoothly without wasting time.

##### SAP Concur Integration

Receipts from taxi rides booked with the S.RIDE app are automatically sent to Concur Expense. This helps eliminate the hassle of entering the location, date, and cost, greatly reducing the amount of work required for expense settlement.

S.RIDE works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the S.RIDE integration, visit [https://www.sride.jp/en/](https://www.sride.jp/en/).

## User Connection Apps Coming Soon

### The Ascott Limited

![The Ascott Limited Logo](./app-center-2020-09-21-ascott-logo.png)

Travel should take you places. Not just physically, but mentally. Whether on a business or leisure trip, Ascott The Residence will take care of your every need. Enjoy the rest and relaxation you have earned in exclusive residential spaces worldwide, without worrying about the details. Through the partnership with SAP Concur, your receipts and transaction information will auto-populate in Concur Expense after a trip for hassle-free expense reimbursement.

A global leader in service, The Ascott Limited believes in delivering a memorable stay through its Heartware philosophy. The Ascott team uses local knowledge to help you settle quickly into your host city and integrate with the local culture. Admire the modern surroundings of your new home and enjoy quality service from The Ascott Limited teams around the world.

The Ascott Limited is a member of CapitaLand. It is one of the leading international lodging owner-operators with more than 720 properties in over 180 cities spanning more than 30 countries across Asia Pacific, Europe, the Middle East, Africa, and the USA. Its portfolio of serviced residence and hotel brands includes Ascott, Citadines, Citadines Connect, Somerset, Quest, The Crest Collection, lyf, and the Tauzia portfolio of brands. To link The Ascott Limited to Concur Expense and begin receiving e-receipts, click the “Connect” button.

The Ascott Limited works with Expense for Concur Standard and Expense for Concur Professional. It will be available soon in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the The Ascott Limited integration, visit [http://www.the-ascott.com/](http://www.the-ascott.com/).

## October 2020

* [User Connection Apps Now Available](#user-connection-now-available-october)
  * [The Ascott Limited](#ascott-limited-october)
  * [ECO Rent a Car](#eco-october)
  * [MOVV](#movv-october)
  * [Sharebite](#sharebite-october)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-october)

### User Connection Apps Now Available

### The Ascott Limited

![The Ascott Limited Logo](./app-center-2020-09-21-ascott-logo.png)

Travel should take you places. Not just physically, but mentally. Whether on a business or leisure trip, Ascott The Residence will take care of your every need. Enjoy the rest and relaxation you have earned in exclusive residential spaces worldwide, without worrying about the details. Through the partnership with SAP Concur, your receipts and transaction information will auto-populate in Concur Expense after a trip for hassle-free expense reimbursement.

A global leader in service, The Ascott Limited believes in delivering a memorable stay through its Heartware philosophy. The Ascott team uses local knowledge to help you settle quickly into your host city and integrate with the local culture. Admire the modern surroundings of your new home and enjoy quality service from The Ascott Limited teams around the world.

The Ascott Limited is a member of CapitaLand. It is one of the leading international lodging owner-operators with more than 720 properties in over 180 cities spanning more than 30 countries across Asia Pacific, Europe, the Middle East, Africa, and the USA. Its portfolio of serviced residence and hotel brands includes Ascott, Citadines, Citadines Connect, Somerset, Quest, The Crest Collection, lyf, and the Tauzia portfolio of brands. To link The Ascott Limited to Concur Expense and begin receiving e-receipts, click the “Connect” button.

The Ascott Limited works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the The Ascott Limited integration, visit [http://www.the-ascott.com/](http://www.the-ascott.com/).

### ECO Rent a Car

![ECO Rent a Car Logo](./app-center-2020-10-20-eco-logo.png)

SAP Concur integration with the national award-winning corporate mobility brand ECO Rent a Car Global ground transportation service aims to offer a host of advantages for the Business Traveler:

  * Book a ride anywhere in the world through the ECO Rent a Car site and get a reliable, secure, and hygienic car and chauffeur at your destination every time.
  * You have the choice to book a standard, executive, or luxury car. Regardless of the category of vehicle you book with ECO, you will receive a well-trained, qualified chauffeur in a clean car with standard guest amenities for your comfort and convenience.
  * Payment can be made securely through your preferred credit card at the time of booking.
  * E-receipts will flow automatically into Concur Expense, giving you visibility and control over your ground transportation spending.
  * ECO provides personalized services for travelers and is happy to assist you with any special service requests. All-inclusive transfer rates for all major cities in Asia, Europe, USA, Canada, South America, and Australia can be accessed through the link on your SAP Concur App. In case you require any special rates, please write to<EMAIL_ADDRESS>
With this integration, we aim to simplify and provide our users with an end-to-end solution right from booking the car service to receiving your e-receipts for rides automatically in Concur Expense. Go ahead and click on the Connect button to access link ECO Rent a Car to Concur Expense to receive e-receipts for rides booked in over 45 cities in India and 950 cities across 130 countries worldwide.

ECO Rent a Car works with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the ECO Rent a Car integration, visit [https://www.ecorentacar.com/](https://www.ecorentacar.com/).

### MOVV

![MOVV Logo](./app-center-2020-10-20-movv-logo.png)

MOVV is an innovative global mobility platform that allows travelers to easily access exclusive drivers and cars through a mobile application. MOVV provides access to smart chauffeur services with Korean language support for 17 cities in five countries and is rapidly expanding.

Benefits of using MOVV:

  * Easy access to drivers and cars: Customers book through MOVV's easy to use mobile app.
  * Free schedule adjustments while traveling: Simple, no hassle changes at any time while using the MOVV service.
  * On-call dedicated driver: Call a dedicated driver at any time through MOVV's mobile app.
  * Expansive travel guide information: Users can get a variety of travel information through the MOVV application, search for places they want to visit, and set their schedules.
  * No inconvenience due to language barriers: The application also enables communication between passengers and private drivers in Korean to make it easy to communicate.
  * Integration with Concur Expense: Connect your accounts and automatically receive e-receipts and transaction information after your ride for easy business expense reimbursement.

Click Connect to enable the integration with Concur Expense and get started!

MOVV with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the MOVV integration, visit [http://movvcorp.com/](http://movvcorp.com/).

### Sharebite

![Sharebite Logo](./app-center-2020-10-20-sharebite-logo.png)

Order business or personal meals online from over 2,000 restaurants and help fight hunger in local communities.

Sharebite is a mission-driven food ordering platform built exclusively for companies. Sharebite clients include “Bulge Bracket” investment banks, vault 50 law firms, big 4 accounting firms, and technology companies. Companies that partner with Sharebite save money, inspire their workforce, support local restaurants, and commit to helping the community.

Sharebite allows companies to manage employee food ordering by setting up different parameters based on company departments, roles, office locations, etc. All budget groups are set up during the corporate onboarding process and can always be modified should changes be necessary.

With the Group Ordering product, individually labeled orders can arrive together from a list of specific restaurants pre-selected by a firm administrator. For company town hall meetings, team breakout sessions, or everyday lunch, group ordering simplifies food ordering for everyone.

Sharebite helps companies extend social good beyond the office walls, helping end the hunger epidemic, and set an example for the business community at large. Sharebite donates 2% of every order placed to charitable organizations dedicated to fighting hunger in America.

Key benefits of Sharebite include:

  * A white-glove onboarding experience provided by a corporate onboarding team dedicated to your company - Corporate admin portal to manage allowance groups, users, permissions, reporting, and more.
  * Simplified T&E process via direct billing and e-receipt integration with Concur Expense to automate meal expense management.
  * An impressive catalogue of local restaurants and caterers, excited and well-equipped to service corporate clients.
  * 24/7 customer support: dedicated account managers are available to provide recommendations or assistance within minutes.

If you have a corporate Sharebite account, click the “Connect” button to enable the integration with your Concur Expense account. Or, click “Visit our Website” below to learn more about how your company can partner with Sharebite to order corporate meals.

Sharebite with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Sharebite integration, visit [https://sharebite.com/](https://sharebite.com/).

## User Connection Apps Coming Soon

None.

## November 2020

* [User Connection Apps Now Available](#user-connection-now-available-november)
  * [Mobicity](#mobicity-november)
* [User Connection Apps Coming Soon](#user-connection-coming-soon-november)

### User Connection Apps Now Available

### Mobicity

![Mobicity Logo](./app-center-2020-11-18-mobicity-logo.png)

Mobicity offers Brazilian companies a unique platform for integrating transport solutions, optimizing choices, automating management, and encouraging ride sharing. Coworkers use a mobile or web app to plan routes and order rides and managers have real-time visibility and control.

Benefits of Mobicity:

* Multimodal System: Mobicity is integrated with a diverse array of transportation options and allows you to choose one or more modes of transport. Mobicity integrates with company fleets, taxi apps, private drivers, rentals, vans, and more.
* 360º management: Managers can access reporting and monitor your company's mobility in real time.
* User Experience: Mobicity is focused on providing an optimal service for employees.
* Simplified Expense-Reporting: By enabling the connection between Mobicity and Concur Expense, you can automatically send e-receipts for trips to Concur Expense.

**Success story:** Enel SP managed to reduce its fleet by 27 vehicles and reduced the cost of average travel tickets by approximately 40% .

If you are interested in using Mobicity to optimize your organization’s transportation, email us at [contato@mobicity.com.br](contato@mobicity.com.br). Or, if your company is a customer of Mobicity, click the “Connect” button to enable the integration with Concur Expense.

Mobicity with Expense for Concur Standard and Expense for Concur Professional. It is now available in the SAP Concur App Center under User Connections at [https://www.concur.com/app-center](https://www.concur.com/app-center). For more information about the Mobicity integration, visit [http://mobicity.com.br/](http://mobicity.com.br/).

## User Connection Apps Coming Soon

None.

branch_name: refs/heads/preview

extension: markdown

gha_language: JavaScript


text:
---
layout: default
---

# 1996-03-30 - Re: Why Americans feel no compulsion to learn foreign languages

## Header Data

From: "W. Kinney"<EMAIL_ADDRESS>To<EMAIL_ADDRESS>(Timothy C. May)

Message Hash: ad9979050fa416ebdb4b976b9351fa90ae32819c2540461d94e09ef8d35f00dd

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1996-03-30 07:36:27 UTC

Raw Date: Sat, 30 Mar 1996 15:36:27 +0800

## Raw message

```
{% raw  %}From: "W. Kinney"<EMAIL_ADDRESS>Date: Sat, 30 Mar 1996 15:36:27 +0800
To<EMAIL_ADDRESS>(Timothy C. May)
Subject: Re: Why Americans feel no compulsion to learn foreign languages
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Tim May writes:

> Given the explosion of languages--Yoruba, Talegu, Tagalog, Russian, Korean,
> and on and on--the role of French, German, and to some extent Spanish is
> less clear than ever. (Spanish is admittedly a growing language, but not in
> technical fields...just a fact.)

Entirely brushing aside the idea that there might be more to the world than
technical fields, my observation has been that knowing at least one
foreign language would be an enormous professional advantage. At one
computer company I worked for, the only person who could speak Italian was
in constant demand as an informal translator. Doing research, I have had
a number of occasions to regret my lack of proficiency with a foreign
language. I regularly come into contact with German and Spanish speaking
scientists. (Probably number one on the hit parade is Chinese, but I'm
kind of daunted by the idea of taking it on ;-). Granted, English is
the technical lingua franca, but the statement that there's no point in
learning a foreign language is shortsighted, and I think that will become
more true, not less, in the future.

> My last word on this language topic will be this: far from being a closed,
> ignorant, immigrant-hating, shit-eating nation, as some of the usual
> America bashers have intimated, the decline of language skills reflects a
> decline in the "ethnocentrism" of the past.

And besides, you only need Spanish for maids, gardeners, and day-laborers,
right?

                                  -- Will

{% endraw %}
```

## Thread

+ Return to [March 1996](/archive/1996/03)

+ Return to<EMAIL_ADDRESS>(Timothy C. May)](/authors/tcmay_at_got_net_timothy_c_may_)"
+ Return to "["W. Kinney" <kinney@bogart.Colorado.EDU>](/authors/w_kinney_kinney_at_bogart_colorado_edu_)"

+ 1996-03-29 (Fri, 29 Mar 1996 22:49:04 +0800) - [Re: Why Americans feel no compulsion to learn foreign languages](/archive/1996/03/6e2e8b172d6c4021bbca577cea9352ea8de90cb23989d0f9cbf15b7235b296d7) -<EMAIL_ADDRESS>(Timothy C. May)_
  + 1996-03-30 (Sat, 30 Mar 1996 15:36:27 +0800) - Re: Why Americans feel no compulsion to learn foreign languages - _"W. Kinney"<EMAIL_ADDRESS>

license: MIT

branch_name: refs/heads/master

extension: md

gha_license_id: MIT

license_type: permissive


text:
---
layout: default
---

# 1994-07-13 - Pseudonymous ID cards?

## Header Data

From<EMAIL_ADDRESS>(Benjamin McLemore)

To<EMAIL_ADDRESS>Message Hash: a56fdf1d525f2c742a5d6e8d2b5f47628f4ac92a5989f8fb603cc7b04f8d6c4b

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1994-07-13 02:54:10 UTC

Raw Date: Tue, 12 Jul 94 19:54:10 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>(Benjamin McLemore)
Date: Tue, 12 Jul 94 19:54:10 PDT
To<EMAIL_ADDRESS>Subject: Pseudonymous ID cards?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

On the bright side, at least the Clinton administration is trying to stir
up interest in privacy issues amongst the general public.

Between the administration's support of Clipper, National ID cards,
National Health cards and Digital Telephony (have they supported this
yet?), there should start to be a lot of public interest in these issues.

Personally, rather than _just_ naysay everything that is being proposed
(which I will do, strongly), I would like more concrete recommendations and
proposals to make on the positive side that use technologies like digital
signatures and reputations to *protect* privacy while still allowing many
of the familiar sorts of social/economic interactions that we take for
granted. Perhaps we can pull an Aikido maneuver on this sudden gov power
grab (ok,ok, pretty far-fetched).

But, short of tracking down the Scientific American article from a couple
of years ago and re-reading it (and I'm sure it's out of date), I'm not
really sure what we can do with pseudonymous reputations and whatnot given
the current state-of-the-art.

So, I'd like suggestions, comments about alternative ways of establishing
digital IDs, insurance cards, credit cards, etc. that protect privacy
instead of divulge it, while still providing some of the societal controls
that we have come to expect (e.g. that drunk drivers will be deprived of a
license to drive).

Do we have alternative suggestions to make in this dark hour so that we can
actually win back some of our privacy? Can these sorts of technologies be
implemented in a way that is understandable by the average citizen-unit?

--
Benjamin McLemore
analyst@onramp,net

PS
I wonder what exactly Justice and/or the spooks have on Clinton that's so
effective?


text:
# Learning-R
Project for learning R

Shared at SatRday DC 2018 (December 8, 2018)
http://bit.ly/satRday2018mh

This project was created to learn R through doing.

The project is structured to track progress via the Wiki tab.

https://github.com/mjhendrickson/Learning-R/wiki

Code snippets will be included in the code tab as needed to support the learning steps.


text:
# Crontab Jobs

JZ has no crontab so we have to emulate it.

Put your slurm scripts into either:
```
$six_ALL_CCFRWORK/cron/cron.hourly
$six_ALL_CCFRWORK/cron/cron.daily
```
depending on whether you want to run those approximately once an hour or once a day.

Any scripts found in these dirs that have `.slurm` extension, will be run as `sbatch scriptname`.

## The scheduler

The scheduler isn't run automatically, we have to launch it and make sure it gets restarted manually if SLURM
is restarted (not sure if jobs get preserved or not):

* [cron-hourly.slurm](./cron-hourly.slurm)
* [cron-daily.slurm](./cron-daily.slurm)

If these 2 aren't running when you run:

```
squeue --user=$(getent group six | cut -d: -f4) | grep cron
```
the re-launch the missing one(s) with:
```
cd $six_ALL_CCFRWORK/cron/scheduler
sbatch cron-hourly.slurm
sbatch cron-daily.slurm
```

If these scripts aren't there, copy them from the folder in the repo where this README.md is located.

XXX: need some kind of a watchdog to ensure the 2 cron scheduler jobs don't disappear.

quick alias to test:
```
alias cron-check="squeue --user=$(getent group six | cut -d: -f4) | grep cron"
```

## Example daily entry

Here is an example of a job that gets to run daily.
```
$ cat $six_ALL_CCFRWORK/cron/cron.daily/mlocate-update.slurm
#!/bin/bash
#SBATCH --job-name=mlocate-update    # job name
#SBATCH --ntasks=1                   # number of MP tasks
#SBATCH --nodes=1
#SBATCH --hint=nomultithread         # we get physical cores not logical
#SBATCH --time=1:00:00               # maximum execution time (HH:MM:SS)
#SBATCH --output=%x-%j.out           # output file name
#SBATCH --partition=compil
#SBATCH --account=six@cpu

set -e
date
echo "updating mlocate db"
# "--require-visibility 0" is required when launching this command as a regular user
/usr/bin/updatedb -o $ALL_CCFRWORK/lib/mlocate/work.db   -U $ALL_CCFRWORK --require-visibility 0
/usr/bin/updatedb -o $ALL_CCFRWORK/lib/mlocate/worksf.db -U /gpfsssd/worksf/projects/rech/six/commun --require-visibility 0
```

This builds an index of the files under WORK which you can then quickly query with:
```
/usr/bin/locate -d /gpfswork/rech/six/commun/lib/mlocate/mlocate.db pattern
```

The slurm script `mlocate-update.slurm` has been placed inside `$six_ALL_CCFRWORK/cron/cron.daily`. To stop running it, just move it elsewhere.

Another approach to adding/removing is to keep the slurm scripts elsewhere and symlink to them from either
`$six_ALL_CCFRWORK/cron/cron.daily` or `$six_ALL_CCFRWORK/cron/cron.hourly` according to the need.

## Permissions

The scheduler runs with Unix permissions of the person who launched the SLRUM cron scheduler job and so all other SLURM scripts launched by that cron job.

## TODO

XXX: need to have a facility to report failures. Which is tricky because the job has to run on a SLURM partition that has Internet and that's just `--partition=prepost` and `--partition=compil`

repository: bigscience-workshop/bigscience

gha_language: Shell

gha_license_id: NOASSERTION

repo_name: bigscience-workshop/bigscience


text:
# ancient-alphabets-keyboard-layouts

Ancient Alphabets [Microsoft Keyboard Layout Creator] keyboard layouts .klc files and Mac keyboard layout .keylayout files sources and binaries.

# Developemnt Tools

[Ukelele], a keyboard layout editor for Mac, from SIL
[Microsoft Keyboard Layout Creator]
[UnicodeChecker], a Unicode exploring tool

[Microsoft Keyboard Layout Creator]:
https://www.microsoft.com/en-us/download/details.aspx?id=10213

[list of MS locale IDs]:
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/63d3d639-7fd2-4afb-abbe-0d5b5551eef8

[Slides and notes from ATypI presentation]:
https://blog.typekit.com/wp-content/uploads/2012/03/keyboard_layouts_annotated.pdf

[Blog Post]: https://blog.typekit.com/2012/03/06/on-keyboard-layouts/
[Ukelele]: https://software.sil.org/ukelele/
[UnicodeChecker]: https://earthlingsoft.net/UnicodeChecker/

BabelMap is a free character map application for Windows that allows you to browse through the entire Unicode character
 repertoire of nearly 144,000 characters, or search for a particular character by name or by code point.
Characters can then be copied to the clipboard for use in any Unicode-aware application.
It also provides many useful features and special utilities.
BabelMap supports the most recent version of the Unicode Standard, currently Unicode 14.0 (released September 2021).
version <IP_ADDRESS> (2021-09-19) BabelMap once again runs on Windows Legacy from 2000 to Windows 10.

[BabelMap]: https://babelstone.co.uk/Software/BabelMap.html

1. Proto-Sianitic keyboard layout binaries.

branch_name: refs/heads/main


text:
# Troop 820 Website
This is the code repository for website of Troop 820 from Chapel Hill, NC: http://www.troop820.net

The web server is configured to pull the latest changes from the "master" branch night at midnight.  Thus any commits made to the master branch should be visible on the website the following day.

# Eagle Map
The Eagle Map (http://www.troop820.net/eaglemap.html) is a google fusion doc.  Update the doc and the website's map will update shortly after.  To request access to edit the doc, contact the Troop 820 Scout Master or Scout Webmaster.
* Fusion doc: https://fusiontables.google.com/DataSource?docid=1u89GSppcXzIStQ8-S8UmoHZjE89Hnkyve2ITCZnf#rows:id=1
* Guide to google fusion docs: https://support.google.com/fusiontables/?hl=en#topic=1652595

# General Guides
## Git
* Useful guide for first time github usage: https://guides.github.com/activities/hello-world/
* Useful desktop application: https://desktop.github.com

## Markdown
* Markdown is used in many files (this readme, github issues, etc), here is a guide to the syntax: https://www.markdownguide.org/basic-syntax


text:
# A Closer Look at Parameters

## Parameter Immutability

* Parameters are passed by making a copy of the value
    * Known as passing "by-value"
    * Changes made to the passed value are not visible outside of the method
    * Changes made to members of passed class instances are visible outside of the method

## Overloading

* A class may have multiple version of its constructor or methods
    * Known as "overloading"
    * Each constructor and method must have a unique signature
        * Signature is made up of 3 parts
            1. Number of parameters
            1. Type of each parameter
            1. Name

## Variable Number of Parameters

* A method can be declared to accept a varying number of parameter values
    * Place an ellipse after parameter type `public void addPassenters(Passenter... list)`
    * Can only the last parameter
    * Method receives values as an array

url: https://raw.githubusercontent.com/jonesca/Development/c46866acf985eb9367c2d643a3ad322deeef9543/Java/01 Java Fundamentals - The Java Language/07 A Closer Look at Parameters.md

repository: jonesca/Development

filename: 07 A Closer Look at Parameters.md

repo_name: jonesca/Development


text:
# <img<EMAIL_ADDRESS>width="48" height="48"/> [InkScape](https://chocolatey.org/packages/InkScape)

Inkscape is an open-source vector graphics editor similar to Adobe Illustrator, Corel Draw, Freehand, or Xara X. What sets Inkscape apart is its use of Scalable Vector Graphics (SVG), an open XML-based W3C standard, as the native format.

Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. We also aim to maintain a thriving user and developer community by using open, community-oriented development.

All Inkscape projects may be exported in formats friendly to web browsers or commercial printer rooms. It is cross-platform, which means it is easy to run on Windows, Mac OS X, and Linux distributions. Visit the Download page to install or share this application now.

![InkScape](https://i.imgur.com/hvdwGBt.png)

[More screenshots](https://inkscape.org/en/about/screenshots/).

## Features

* Object creation: drawing, shape tools, text tool, bitmaps, clones
* Object manipulation: transformations, z-order operations, grouping, layers, aligment
* Fill and stroke: color selector, color picker tool, copy/paste style, pattern fills, dashed strokes, with many predefined dash patterns, path markers (ending, middle and/or beginning marks, e.g. arrowheads)
* Operations on paths
* Rendering: fully anti-aliased display, alpha transparency support for display and PNG export
* File formats: SVG, PNG, OpenDocument Drawing, DXF, sk1, PDF, EPS and PostScript export formats and more
* Command line options for export and conversions

repository: DigitalWhitewater/Powershell

gha_language: PowerShell

repo_name: DigitalWhitewater/Powershell


text:
# docker-compose-laravel
A pretty simplified Docker Compose workflow that sets up a LEMP network of containers for local Laravel development.

## Usage
- To get started, make sure you have [Docker installed](https://docs.docker.com/docker-for-mac/install/) on your system, and then clone this repository.
- Next, navigate in your terminal to the directory you cloned this, and spin up the containers for the web server by running `docker-compose up -d --build`.
- **nginx** - `:80`
- **mysql** - `:3306`
- **php** - `:9000`
- Three additional containers are included that handle Composer, NPM, and Artisan commands *without* having to have these platforms installed on your local computer.  If you would like to have persistent data that remains after bringing containers down and back up, do the following:
1. Create a `mysql` folder in the project root.
2. Under the mysql service in your `docker-compose.yml` file, add the following lines:

```
volumes:
  - ./database/dbdata:/var/lib/mysql
```


text:
# SumoControl
Simple node app to control the Jumping Sumo from Parrot.
(I prefer arrows instead of moving my iPad...)

To install, run :
- npm install

To run :
- connect to the drone wifi
- run : npm start

Then your browser will open and display the following URL http://<IP_ADDRESS>:3000.
Use the arrow keys to move your drone, space for high jump, shift for tap and the top buttons on the page for other moves.

repository: rusucosmin/SumoControl

repo_name: rusucosmin/SumoControl


text:
---
layout: post
title: Funding the Costs of Higher Education
date: 2017-07-21
description: Comparisons between the Illinois and Californian Systems
---

Seemingly both the routes of dependence on state-appropriated funds or on out-of-state tuition to fund the growing cost of education are erroneous. On one hand, universities in Illinois lie more vulnerable to dips in economic activity and budgetary spending; on the other, in-state students in California feel unwelcome at colleges that pledge to serve them first. Further, both of these means of grant procurement widen the racial and socioeconomic divide that access to higher education ideally aims to bridge.

While the overarching question of why higher-ed costs are burgeoning remains, the state must be vigilant in its path to create a more equitable environment for all communities that could also robustly weather another recession.

The entire article is here.

---

gha_language: SCSS


text:
[![golangci-lint](https://github.com/KEINOS/go-getkeypushed/actions/workflows/golangci-lint.yaml/badge.svg)](https://github.com/KEINOS/go-getkeypushed/actions/workflows/golangci-lint.yaml)
[![Go Reference](https://pkg.go.dev/badge/github.com/KEINOS/go-getkeypushed.svg)](https://pkg.go.dev/github.com/KEINOS/go-getkeypushed/key "Read generated documentation")

# Go-GetKeyPushed

This package implements `OnKeyPress()` like functionality to the CLI app in Golang. (Very much powered by the awesome [`go-tty`](https://github.com/mattn/go-tty/))

It simply returns the key pushed from the console/terminal (TTY) without the `enter` key.

```shellsession
$ # Run sample
$ go run ./example <enter>
Ready. Press any key ... (q = quit)
Key pressed => "a"
Key pressed => "b"
Key pressed => "A"
Key pressed => "B"
Key pressed => "あ"
Key pressed => "い"
Key pressed => "愛"
Key pressed => "\x1b"      // ESC key
Key pressed => "\x1b[A"    // Up arrow key
Key pressed => "\x1b[B"    // Down arrow key
Key pressed => "\x1b[C"    // Right arrow key
Key pressed => "\x1b[D"    // Left arrow key
Key pressed => "\x1b[19~"  // F8 key (if not assigned in the terminal)
Key pressed => "\x1b[20~"  // F9 key (if not assigned in the terminal)
Key pressed => "\x1b[21~"  // F10 key (if not assigned in the terminal)
Key pressed => "q"
Quit (q) detected. Exiting ...
```

```shellsession
$ # Interrupt with Ctrl+c
$ go run ./example <enter>
Ready. Press any key ... (q = quit)
Key pressed => "a"
Key pressed => "b"
Failed to get pressed key. Msg: user cancelled (ctrl+c, SIGINT detectd)
exit status 1
```

## Install

```bash
go get github.com/KEINOS/go-getkeypushed
```

## Usage Sample

```go
// import "github.com/KEINOS/go-getkeypushed/key"

key := key.New() // Instantiate

timeWait := 5              // Timeout user input in 5 secs (0=no timeout)
keyDefault := "my default" // Default value when timeout

fmt.Println("Press any key:")

// The below returns the key pressed from the console/terminal
// or returns the default vaule if it timeouts.
inputUser, err := key.Get(keyDefault, timeWait)
if err != nil {
	fmt.Fprintf(os.Stderr, "Failed to get pressed key. Msg: %v\n", err)
	os.Exit(1)
}

fmt.Println("Input: "+ inputUser)
```

```go
package main

import (
	"fmt"
	"os"
	"strings"

	"github.com/KEINOS/go-getkeypushed/key"
)

func main() {
	var (
		char       string
		err        error
		keyQuit    = "q"
		keyDefault = "?" // A char to use when wait time exceeds
		timeWait   = 5   // Seconds to wait user input
	)

	keyInput := key.New()

	fmt.Println("Ready. Press any key ... (q = quit)")

	for {
		char, err = keyInput.Get(keyDefault, timeWait)
		if err != nil {
			fmt.Fprintf(os.Stderr, "Failed to get pressed key. Msg: %v\n", err)
			os.Exit(1)
		}

		fmt.Printf("Key pressed => %#+v\n", char)

		if char == keyQuit {
			fmt.Printf("Quit (%s) detected. Exiting ...\n", keyQuit)

			break
		}

		if strings.TrimSpace(char) == "" {
			fmt.Println("Empty char(white space) detected.")

			break
		}
	}
}

```

## Notes

- Develop Online
  - Compatible to [GitHub Codespaces](https://github.com/features/codespaces).
  - Fork this repo and open it via CodeSpaces in your repo.
- Develop Locally
  - No Docker + VSCode user
    - With [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) extension, [you can remotely access to cloud-hosted dev container](https://docs.github.com/ja/codespaces/developing-in-codespaces/using-codespaces-in-visual-studio-code) in GitHub Cosespaces.
  - Docker + VSCode user
    - Compatible to VSCode's [Remote-Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) extension.
    - Fork and clone this repo and "Reopen in Container" via Remote-Containers
    - Or [clone the repo in container volume](vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/KEINOS/go-getkeypushed) for one-time usage.

## License & Copyright

- [MIT](https://github.com/KEINOS/go-getkeypushed/blob/master/LICENSE)
  - [KEINOS and the contributors](https://github.com/KEINOS/go-getkeypushed/graphs/contributors)
  - [`go-tty`](https://github.com/mattn/go-tty/) & [go-isatty](https://github.com/mattn/go-isatty): Yasuhiro Matsumoto (a.k.a [mattn](https://github.com/mattn/)) @ GitHub
  - See the packages in [go.mod](./go.mod) as well

## TODO

- [ ] Find out how to test the `tty` input
- [x] Implement basic testing
  - [ ] Cover test as much as possible
- [x] Wating time implementaion
  - Wait Nth seconds and return default key if wait time exceed with no user interaction)

repository: KEINOS/go-getkeypushed

repo_name: KEINOS/go-getkeypushed


text:
# Buildhouse Bookmark Manager (server)

The GraphQL server for Buildhouse Bookmark Manager.
More information about Buildhouse Bookmark Manager can be found in the [Gabbersaurus/buildhouse-bookmarkmanager-client](https://github.com/Gabbersaurus/buildhouse-bookmarkmanager-client) repository

## Installation and running

-   Run `yarn install` to install packages
-   Copy `.env.example` to `.env`
    -   Enter the port that the server should run on in the `PORT` value.
    -   Enter the secret key for the authentication token on in the `SECRET` value. It can be generated with `yarn cli generate-secret`.
    -   Enter the authentication expire time in the `AUTHEXPIRE` value. The time entered is in seconds.
    -   Enter the favicon expire time in the `FAVICONEXPIRE` value. The time entered is in seconds.
    -   Enter the days before the backgrounds refreshes in the `BACKGROUNDREFRESHDAYS` value.
-   Run `yarn migration:run` to create the database tables.
-   Create a user by running `yarn cli create-user {username} {password}.
    -   A user can be removed by running `yarn cli delete-user {username}`
-   Create the `./favicons` folder.
-   Create the `./backgrounds` folder. You can add images to this folder, but it's not required.
-   Start the server by running `yarn start`. The server can now be used in the client.

gha_language: TypeScript


text:
# Gaining Insight into SARS-CoV-2 Infection and COVID-19 Severity Using Self-supervised Edge Features and Graph Neural Networks

```
@inproceedings{ssef_aaai21,
title = {Gaining Insight into SARS-CoV-2 Infection and COVID-19 Severity Using Self-supervised Edge Features and Graph Neural Networks},
author = {Arijit Sehanobish and Neal G. Ravindra and David van Dijk},
booktitle = {Proceedings of the Thirty-Fifth Conference on Association for the Advancement of Artificial Intelligence (AAAI)},
pages = {4864--4873},
year = {2021}
}
```

links
- [arXiv](https://arxiv.org/abs/2006.12971)
- [aaai](https://www.aaai.org/AAAI21Papers/AAAI-2377.SehanobishA.pdf)
- [code](https://github.com/nealgravindra/self-supervsed_edge_feats)
- [AAAI](https://ojs.aaai.org/index.php/AAAI/article/view/16619)

gha_language: Jupyter Notebook


text:
For this file:

```bash
../../bin/HDF5pp_list old.hdf5
```

with content

```bash
/data
/test/data
/test/dir/data
/test/dir/data2
/tom/data
```

The command

```
../../bin/HDF5pp_select -j select.json old.hdf5
```

should prompt

```bash
The following paths are not copied:
  /tom/data
Continue [y/n]? y
```

Then

```bash
../../bin/HDF5pp_list new.hdf5
```
should give

```bash
/data
/experiment/data
/experiment/dir/data
/experiment/dir/data2
```


text:
# whiskey

A Jekyll-based template for [Bourbon](http://boubon.io) + [Neat](http://neat.bourbon.io) + [Bitters](http://bitters.bourbon.io) + [Refills](http://refills.bourbon.io) SASS

This repository simply places the default structures provided in Bourbon.io's Refills templates into the appropriate directories for Jekyll. `html` fragments are in `_includes`, and all the SASS files are provided in `_sass`, which Jekyll `> v2.5` can process automatically to generate the css.

## Setup

- Fill in appropriate variables in `_config.yml`
- Note that navigation menu is also set in `_config.yml`

## Customizing SASS

All SASS files can be customized directly.  However, the most relevant ones will be those in `refills`, which correspond to the html templates in the subdirectories of `_includes`.

## Hey Glynnis, this is how you do it:
1. Clone the repo onto your shiny laptop.
1. To run the jeykll build command, enter `bundle exec jekyll serve` and visit `localhost:4000` to see your changes.
1. Make a commit to the `master` branch and/or push a branch and merge it into `master`.
1. Log in to Netlify. Your password is in 1Pass, NOT tied to your GH account.
1. You'll see a recent deploy and can click it to see the server logs as it's deployed to see if it succeeds. If it's been a whole longass time you might need to update the build image on the server before you can deploy successfully.
1. DO IT LIVE!

gha_language: HTML


text:
## Falcon

falcon is a simple framework for developing RESTful APIs and backend services in Go.
It's first idea refer to [Beego](http://beego.me) and [Martini](http://martini.codegangsta.io), and simplify them to construct falcon.

## LICENSE

falcon source code is licensed under the [Apache Licence](http://www.apache.org/licenses/LICENSE-2.0.html), Version 2.0.

repository: ycxzf/falcon

repo_name: ycxzf/falcon


text:
# TestCaseGenerator

Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/test_case_generator`. To experiment with that code, run `bin/console` for an interactive prompt.

TODO: Delete this and the text above, and describe your gem

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'test_case_generator'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install test_case_generator

## Usage

Write a .testcase file.

Ex. Tests for a TableView in ViewController (YMTableView.testcase)

    before { |items|
      items << :prepareTarget
    }

    concat {
      choice { |items|
        items << :emptyList
        items << :oneItemInList
        items << :manyItemsInList
      }

      choice { |items|
        items << [:viewDidLoad, :viewDidUnload]
        items << [:viewDidLoad, :viewWillAppear, :viewDidAppear, :viewWillDisappear, :viewDidDisappear, :viewDidUnload]
      }
    }

    after { |items|
      items << :releaseTarget
    }

To generate the .m file, run the test_case_generator. (YMTableView.m)

    bundle exec test_case_generator inject YMTableView.testcase YMTableView.m

If the .testcase file is modified after generated, rerun the test_case_generator.

    bundle exec test_case_generator inject YMTableView.testcase YMTableView.m

Do not delete %% marker in the generated .m file because the lines after %% marker is rewritten.

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec test_case_generator` to use the gem in this directory, ignoring other installed copies of this gem.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ym-kaoru/test_case_generator.

## License

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


text:
# Pezto — Instantly Awesome Zsh

Prezto is the configuration framework for [Zsh][1]; it enriches the command line
interface environment with sane defaults, aliases, functions, auto completion,
and prompt themes.

## Theme

This fork is customized in the following way:

The used theme is this [pure fork](https://github.com/julenpardo/pure), allowing
custom colors for path and Git info.

## Shell tools

The list of the used shell tools can be found [here](https://gist.github.com/julenpardo/4e57765c59de10fca8d32961800d0055).

## Plugins

Plugins are managed with [zplug](https://github.com/zplug/zplug).

* [k](https://github.com/supercrabtree/k): more readable and colorful listing.

## Installation

Prezto will work with any recent release of Zsh, but the minimum required
version is 4.3.17.

Clone the repository and execute `install.sh`. This script will:

* Install Zsh, if it wasn't installed already.
* Create all the configs.
* Set it as default shell.

### Troubleshooting

If you are not able to find certain commands after switching to _Prezto_,
modify the `PATH` variable in _~/.zprofile_ then open a new Zsh terminal
window or tab.

## Updating

Run `zprezto-update` to automatically check if there is an update to zprezto.
If there are no file conflicts, zprezto its submodules will be automatically
be updated. If there are conflicts you will instructed to go
into the `$ZPREZTODIR` directory and resolve them yourself.

To pull the latest changes and update submodules manually:

```console
cd $ZPREZTODIR
git pull
git submodule update --init --recursive
```

## Usage

Prezto has many features disabled by default. Read the source code and
accompanying README files to learn of what is available.

### Modules

1.  Browse _/modules_ to see what is available.
2.  Load the modules you need in _~/.zpreztorc_ then open a new Zsh terminal
    window or tab.

### Themes

1.  For a list of themes, type `prompt -l`.
2.  To preview a theme, type `prompt -p name`.
3.  Load the theme you like in _~/.zpreztorc_ then open a new Zsh terminal
    window or tab.

    ![sorin theme][2]

## Customization

The project is managed via [Git][3]. It is highly recommended that you fork this
project; so, that you can commit your changes and push them to [GitHub][4] to
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
bookmark this [reference][6].

## Resources

The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.

## License

This project is licensed under the MIT License.

[1]: http://www.zsh.org
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
[3]: http://git-scm.com
[4]: https://github.com
[5]: http://gitimmersion.com
[6]: http://gitref.org
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
[8]: http://grml.org/zsh/zsh-lovers.html

repository: julenpardo/prezto

repo_name: julenpardo/prezto


text:
# [DC/OS](https://dcos.io/) on [OVH Cloud](https://www.ovh.com/us/cloud/) Installer
Script that will spin up a bunch of VMs in the OVH cloud and install DC/OS on them.

## Setup
Configure your ~/.ovh.conf to contain proper credentials

```
$ cat ~/.ovh.conf
[default]
endpoint=ovh-ca

[ovh-ca]
application_key=AfgQ7aQjg1337wIl
application_secret=eEHookeEAqPTTxqPexLvKwotiTr3i2cU
consumer_key=4DxaEjBLbYm0nK3yjyFmpmscsjK4byja
```

install Python 3 and required Python modules (`pip install -r requirements.txt`) then run `./dcos_ovhcloud_installer.py --help` and set appropriate options.

## Example
```
$ ./dcos_ovhcloud_installer.py --project SomeOVHCloudProject \
                               --ssh-key "SomeOVHCloudKey" \
                               --masters 3 \
                               --agents 10 \
                               --pub-agents 2 \
                               --url https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
```

I mainly use this tool for development and quick testing where I spin up a cluster, run some tests and then tear it down. So the default behaviour is to delete the cluster when the script exits. You can override this behaviour using the `--no-cleanup` flag.

## DC/OS Quick Start
If you're interested in DC/OS independent of the OVH Cloud check [the DC/OS Quick Start](https://github.com/lloesche/dcos-ovh-cloud/blob/master/dcos-quickstart.md). The steps described in there are what this Installer runs after initializing the OVH Cloud VMs.

repository: lloesche/dcos-ovh-cloud

gha_language: Python

repo_name: lloesche/dcos-ovh-cloud


text:
Code challenge description & test cases: http://codingdojo.org/cgi-bin/index.pl?KataMinesweeper

Usage:

  `node mines [data file]`

where [data file] is an ASCII text file that contains a mine map's dimensions in its first line, then rows of the mine map in its subsequent lines.


text:
Parsers
==

##Description
This folder contains all the scripts I created to parse and format all gathered data into a standard format.

##Dependencies
All the scripts have been written and tested with a python3.6+ interpreter on an arch-linux distribution.
To run it you first need to install all the dependencies specified in the requirements file.
Some of the files also need ffmpeg installed.

repository: Faudil/sound-encoding-neural-network

repo_name: Faudil/sound-encoding-neural-network


text:
# Agni OS Overview

Back to [Documentation Index](./)

Why is Agni Cluster is called an "OS"? Our goal is to make distributed programming available to any application type. When you write a software that gets installed locally, you don’t really care about inter-machine problems.

Agni OS extends this simple "OS" approach to writing distributed programs. Those programs are distributed only because a single server can not serve that many users and can crash and burn because of hardware failures. Why not create an Operating System for running distributed programs? Provide APIs to devs so that apps can now logically scale on the architecture level - this is exactly what Agni OS does.

## What is Agni OS?

* A platform /OS for building large systems, systems that may get very large
* Unify the concept of distributed "cluster" for any application type: web, db, service, etc.
* Start dev on local PC - scale out to 1000s of nodes. Built for unlimited sizes and data centers
* It is just a library/framework - a set of a few .NET assemblies under 8mb total size
* Written in Plain C# + some js, css,less for UI
* Free from "heavy" dependencies, such as : AD, IIS, DataCenter SQL etc.
* Uses only the very base stuff: CLR(jit, gc), BCL: Type, List<>,Dictionary<>, Thread, Task, Socket,Interlocked, + primitives (int, string, decimal etc..)
* UNISTACK® approach to building distributed apps: from serialization, logging, to web MVC, APIs, REST and security - done the same way in any app

## Structure
The first question that needs to be answered - how to organize data, metadata being the first data type that we need to build a massively scalable system. A proper structuring of metadata is needed.

A hierarchy is a natural multi-level organization pattern self-evident in nature. It has been used in computer science since its dawn. The tree-like structures usually yield O(log(n)) search complexities. Hierarchies are easy to understand, the management nature of "supervisors" - or "nodes that are above me" are used extensively in Actor-model systems like Erlang.

Single-level horizontal scalability is limited because at some point you will have so many nodes that will require too many managers. Flat designs are limited.

There are other patterns, like grid which are suitable for some tasks (i.e. peer-to-peer sharing), however hierarchy can be thought of as an index (i.e. BTree) overimposed on top of a grid. This way parts of the grid may be managed/addressed more efficiently. In other words, hierarchical cluster topology does not impose a hierarchical restriction on data flow or functionality when it is not desired, but practically in very many applications we see the opposite - the "large problem" gets mapped and then reduced by subordinate workers.

To summarize, hierarchy is a good choice because:

* Logical organization of a large system
* Geo/physical layout of large system: regions/data centers/zones
* Chain of command/supervision/governor pattern
* Natural MAP:REDUCE for many functions, i.e. telemetry/instrumentation data
* Update Deployment and general management

There is one concern that needs to be discussed right away. It may seem that in a hierarchy, a node at the higher level poses a single point of failure risk to its subordinate nodes. If one cuts the tree at the trunk - the whole tree falls down. So the higher-level nodes aggregate the features of the lower-level nodes, and that includes the failures. In reality, the higher-level nodes do not need to be a single point of failure as we can make a secondary and tertiary backup copies of the layer, for example we may have 2 or more zone controllers sitting on the zone governor level. The details of the failure modes are described in the next sections.

## Topology
Agni OS organizes geographical and logical topology of the system as a hierarchical tree of sections that start at the world level, sub-split by regions, the structure akin to a file system:

Regions have sub-regions. They also contain Network Operation Centers (NOCs):

 NOCs contain zones which can also have sub-zones and hosts (actual servers).

The following typical Agni OS topology is used as an example:

In this example, the "World.r" is the root region that contains two sub-regions: "US.r" and "EU.r" and global governor NOC "Glob.noc".

Every NOC contains zones which contains sub-zones and/or hosts. Zones provide logical grouping of hosts - for example, in the example above, the "DB.z" has sub-zones representing areas of a database handling User, Financial and Social data stores.

The red boxes represent zone governor processes that control the underlying hosts. It is not required to have a zone gov in every zone.

## Topology Navigation

Since cluster topology is hierarchical, and a kin to a file system structure, it makes sense to address particular resources in the system using a logical path.

Agni OS does not use physical addresses or DNS names for host identification, because these are lower-level network related things. Instead, logical paths are used to traverse the hierarchy and address particular resources. Notice that section name suffixes (i.e. "*.r","*.z" etc.) may be left out.

The metabase API (discussed below) provide the detailed coverage for navigation and working with logical cluster regional paths (i.e. get the parent, NOC, compare paths, add paths etc.)(see Metabase API Reference)

The following diagram illustrates the logical naming scheme:

Logical naming is a higher-level abstraction than DNS, it allows to use unified scheme of addressing nodes of the system not only for the purposes of communication between nodes but also locating entities in the whole system tree, regardless of actual means of communication used.

Read more on:

 [The Metabase](/mbase)

 [Application Configuration](/src/Agni/AppModel#metabase-application-container-configuration)

Back to [Documentation Index](./)

repository: agnicore/agni

repo_name: agnicore/agni


text:
[![Build Status](https://travis-ci.org/lane-webperformance/legion-metrics.svg?branch=master)](https://travis-ci.org/lane-webperformance/legion-metrics)
[![Dependency Status](https://gemnasium.com/badges/github.com/lane-webperformance/legion-metrics.svg)](https://gemnasium.com/github.com/lane-webperformance/legion-metrics)

Legion-metrics is a library to capture, merge, and summarize performance
metrics from a load test.

	var metrics = require('legion-metrics');

metrics.merge
-------------

A dictionary of rules for merging two different pieces of data.

### metrics.merge.avg(l,r)

A merge rule that computes the average two values, internally stored as
{ avg, size }.

#### metrics.merge.avg.singleton()

To construct an avg object that can be merged with metrics.merge.avg.

### metrics.merge.events(l,r)

See: merge.set

### metrics.merge.max(l,r)

A merge rule that takes the maximum of two values.

### metrics.merge.min(l,r)

A merge rule that takes the minimum of two values.

### metrics.merge.mustMatch(l,r)

A merge rule that will throw an error if every value is not equal. This is a
to ensure that incompatible groups of data will not be merged to create a
misleading result.

### metrics.merge.object(l,r)

Merges two objects by recursively merging their members. The merge rule that
should be chosen for each member is defined by the part of the member's name
after the '$' sign.

Internally, objects are merged as [immutable]
(https://facebook.github.io/immutable-js/docs/#/) maps.

### metrics.merge.set(l,r)

Merges two arrays, removing duplicates. Internally, sets are merged
as immutable sets.

### metrics.merge.sum(l,r)

A merge rule that takes the sum of two values.

metrics.problem(error, [details])
---------------------------------

Returns a new problem object. Objects of this type are "summarizable",
meaning that they support a summarize() method.

* error: can be a string or Error object.
* details: if provided, must be an object which will be merged into the
problem object using Object.assign().

metrics.sample(value, [details])
--------------------------------

Returns a new sample point. Objects of this type are "summarizable",
meaning that they support a summarize() method.

* value: a dictionary of measurements, where each measurement has the form:
  * value: a number
  * units: a human-readable string describing the unit of the measurement,
    such as "milliseconds" or "milliseconds since 1970".
  * interpretation: a human readable string describing the measurement.
* details: if provided, must be an object which will be merged into the
sample orbject using Object.assign().

### metrics.sample.duration(milliseconds)

Construct a duration value, in milliseconds, for use in constructing a sample.
For example:

	metrics.sample({
	  duration: metrics.sample.duration(500) // 0.5 seconds
	  timestamp: metrics.sample.timestamp()
	});

### metrics.sample.timestamp()

Construct a timestamp value, in milliseconds since 1970 (UNIX time), for use
in constructing a sample. See example above.

metrics.summary(summary)
--------------------------------

Returns a new summary object. This summary object can be used wherever
we would use a problem() or sample() object, but wraps a summary
of that other data. Objects of this type are "summarizable",
meaning that they support a summarize() method.

* summary: the output of a summarize() method call, or the merged output
of several summarize() method calls.

metrics.Target
--------------

A MetricsTarget is an object that merges sample points from multiple
sources into a single statistical summary. It functions as a link in
the metrics pipeline just before metrics will be persisted (to disk,
database, or elsewhere).

A MetricsReceiver is an object that provides a specific way to
deliver metrics to a MetricsTarget. MetricsReceivers are
write-only and taggable.

### metrics.Target.create(merge)

Creates a new MetricsTarget.

* merge: typically the metrics.merge object, described earlier in this
document. In principle, a MetricsTarget can work with any set of merge
rules. Only the merge.object rule is strictly required.

### metrics.Target.isTarget(something)

Answers true if and only if the parameter is a MetricsTarget.

### metrics.Target.isReceiver(something)

Answers true if and only if the parameter is a MetricsReceiver.

### metrics.Target.MetricsTarget

The prototype for all MetricsTargets.

#### metrics.Target.MetricsTarget.clear()

Deletes all of the metrics currently stored in this MetricsTarget. Returns
the metrics as though get() had been called immediately before clearing.

#### metrics.Target.MetricsTarget.get()

Get the metrics currently stored in this MetricsTarget.

#### metrics.Target.MetricsTarget.receiver()

Returns a new MetricsReceiver that delivers samples to this MetricsTarget.

### metrics.Target.MetricsReceiver

The prototype for all MetricsReceivers.

#### metrics.Target.MetricsReceiver.receive(sample)

Tag and record a metrics sample, which will reside in the parent MetricsTarget.

* sample: typically an object produced by metrics.sample() or
metrics.problem().

#### metrics.Target.MetricsReceiver.tag(tag...)

Returns a new MetricsReceiver using the given tags. Tags are used to categorize
metric samples and to break down summary statistics. For example, we might
have a tag for all HTTP requests, a tag for each testcase in a load test,
or a tag for all activity that happened during the hour of 2:00-2:59 PM.

### metrics.tags

Tags that can be used to annotate sample points and sample summaries.

#### metrics.tags.generic(axis, tag)

Get a tag for the given axis and tag name.

* axis: an axis or category describing a sample point. For example, 'protocol'
(which might be HTTP or SMTP) or 'outcome' (which might be 'success' or
'failure').

* tag: the particular tag within the given axis.

#### metrics.tags.protocol(tag)

Get a tag for the protocol axis. Equivalent to
metrics.tags.generic('protocol').

#### metrics.tags.outcome(tag)

Get a tag for a outcome axis. Equivalent to
metrics.tags.generic('outcome').

##### metrics.tags.outcome.success

The outcome:success tag.

##### metrics.tags.outcome.failure

The outcome:failure tag.

##### metrics.tags.outcome.timeout

The outcome:timeout tag.

#### metrics.raw

The raw tag. This tag captures all samples, not just sample summary statistics.

repository: czei/legion-metrics

repo_name: czei/legion-metrics


text:
# `FlashUnwrap`

contract To unwrap WETH. This is just a contract to test the Call action

## Functions:

- `constructor(address payable weth) (public)`

- `receive() (external)`

- `callFunction(address payable _sender, bytes _data) (external)`

## Events:

- `WrappedETH(address to, uint256 amount)`

- `UnwrappedETH(address to, uint256 amount)`

### Function `constructor(address payable weth) public`

### Function `receive() external`

### Function `callFunction(address payable _sender, bytes _data) external`

### Event `WrappedETH(address to, uint256 amount)`

### Event `UnwrappedETH(address to, uint256 amount)`


text:
Contents
=====
1. [Installation](INSTALLATION.md)
    1. [Kubernetes](INSTALLATION.md#Kubernetes)
    2. [Docker](INSTALLATION.md#Docker)
    3. [Minikube](INSTALLATION.md#Docker)
2. [Making a Local Cluster](LOCALCLUSTER.md)
    1. [Building the Cluster](LOCALCLUSTER.md#Creating-a-Cluster)
    2. [Deployments](LOCALCLUSTER.md#Deployments)
    3. [Pods and Nodes](LOCALCLUSTER.md#Pods-and-Nodes)
    4. [Services](LOCALCLUSTER.md#Services)
    5. [Scaling](LOCALCLUSTER.md#Scaling)
    6. [Updates](LOCALCLUSTER.md#Updates)

Overview
=====
Much of this guide is from other sources scattered throughout the internet. The purpose of this is to provide a fast track to getting started with Kubernetes with all the information you need in one place. Wherever another source is used, it will be linked either at the bottom of the relevant section or directly where it applies.

The file `INSTALLATION.md` covers what tools you'll need to get started, how to install them, and how to verify they are working.

The file `LOCALCLUSTER.md` covers the basics of setting up a cluster that runs on your machine with a tool called Minikube.

repository: federatedcloud/kubernetes-mpi-clusters

repo_name: federatedcloud/kubernetes-mpi-clusters


text:
# Frontend Roadmap

We know that the current state of the Porter Dashboard is not the most updated one in terms of React practices, but the idea is not to keep it that way. That's why we want to introduce a new roadmap that every contributor can help on in terms to improve the current functionality!

If you want to see the current state of the roadmap you can check out this document! [Frontend Roadmap Status](frontend-roadmap-status.md)

## Roadmap

The next image represents a raw perspective of how we want to face this migration to update and improve our dashboard in terms of technical debt! You can see a more step by step detailed guide below.

![image](https://user-images.githubusercontent.com/23369263/128541304-4e7a8d3d-08f5-4c3c-841f-91f8abfbef4c.png)

### Migrate to functional components

This step is pretty self explinatory, we want to leave behind class components and build a new era of Functional components with custom hooks and all the pretty stuff that came after React 16 version. The main idea is to have the chance to have almost all the application on functional components and start separating stuff to custom hooks when it's needed to improve the readability of components.

If you want to help on this step, you need to consider two things:

- We want to rewrite the minimal amount of logic necessary to migrate, don't spend hours trying to improve the component, just having it as functional instead of class based is enough for this step.
- The functional component should be an equivalent version of it's class component (this means, that the functionality should be the same even if the implementation may vary a little).

### Setup Jest and testing

This is one of the big ones, after migrate a component to functional components, the idea is to setup tests to be sure that the components behaviour is the one that we expect, after all, testing is one of the keys to have a more stable system. We want to use [Jest](https://jestjs.io/docs/getting-started) and the [React Testing library](https://testing-library.com/docs/react-testing-library/intro/) to get this step done, mainly because we want to implement as much as possible black box testing, this is mainly because of the next step `Clean up data flows` where we will be updating most of the internal data flows of the components, but we want to keep the functionality for the user to be the same.

#### Want to help on this step?

We are not testing experts, so there's probably a lot of things to improve the way of how we think about this, don't doubt on asking us or suggesting on our [discord channel](https://discord.gg/GJynMR3KXK)!

### Clean up datas flows

Right here is where all the magic will happen, currently the components are highly coupled and this makes really hard for implementing new features and we detect a lot of cases where the performance of the app is dropped.
This step should be composed by a couple of questions:

- Can we reduce the http calls that we're making?
- Can we reduce the amount of data that we're handling?
- Do we need a context for handling data to be more optimal and clean?
- And last, is there anything that we can atomize and share between multiple components?

With this questions in mind, is pretty obvious that the work for clean up can be really hard, but the main idea is to make the components as readable as possible, adding comments, removing useless logic or making it more accessible for new contributors!

### Migrate routes

This one is a little bit more trickier in terms of implementation, as its not aimed for just one component but instead, for a whole set of components that have deep relations between them. A clear example of this is the applications module, it's a tightly coupled set of components that are mixed with jobs and env groups, even if they don't share any logic and a really small sets of components, this is clearly not clean in any way and this step should help the project to be more organized for exploring it and to know where to add new stuff or find the component that we want to change!

You can find more about the routing system that we will implement on the [frontend guide document](frontend-guide.md)!