text:
---
layout: default
---

# 1997-01-14 - Reminder:  Physical DC Cypherpunks Meeting

## Header Data

From: "Mark O. Aldrich"<EMAIL_ADDRESS>To: Cypherpunks Mailing List<EMAIL_ADDRESS>Message Hash: 4e0d6f86dd8acce5c2317cd55c2efd273b5d9a7b014aa1db154119d834dd826c

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-01-14 18:54:25 UTC

Raw Date: Tue, 14 Jan 1997 10:54:25 -0800 (PST)

## Raw message

```
{% raw  %}From: "Mark O. Aldrich"<EMAIL_ADDRESS>Date: Tue, 14 Jan 1997 10:54:25 -0800 (PST)
To: Cypherpunks Mailing List<EMAIL_ADDRESS>Subject: Reminder:  Physical DC Cypherpunks Meeting
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Cypherpunks:

A January 1997 physical DC Cypherpunks meeting will be held at GRC
International, Inc., in Vienna, Virginia, on Saturday, 18 January.
Directions to GRCI, including a couple of spiffy-neato maps, are available
at:  http://www.grci.com/overview/locations/vienna/

If you're in town for the inauguration (yes, it's the following Monday),
then stop by and check out the East Coast "punks" contingent.

Meeting starts at 1400 hours (2:00 PM).  You will be entering a secured
facility and will have to endure the usual rigors of being badged,
exchanging pleasantries with the guard, and being limited to "requires
escort" status.  So, allow a few minutes extra before the meeting starts.

Agenda includes a presentation by Carl Ellison, Senior Systems Engineer
from CyberCash, Inc.  Ad-hoc additions are welcome - show up with your
presentation materials and you're automatically added to the agenda.  We
even have a historical crypto-relevant door prize to be given away at the
meeting!  (Assuming you can haul it home <g>)

GRCI is located at the corner of Gallows Road and Boone Blvd, about two
miles north of the Dunn-Loring Metro station on the western end of the
orange line.  As solicitations for rides haven't appeared (yet) on the
list, the assumption is that they're being coordinated off-list at the
moment.  If your ride fails you and you're stuck at the Metro on Saturday,
the phone number for where we'll be meeting is<PHONE_NUMBER>.  We can
try to beg you a ride from some gracious punk with wheels.  The front
desk is<PHONE_NUMBER> or 4000, is there's no answer downstairs.

If you show up late for the meeting and there's nobody there to sign you
in, you'll have to have the guard call us.  We'll be downstairs in the
"lower level conference room."  Just say those words and s/he'll know
where we are.  S/he can then call and someone will come up to get you.

Post-meeting world-problem-solving and beer-swilling activities
can be undertaken in any of the numerous suitable locations in and
about the illustrious Tyson's Corner locale.  We'll coordinate at
the end of the meeting.

Hope to see y'all this Saturday!

-------------------------------------------------------------------------
|I want to die peacefully,                |          Mark Aldrich       |
|like my Granddad did.                    |   GRCI INFOSEC Engineering  |
|Not in sheer terror,                     |<EMAIL_ADDRESS>     |
|like his passengers did.                 |<EMAIL_ADDRESS>|_______________________________________________________________________|
|The author is PGP Empowered.  Public key at:  finger<EMAIL_ADDRESS>|
|    The opinions expressed herein are strictly those of the author     |
|         and my employer gets no credit for them whatsoever.           |
-------------------------------------------------------------------------

{% endraw %}
```

## Thread

+ Return to [January 1997](/archive/1997/01)

+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"
+ Return to "["Mark O. Aldrich" <maldrich@grci.com>](/authors/mark_o_aldrich_maldrich_at_grci_com_)"

+ 1997-01-14 (Tue, 14 Jan 1997 10:54:25 -0800 (PST)) - Reminder:  Physical DC Cypherpunks Meeting - _"Mark O. Aldrich"<EMAIL_ADDRESS>  + 1997-01-15 (Tue, 14 Jan 1997 20:32:40 -0800 (PST)) - [Re: Reminder:  Physical DC Cypherpunks Meeting](/archive/1997/01/cd09e02335c09a0cde20a71126508dc5277322289803e7978cad9d1549042bdd) -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_


text:
# PushNotification Service Broker
A  Cloud Foundry Service Broker, complying to version 2.4 of the interface specification. This will serve all the request
for PushNotification services which is coming from the cloud controller. This service broker  is responsible for:
- Implementing a REST server to interface with the Cloud Controller
- Authenticating requests using HTTP basic auth
- Providing an interface to the data service itself for all provision/unprovision & bind/unbind events
- Maintaining a catalog of all available services and associated service plans

## Config
The catalog of services and plans is defined in the file config/auth-service-broker.json.
Hopefully, the configurations are fairly self explanatory. Most importantly, don't forget to change "authUser" and "authPassword" .
If you don't provide the authUser and authPassword , there will not be any security for the broker; and it would be accesible to anyone.

##  Creating PushNotification Broker App:

  1.	Clone the PushNotification Service broker

  ```
    cd  Microservices/ServiceBrokers/PushNotificationBroker/
  ```

  ```
    cf push PushNotificationBroker
  ```
  An App “PushNotificationBroker” will be started based on the package.json  file. You can view the app using following command “cf apps”.

##  Register the PushNotificationBroker app as service broker in cloud foundry

  1.	To create service broker in CF

  ```
    cf create-service-broker “<brokername>” <username> <pwd> <brokerapp url>
  ```
  This username and password is the same as that which you have given in the config.json

  2.	Get the service name from below command

  ```
    cf service-access
  ```
  3.	To get the service in marketplace

  ```
 	  cf enable-service-access “<servicename>”
 	  cf marketplace
 ```

##	Now to create PushNotification service instance

  To create single instance,

  ```
    cf create-service PushNotificationService free PushNotificationServiceInstance
  ```

##	To bind the service to users app

  ```
    cf bind-service PushTemplateApp PushNotificationServiceInstance
  ```

##    To un-bind the service from users app

 ```
    cf unbind-service PushTemplateApp PushNotificationServiceInstance
 ```

## To delete the service instance

  ```
    cf delete-service PushNotificationServiceInstance
  ```

repository: SrividyaUppugandla/GITBackUp

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: SrividyaUppugandla/GITBackUp


text:
# Date Walnut Bread

The date walnut bread is an exquisite bread with an amazing taste.
You initially taste the dates and then have walnutty taste afterwards.
I never put any toppings on the bread as it tastes great on its own.
The dates seem to cause the bread to become slightly darker in its color. Thus
the bread looks really excellent and rustic.

Interestingly the dates lose sweetness in this bread. Over the the yeast
converts much of the sugar to gas. You will have a nice date taste, not too
sweet.

![The final bread](../../images/date-walnut-bread-crumb.jpg)

## Custom Ingredients

- 100 grams of walnuts
- 100 grams of dates

![The Ingredients](../../images/date-walnut-bread-ingredients.jpg)

### Recipe Customization

Cut the dates and walnuts into small pieces. I like to put the walnuts into a plastic bag and crush them with a hammer. Place the ingredients on the dough in front of you.

license: MIT

repository: hendricius/the-bread-code

gha_language: Shell

gha_license_id: MIT

repo_name: hendricius/the-bread-code


text:
### 2014-09-30

#### objective-c
* [
      slackhq
      /
      SlackTextViewController
](https://github.com/slackhq/SlackTextViewController):
      iOS UIViewController subclass with a custom growing text input

* [
      cwRichardKim
      /
      RKDropdownAlert
](https://github.com/cwRichardKim/RKDropdownAlert):
      iOS / Objective C: an extremely simple UIAlertView alternative

* [
      DenHeadless
      /
      Shapes
](https://github.com/DenHeadless/Shapes):
      Framework for drawing and animating shaped views on iOS

* [
      CyberAgent
      /
      AMBTableViewController
](https://github.com/CyberAgent/AMBTableViewController):
      Storyboard and Prototype Cells-centric block-based UITableView controller to manage complex layouts.

* [
      realm
      /
      realm-cocoa
](https://github.com/realm/realm-cocoa):
      Realm is a mobile database: a replacement for Core Data & SQLite

* [
      shu223
      /
      iOS8-Sampler
](https://github.com/shu223/iOS8-Sampler):
      Code examples for the new functions of iOS 8.

* [
      tdginternet
      /
      TGCameraViewController
](https://github.com/tdginternet/TGCameraViewController):
      Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects.

* [
      AFNetworking
      /
      AFNetworking
](https://github.com/AFNetworking/AFNetworking):
      A delightful iOS and OS X networking framework

* [
      Flipboard
      /
      FLEX
](https://github.com/Flipboard/FLEX):
      An in-app debugging and exploration tool for iOS

* [
      mindbrix
      /
      UIImage-PDF
](https://github.com/mindbrix/UIImage-PDF):
      Simple UIImage PDF renderer category for iOS scalable assets

* [
      jianpx
      /
      ClusterPrePermissions
](https://github.com/jianpx/ClusterPrePermissions):
      Cluster's reusable pre-permissions utility that lets developers ask the users on their own dialog for photos or contacts access, before making the system-based request. This is based on the Medium post by Cluster describing the different ways to ask for iOS permissions (https://medium.com/p/96fa4eb54f2c).

* [
      MortimerGoro
      /
      MGSwipeTableCell
](https://github.com/MortimerGoro/MGSwipeTableCell):
      An easy to use UITableViewCell subclass that allows to display swippable buttons with a variety of transitions.

* [
      kattrali
      /
      deriveddata-exterminator
](https://github.com/kattrali/deriveddata-exterminator):
      A magic button in Xcode to exterminate the current project's DerivedData directories

* [
      smileyborg
      /
      PureLayout
](https://github.com/smileyborg/PureLayout):
      The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible.

* [
      TransitApp
      /
      SVProgressHUD
](https://github.com/TransitApp/SVProgressHUD):
      A clean and lightweight progress HUD for your iOS app.

* [
      mattt
      /
      CupertinoYankee
](https://github.com/mattt/CupertinoYankee):
      An NSDate Category With Locale-Aware Calculations for Beginning & End of Day, Week, Month, and Year

* [
      ReactiveCocoa
      /
      ReactiveCocoa
](https://github.com/ReactiveCocoa/ReactiveCocoa):
      A framework for composing and transforming streams of values

* [
      ioscreator
      /
      ioscreator
](https://github.com/ioscreator/ioscreator):
      Tutorials from ioscreator.com

* [
      intuit
      /
      AnimationEngine
](https://github.com/intuit/AnimationEngine):
      Easily build advanced custom animations on iOS.

* [
      ianyh
      /
      Amethyst
](https://github.com/ianyh/Amethyst):
      Tiling window manager for OS X à la xmonad.

* [
      cwRichardKim
      /
      TinderSimpleSwipeCards
](https://github.com/cwRichardKim/TinderSimpleSwipeCards):
      the basics of a Tinder-like swipeable cards interface based off of http://guti.in/articles/creating-tinder-like-animations/

* [
      infinum
      /
      FBAnnotationClustering
](https://github.com/infinum/FBAnnotationClustering):
* [
      CocoaLumberjack
      /
      CocoaLumberjack
](https://github.com/CocoaLumberjack/CocoaLumberjack):
      A fast & simple, yet powerful & flexible logging framework for Mac and iOS

* [
      mamaral
      /
      Onboard
](https://github.com/mamaral/Onboard):
      Onboard provides developers with a quick and easy means to create a beautiful, engaging, and useful onboarding experience with only a few lines of code.

* [
      yapstudios
      /
      YapDatabase
](https://github.com/yapstudios/YapDatabase):
      YapDatabase is an extensible database for iOS & Mac.

#### go
* [
      jwaldrip
      /
      odin
](https://github.com/jwaldrip/odin):
      A go-lang library to help build self documenting command line applications.

* [
      EricChiang
      /
      pup
](https://github.com/EricChiang/pup):
      Parsing HTML at the command line

* [
      syncthing
      /
      syncthing
](https://github.com/syncthing/syncthing):
      Open Source Continuous File Synchronization

* [
      docker
      /
      docker
](https://github.com/docker/docker):
      Docker - the open-source application container engine

* [
      GoogleCloudPlatform
      /
      kubernetes
](https://github.com/GoogleCloudPlatform/kubernetes):
      Container Cluster Manager

* [
      apsdehal
      /
      go-logger
](https://github.com/apsdehal/go-logger):
      Simple logger and debugger for Go programs

* [
      chanxuehong
      /
      wechat
](https://github.com/chanxuehong/wechat):
      wechat(微信 / weixin) sdk for go(golang)

* [
      zettio
      /
      weave
](https://github.com/zettio/weave):
      The Docker Network

* [
      shurcooL
      /
      Go-Package-Store
](https://github.com/shurcooL/Go-Package-Store):
      An app that displays updates for the Go packages in your GOPATH.

* [
      google
      /
      cayley
](https://github.com/google/cayley):
      An open-source graph database

* [
      deis
      /
      deis
](https://github.com/deis/deis):
      Your PaaS. Your Rules.

* [
      Sam-Izdat
      /
      kee
](https://github.com/Sam-Izdat/kee):
      golang single-package library for dealing with resource identifiers and the wacky things they do

* [
      influxdb
      /
      influxdb
](https://github.com/influxdb/influxdb):
      Scalable datastore for metrics, events, and real-time analytics

* [
      coreos
      /
      etcd
](https://github.com/coreos/etcd):
      A highly-available key value store for shared configuration and service discovery

* [
      limetext
      /
      lime
](https://github.com/limetext/lime):
      Experimental Sublime Text clone

* [
      gogits
      /
      gogs
](https://github.com/gogits/gogs):
      Gogs(Go Git Service) is a painless self-hosted Git Service written in Go.

* [
      Sirupsen
      /
      logrus
](https://github.com/Sirupsen/logrus):
      Structured, pluggable logging for Go.

* [
      hashicorp
      /
      consul
](https://github.com/hashicorp/consul):
      Consul is a tool for service discovery, monitoring and configuration.

* [
      bitly
      /
      nsq
](https://github.com/bitly/nsq):
      A realtime distributed messaging platform

* [
      flynn
      /
      flynn
](https://github.com/flynn/flynn):
      A next generation open source platform as a service (PaaS)

* [
      go-fsnotify
      /
      fsnotify
](https://github.com/go-fsnotify/fsnotify):
      File system notifications for Go.

* [
      revel
      /
      revel
](https://github.com/revel/revel):
      A high productivity, full-stack web framework for the Go language.

* [
      coreos
      /
      fleet
](https://github.com/coreos/fleet):
      A Distributed init System

* [
      tools
      /
      godep
](https://github.com/tools/godep):
      dependency tool for go

* [
      mitchellh
      /
      packer
](https://github.com/mitchellh/packer):
      Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

#### javascript
* [
      Aerolab
      /
      midnight.js
](https://github.com/Aerolab/midnight.js):
      A jQuery plugin to switch fixed headers on the fly

* [
      yahoo
      /
      gifshot
](https://github.com/yahoo/gifshot):
        JavaScript library that can create animated GIFs from media streams, videos, or images

* [
      kenwheeler
      /
      slick
](https://github.com/kenwheeler/slick):
      the last carousel you'll ever need

* [
      sofish
      /
      wechat.js
](https://github.com/sofish/wechat.js):
      微信相关的 js 操作：分享、网络、菜单

* [
      angular
      /
      angular.js
](https://github.com/angular/angular.js):
      HTML enhanced for web apps

* [
      marmelab
      /
      ng-admin
](https://github.com/marmelab/ng-admin):
      Add an AngularJS admin GUI to any RESTful API

* [
      vladikoff
      /
      chromeos-apk
](https://github.com/vladikoff/chromeos-apk):
      Run Android APKs in Chrome OS OR Chrome in OS X, Linux and Windows.

* [
      usablica
      /
      intro.js
](https://github.com/usablica/intro.js):
      A better way for new feature introduction and step-by-step users guide for your website and project.

* [
      erming
      /
      shout
](https://github.com/erming/shout):
      The self-hosted web IRC client

* [
      lafikl
      /
      RWDPerf
](https://github.com/lafikl/RWDPerf):
      Performance testing tool for Responsive web designs.

* [
      young-steveo
      /
      bottlejs
](https://github.com/young-steveo/bottlejs):
      A powerful, extensible dependency injection micro container for JavaScript applications

* [
      yify-pop
      /
      yify-pop
](https://github.com/yify-pop/yify-pop):
      Inspired by Popcorn Time, a node web server to stream torrents from YIFY. Built using Geddy and the peerflix library.

* [
      MrSwitch
      /
      hello.js
](https://github.com/MrSwitch/hello.js):
      A Javascript RESTFUL API library for connecting with OAuth2 services, such as Google+ API, Facebook Graph and Windows Live Connect

* [
      driftyco
      /
      ionic
](https://github.com/driftyco/ionic):
      Advanced HTML5 Mobile App Framework. A beautiful front-end framework for developing hybrid mobile apps in HTML5. Best friends with AngularJS.

* [
      adobe
      /
      brackets
](https://github.com/adobe/brackets):
      An open source code editor for the web, written in JavaScript, HTML and CSS.

* [
      joyent
      /
      node
](https://github.com/joyent/node):
      evented I/O for v8 javascript

* [
      mbostock
      /
      d3
](https://github.com/mbostock/d3):
      A JavaScript visualization library for HTML and SVG.

* [
      facebook
      /
      react
](https://github.com/facebook/react):
      React is a JavaScript library for building user interfaces. It's declarative, efficient, and extremely flexible. What's more, it works with the libraries and frameworks that you already know.

* [
      niftylettuce
      /
      eskimo
](https://github.com/niftylettuce/eskimo):
      Eskimo helps you to rapidly build Node powered API's, online stores, and apps in general (known as "igloos").

* [
      gulpjs
      /
      gulp
](https://github.com/gulpjs/gulp):
      The streaming build system

* [
      mulhoon
      /
      score.js
](https://github.com/mulhoon/score.js):
      Scoring, levels, checkpoints and badges in Javascript - Instant gamification

* [
      gionkunz
      /
      chartist-js
](https://github.com/gionkunz/chartist-js):
      Simple responsive charts

* [
      stephen
      /
      airsonos
](https://github.com/stephen/airsonos):
      AirPlay to Sonos

* [
      meteor
      /
      meteor
](https://github.com/meteor/meteor):
      Meteor, an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.

* [
      FezVrasta
      /
      snackbarjs
](https://github.com/FezVrasta/snackbarjs):
      Create Material Design snackbars and toasts with ease.

#### ruby
* [
      sferik
      /
      t
](https://github.com/sferik/t):
      A command-line power tool for Twitter.

* [
      Homebrew
      /
      homebrew
](https://github.com/Homebrew/homebrew):
      The missing package manager for OS X.

* [
      rails
      /
      rails
](https://github.com/rails/rails):
      Ruby on Rails

* [
      discourse
      /
      discourse
](https://github.com/discourse/discourse):
      A platform for community discussion. Free, open, simple.

* [
      ruby
      /
      ruby
](https://github.com/ruby/ruby):
      The Ruby Programming Language

* [
      gitlabhq
      /
      gitlabhq
](https://github.com/gitlabhq/gitlabhq):
      Open source software to collaborate on code. Follow us on twitter @gitlabhq

* [
      diaspora
      /
      diaspora
](https://github.com/diaspora/diaspora):
      Distributed and contextual social networking

* [
      rapid7
      /
      metasploit-framework
](https://github.com/rapid7/metasploit-framework):
      Metasploit Framework

* [
      neo4jrb
      /
      neo4j
](https://github.com/neo4jrb/neo4j):
      An active model wrapper for the Neo4j Graph Database for Ruby.

* [
      bbatsov
      /
      ruby-style-guide
](https://github.com/bbatsov/ruby-style-guide):
      A community-driven Ruby coding style guide

* [
      caskroom
      /
      homebrew-cask
](https://github.com/caskroom/homebrew-cask):
      A CLI workflow for the administration of Mac applications distributed as binaries

* [
      peter-murach
      /
      tty
](https://github.com/peter-murach/tty):
      Toolbox for developing CLI clients.

* [
      sass
      /
      sass
](https://github.com/sass/sass):
      Sass makes CSS fun again.

* [
      voltrb
      /
      volt
](https://github.com/voltrb/volt):
      A ruby web framework where your ruby runs on both server and client

* [
      plataformatec
      /
      devise
](https://github.com/plataformatec/devise):
      Flexible authentication solution for Rails with Warden.

* [
      brooklynDev
      /
      airborne
](https://github.com/brooklynDev/airborne):
      RSpec driven API testing framework

* [
      bbatsov
      /
      rubocop
](https://github.com/bbatsov/rubocop):
      A Ruby static code analyzer, based on the community Ruby style guide.

* [
      mitchellh
      /
      vagrant
](https://github.com/mitchellh/vagrant):
      Vagrant is a tool for building and distributing development environments.

* [
      carrierwaveuploader
      /
      carrierwave
](https://github.com/carrierwaveuploader/carrierwave):
      Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks

* [
      jekyll
      /
      jekyll
](https://github.com/jekyll/jekyll):
      Jekyll is a blog-aware, static site generator in Ruby

* [
      elasticsearch
      /
      logstash
](https://github.com/elasticsearch/logstash):
      logstash - logs/event transport, processing, management, search.

* [
      sferik
      /
      rails_admin
](https://github.com/sferik/rails_admin):
      RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data

* [
      opscode
      /
      chef
](https://github.com/opscode/chef):
      A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

* [
      intridea
      /
      grape
](https://github.com/intridea/grape):
      An opinionated micro-framework for creating REST-like APIs in Ruby.

* [
      fluent
      /
      fluentd
](https://github.com/fluent/fluentd):
      Fluentd data collector

repository: josephyzhou/github-trending

gha_language: Go

repo_name: josephyzhou/github-trending


text:
---
layout: post
title: "Set Up Multiple Github Accounts"
description: ""
category: setups
tags: [github]
---
{% include JB/setup %}

**Assumptions:** Working on Mac OSX, working with ssh

**Prerequisites:** At least 2 github accounts already created

###Post Overview:###

1. Create SSH keys
2. Upload RSA keys on github
3. Create .config file for RSA keys
4. Set up user.name and user.mail

---
#### Sample variables for this post ####

johndoe = Mac OSX User

<EMAIL_ADDRESS>= email 1st github account

<EMAIL_ADDRESS>= email 2nd github account

---
**Step 1: Create SSH keys**

Within the terminal digit:
`ssh-keygen -t rsa -C<EMAIL_ADDRESS>
When the promt asks where to save type:
`/Users/johndoe/.ssh/id_rsa_home`

Do not use any passphare.

Do the same for the other key.
Digit `ssh-keygen -t rsa -C<EMAIL_ADDRESS>save in `/Users/johndoe/.ssh/id_rsa_work` and do not use passphase.

Because the keys have a unique name, we need to tell SSH about them.
Within the Terminal, type:
`ssh-add /Users/johndoe/.ssh/id_rsa_home`

If successful, you’ll see a response of “Identity Added.”
Do the same for the other key, typing `ssh-add /Users/johndoe/.ssh/id_rsa_work`

**Step 2: Upload RSA keys on github**

Now, we have to copy the public key content and paste it on github.

On terminal:

`pbcopy < ~/.ssh/id_rsa_home.pub`

On [github](http://www.github.com) go to "Account Settings"

![alt text][github-settings]

On the left column choose "SSH Keys".
![alt text][ssh-key]

Add SSH Key. Give it any title you want and paste the content.
![alt text][add-ssh-key]

[github-settings]: /img/2013-09-22/github-settings.jpg "Github settings"
[ssh-key]: /img/2013-09-22/ssh-key.jpg "SSH Key"
[add-ssh-key]: /img/2013-09-22/add-ssh-key.jpg "Add SSh Key"

Do the same for the other account.

Copy the public key `pbcopy < ~/.ssh/id_rsa_work.pub` and paste it on your second github account.

**Step 3: Create .config file for RSA keys**

In /Users/johndoe/.ssh/ directory, create a file called ".config"
For each account you'll have 4 lines. You can choose the first of these lines: the "Host" (for further customization see the references).

{% highlight c %}
Host jhome
  HostName github.com
  User git
  IdentityFile /Users/johndoe/.ssh/id_rsa_home

Host jwork
  HostName github.com
  User git
  IdentityFile /Users/johndoe/.ssh/id_rsa_work
{% endhighlight %}

**Step 4: Set up user.name and user.email**

It is important that in the global git configurations it is _not_ configured any user name and email.
You're gonna set up only local user name and email for every git repository, so you can always choose which account to use.

 Inside .git directory there's the "config" file and initially no user name and email are set.

So if you want to push git doesn't know which github account to use. You tell it by configuring the local user name and email. Let's say we're gonna use the work account, you type (assuming your current terminal directory is the project directory, feel free to use the `cd` command to make it sure):

`git config --local user.name "John Doe"`

`git config --local user.email<EMAIL_ADDRESS>
Now, if you open the "config" in the .git folder (which is a hidden folder, but you already know it) you'll see this new lines:

{% highlight bash %}
[user]
	name = John Doe
	email =<EMAIL_ADDRESS>{% endhighlight %}

#### Cloning remote####
On the other hand when you clone a remote repo you're gonna use the host set in the ssh ".config" file. To do that we have to use the ssh link of a repository provided by github.

Let's say we wanna clone the Jekyll Bootstrap repository [https://github.com/plusjade/jekyll-bootstrap](https://github.com/plusjade/jekyll-bootstrap)

On the page we'll copy the ssh link ![alt text](/img/2013-09-22/ssh-link.jpg)

In the directory project (that you already created) you digit:
`git clone git@jhome:plusjade/jekyll-bootstrap.git`

_Notice that we used the "jhome" host._

Then you set the url origin to your own repository on github and finally you set-up the local user name and email like before, in that way git knows which account to use and its credentials.

**IDE**

I'm using IntelliJ Idea. Having done all the previous steps you already good. Meaning that the IDE will search for user.name and user.mail in the "config" file of the project.

Have fun.

---
## References ##
- [My git setup](http://kevinoncode.blogspot.it/2011/11/my-git-setup.html)
- [Generating SSH Keys](https://help.github.com/articles/generating-ssh-keys)
- [How to Work with GitHub and Multiple Accounts](http://net.tutsplus.com/tutorials/tools-and-tips/how-to-work-with-github-and-multiple-accounts/)
- [Multiple ssh private keys](http://www.karan.org/blog/index.php/2009/08/25/multiple-ssh-private-keys)
- [How to Use Multiple GIT Accounts](http://sandarenu.blogspot.com/2011/09/how-to-use-multiple-git-accounts.html)


text:
Installing
------------------
Read the [docs](http://facebook.github.io/reason/tools.html#merlin-atom) for installation instructions.

Upgrading Reason
------------------

- To upgrade `Reason`, you should do `opam upgrade reason`: this will repin reason, rebuilding the fresh command line tools (e.g. `refmt`, `refmttype`) which the editor plugin uses internally. Then restarting Atom will cause `atom-reason-loader` to detect the new version of `Reason` and (if needed) install the new version of the plugins.

Building and Adding Features
------------------
To build `atom-reason`, you must have `js_of_ocaml` and `jenga` (a build system) installed, in addition to `Reason`, and `ocamlmerlin`.
Open the Atom settings for `atom-reason-loader` by using the menu (`Packages > Settings View > Manage Packages`). Click on `atom-reason-loader` and uncheck the box that tells Atom to automatically "sync" the Reason plugins. Now, you can correctly have a symlink from the official Atom packages install folder to your development repo for the plugins.

```sh
opam update
opam pin add -y js_of_ocaml https://github.com/ocsigen/js_of_ocaml.git
opam pin add -y jenga https://github.com/chenglou/jenga.git#2a0eb726f503038ad70d43f8e8bbb4c41223108a
opam install yojson
cd editorSupport/atom-reason
# Build the changes (npm install/apm link are only needed the first time)
npm install
npm start
apm link
```

**The `opam update`** step is important! In particular, for Jenga to work with our step, its dependency `core` needs to be >=113.33.03 and `js-build-tools` at >=113.33.04. If the Jenga installation fails, make sure these two packages' versions are satisfied.

`jengarootReal.re` file is used to specify the build rules for the repo. `npm start`'s script turns it into `jengaroot.ml` for Jenga's consumption. Please don't modify the ml file!

repository: xennygrimmato/reason

repo_name: xennygrimmato/reason


text:
```
```
jmap - Memory Map
====================

[jmap]("https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jmap.html")

Prints shared object memory maps or heap memory details for a process, core file, or remote debug server. This command is experimental and unsupported.

```
```

>## Synopsis

**jmap** [ *options* ] *pid*

**jmap** [ *options* ] *executable core*

**jmap** [ *options* ] [ *pid* ] *server-id@* ] *remote-hostname-or-IP*

***options***

 The command-line options. See Options.

***pid***

 The process ID for which the memory map is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, use the jps(1) command.

executable
The Java executable from which the core dump was produced.

core
The core file for which the memory map is to be printed.

remote-hostname-or-IP
The remote debug server hostname or IP address. See jsadebugd(1).

server-id
An optional unique ID to use when multiple debug servers are running on the same remote host.

Description
The jmap command prints shared object memory maps or heap memory details of a specified process, core file, or remote debug server. If the specified process is running on a 64-bit Java Virtual Machine (JVM), then you might need to specify the -J-d64 option, for example: jmap -J-d64 -heap pid.

Note: This utility is unsupported and might not be available in future releases of the JDK. On Windows Systems where the dbgeng.dll file is not present, Debugging Tools For Windows must be installed to make these tools work. The PATH environment variable should contain the location of the jvm.dll file that is used by the target process or the location from which the crash dump file was produced, for example: set PATH=%JDK_HOME%\jre\bin\client;%PATH%.

Options
<no option>
When no option is used, the jmap command prints shared object mappings. For each shared object loaded in the target JVM, the start address, size of the mapping, and the full path of the shared object file are printed. This behavior is similar to the Oracle Solaris pmap utility.

-dump:[live,] format=b, file=filename
Dumps the Java heap in hprof binary format to filename. The live suboption is optional, but when specified, only the active objects in the heap are dumped. To browse the heap dump, you can use the jhat(1) command to read the generated file.

-finalizerinfo
Prints information about objects that are awaiting finalization.

-heap
Prints a heap summary of the garbage collection used, the head configuration, and generation-wise heap usage. In addition, the number and size of interned Strings are printed.

-histo[:live]
Prints a histogram of the heap. For each Java class, the number of objects, memory size in bytes, and the fully qualified class names are printed. The JVM internal class names are printed with an asterisk (*) prefix. If the live suboption is specified, then only active objects are counted.

-clstats
Prints class loader wise statistics of Java heap. For each class loader, its name, how active it is, address, parent class loader, and the number and size of classes it has loaded are printed.

-F
Force. Use this option with the jmap -dump or jmap -histo option when the pid does not respond. The live suboption is not supported in this mode.

-h
Prints a help message.

-help
Prints a help message.

-Jflag
Passes flag to the Java Virtual Machine where the jmap command is running.

```sh
jmap -dump:live,format=b,file=./1.hprof 47314

```

See Also
jhat(1)

jps(1)

jsadebugd(1)

repository: lhfei/cloud-doc

repo_name: lhfei/cloud-doc


text:
# Slot: category

URI: [https://example.com/test62/category](https://example.com/test62/category)

## Domain and Range

[NamedThing](NamedThing.md) →  1..\* [IriType](types/IriType.md)

## Parents

## Children

## Used by

 * [NamedThing](NamedThing.md)

## Other properties

|  |  |  |
| --- | --- | --- |
| **Mappings:** | | rdfs:subClassOf |

repository: linkml/linkml

branch_name: refs/heads/main

gha_language: Python

repo_name: linkml/linkml


text:
# MetroUI (Beta)

Atom theme following the **Microsoft Design Language 2.0** guidelines to make Atom look a little bit more native on Windows 10.

## Themes

#### Light _(default)_

> Using [metro-syntax](https://atom.io/themes/metro-syntax)

![metro-ui-light](http://cirex.github.io/screenshots/metro-ui-light.png)

#### Adaptive Dark

Matches your Syntax while keeping the overall interface dark.

> Using [duotone-dark-syntax](https://atom.io/packages/duotone-dark-syntax)

![metro-ui-adaptive-dark](http://cirex.github.io/screenshots/adaptive-dark-duo-tone.png)

> Using [gruvbox](https://atom.io/themes/gruvbox)

![metro-ui-adaptive-dark](http://cirex.github.io/screenshots/adaptive-dark-gruvbox.png)

#### Adaptive Light

Matches your Syntax while keeping the overall interface light.

> Using [sepia-syntax](https://atom.io/themes/sepia-syntax)

![metro-ui-adaptive-light](http://cirex.github.io/screenshots/adaptive-light-sepia.png)

## Notes

In order to use the icon set labeled **Windows 10** in the configuration options you must have the font **Segoe MDL2 Assets** installed on your system. (Pre-installed on Windows 10.)

Due to licensing it can not be bundled in this repository, but if you're running an older version of Windows that **Google** guy might be able to assist you in finding a copy.


text:
### `tf.pack(values, name='pack')` {#pack}

Packs a list of rank-`R` tensors into one rank-`(R+1)` tensor.

Packs tensors in `values` into a tensor with rank one higher than each tensor
in `values` and shape `[len(values)] + values[0].shape`. The output satisfies
`output[i, ...] = values[i][...]`.

This is the opposite of unpack.  The numpy equivalent is

    tf.pack([x, y, z]) = np.asarray([x, y, z])

##### Args:

*  <b>`values`</b>: A list of `Tensor` objects with the same shape and type.
*  <b>`name`</b>: A name for this operation (optional).

##### Returns:

*  <b>`output`</b>: A packed `Tensor` with the same type as `values`.

repository: agrawalnishant/tensorflow

repo_name: agrawalnishant/tensorflow


text:
---
title: Error handling
keywords: fhir, development, operation outcome, error
tags: [fhir,development,error]
sidebar: overview_sidebar
permalink: resources_error_handling.html
summary: "Details of the common error handling patterns and error codes used across national FHIR APIs"
---

## Operation outcome usage ##

In the event of an error, provider systems SHALL respond by providing an [OperationOutcome resource](api_spine-operationoutcome.html)

The OperationOutcome:

- SHALL contain a definition of severity in the `OperationOutcome.issue.severity` field providing a value from the [valueset-issue-severity](http://hl7.org/fhir/STU3/valueset-issue-severity.html) value set. In all cases described in this guidance, the value used will be `error`.
- SHALL contain a definition of the type of error in the `OperationOutcome.issue.code` element, providing a value from the [issue-type](http://hl7.org/fhir/STU3/valueset-issue-type.html) value set.
- SHALL contain details of the `Spine error code` in the `OperationOutcome.issue.details.coding.code` and `OperationOutcome.issue.details.coding.display` fields. These shall be taken from the standard set of NHS Spine error codes as defined in the [spine-error-or-warning-code-1](https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1) value set. The Spine error and warning codes provide a greater degree of error handling granularity, and also ensure a standardised error handling approach across NHS APIs.
- SHOULD provide additional diagnostic details of the error in `OperationOutcome.diagnostics` property where such securely provides additional error context for consumer applications.

The specific errors that can be returned will depend on the API being called, and the individual API specifications will provide additional details about likely error conditions. The sections below provide general guidance on the error details that can come back from national FHIR APIs, and those brokered nationally.

## Identity validation errors ##

| HTTP code | Issue Severity | Issue type    |Spine error code - code       | Spine error code - display |
| --------- | -------------- | ------------- |------------------------------|-------------|
| `400`     | error          | value         | INVALID_NHS_NUMBER           | NHS number invalid |
| `400`     | error          | business-rule | INVALID_PATIENT_DEMOGRAPHICS | Invalid patient demographics (that is, PDS trace failed) |
| `404`     | error          | not-found     | ORGANISATION_NOT_FOUND       | Organisation record not found |
| `404`     | error          | not-found     | PATIENT_NOT_FOUND            | Patient record not found |
| `404`     | error          | not-found     | PRACTITIONER_NOT_FOUND       | Practitioner record not found |
| `404`     | error          | not-found     | NO_RECORD_FOUND              | No record found |
| `400`     | error          | invalid       | REQUEST_UNMATCHED            | Request does not match authorisation token |

#### Example: Invalid NHS number supplied #####

If an invalid NHS number value is supplied to the GP Connect `$gpc.getcarerecord` operation, the following error details would be returned:

```json
{
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "value",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "INVALID_NHS_NUMBER",
				"dispay": "Invalid NHS number"
			}]
		}
	}]
}
```

#### Example: Patient not found #####

For example, if a valid NHS number value is supplied to the GP Connect `$gpc.getcarerecord` Operation but no GP record exists for that patient, then the following error details would be returned:

```json
{
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "not-found",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "PATIENT_NOT_FOUND",
				"display": "Patient not found"
			}]
		}
	}]
}
```

#### Example: Resource not found ####

This is a catch-all where a request for a resource instance cannot be found at the FHIR server, where more specific Spine error codes (such as PATIENT_NOT_FOUND) cannot be used.

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "not-found",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "NO_RECORD_FOUND",
				"display": "No record found"
			}]
		}
	}]
}
```

## Security validation errors ##

| HTTP code | Issue Severity | Issue type |Spine error code - code   | Spine error code - display |
| --------- | ---------------| -----------|--------------------------|----------------------------|
| `403`     | error          | forbidden  | NO_PATIENT_CONSENT       | Patient has not provided consent to share data |
| `403`     | error          | forbidden  | NO_ORGANISATION_CONSENT  | Organisation has not provided consent to share data |
| `403`     | error          | forbidden  | ACCESS_DENIED            | Access has been denied to process this request |
| `403`     | error          | forbidden  | ACCESS_DENIED_SSL        | SSL Protocol or Cipher requirements not met |
| `403`     | error          | forbidden  | ASID_CHECK_FAILED        | The sender or receiver's ASID is not authorised for this interaction |
| `401`     | fatal          | forbidden  | AUTHOR_CREDENTIALS_ERROR | Author credentials error |

#### Example: No patient consent to share #####

For example, if the patient has requested that their record should not be shared then the following error details would be returned:

```json
{
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "forbidden",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "NO_PATIENT_CONSENT",
				"display": "Patient has not provided consent to share data"
			}]
		}
	}]
}
```

## Resource validation errors ##

| HTTP code | Issue Severity | Issue type    |Spine error code - code    | Spine error code - display |
| --------- | -------------- | ------------- | ------------------------- | ----------- |
| `400`     | error          | value         | INVALID_REQUEST_MESSAGE   | Invalid Request Message |
| `400`     | error          | value         | INVALID_IDENTIFIER_SYSTEM | Invalid identifier system |
| `400`     | error          | value         | INVALID_IDENTIFIER_VALUE  | Invalid identifier value |
| `400`     | error          | code-invalid  | INVALID_CODE_SYSTEM       | Invalid code system |
| `400`     | error          | code-invalid  | INVALID_CODE_VALUE        | Invalid code value |
| `400`     | error          | value         | INVALID_ELEMENT           | Invalid element |
| `422`     | error          | invalid       | INVALID_RESOURCE          | Invalid validation of resource. |
| `422`     | error          | invalid       | INVALID_PARAMETER         | Invalid parameter. |
| `422`     | error          | invalid       | REFERENCE_NOT_FOUND       | Referenced resource not found. |
| `422`     | error          | duplicate     | DUPLICATE_REJECTED        | Create would lead to creation of a duplicate resource. |
| `405`     | error          | forbidden     | MSG_RESOURCE_ID_FAIL      | Client is not permitted to assign an id. |

INVALID_PARAMETER would be used in the following, or similar, scenarios:
- Unexpected parameter value for an custom operation. For example, a lowercase value is supplied to the recordSection parameter of the $gpc.getcarerecord operation.
- An invalid date/time value specified in a custom operaion parameter. For example, a invalid timePeriod defined in the timePeriod input parameter to the $gpc.getcarerecord operation.

INVALID_RESOURCE would be used in situations such as the following:
- Resource does to validate against StructureDefinition

REFERENCE_NOT_FOUND describes a scenario where a consumer POSTs a FHIR resource which contains a FHIR reference which are cannot be found.

#### Example: Reference not found #####

For example, when using a 'Book an appointment' API, a consumer includes a reference to a slot which does not exist at the server. The following error details would be returned:

```json
{
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "invalid",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "REFERENCE_NOT_FOUND",
				"display": "FHIR reference not found"
			}]
		},
	    "diagnostics": "Reference to Slot/6 - no such slot exists at the server"
		"location": "/f:Slot/f:6"
	}]
}
```

## Malformed request errors ##

When the server cannot or will not process a request due to an apparent client error then the following `BAD_REQUEST` error SHALL be used to return debug details.

| HTTP code | Issue Severity | Issue type |Spine error code - code    | Spine error code - display |
| --------- | -------------- | ---------- | ------------------------- | ----------- |
| `400`     | error          | invalid    | BAD_REQUEST               | Bad request. |
| `400`     | error          | invalid    | MISSING_OR_INVALID_HEADER | There is a required header missing or invalid. |
| `400`     | error          | structure  | MESSAGE_NOT_WELL_FORMED   | Message not well formed |

MISSING_OR_INVALID_HEADER Spine error codes should be used in the following types of scenario:

- JSON Web Tokens (JWT) claims information is not valid JSON, is null, or has an invalid value
- invalid content in JWT claim (for example, patient identifier when practitioner expected)
- JWT requested_record claim does not match request
- an expected header (for example, `interaction ID header`) is missing or invalid
- InteractionID header does not match request

BAD_REQUEST Spine error codes should be used in the following types of scenario:

- malformed JSON or XML content in request body
- invalid HTTP verb used (for example, using POST to read a patient)

#### Example: Malformed JSON claim in request #####

For example, if the request contained a null `aud` claim in the JWT, then the following error details would be returned:

```json
 {
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "invalid",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "MISSING_OR_INVALID_HEADER",
				"display": "There is a required header missing or invalid."
			}]
		},
		"diagnostics": "Empty JWT aud claim"
	}]
}
```

## Internal server errors ##

When the FHIR server has received an request for an operation or FHIR resource which is not (yet) implemented, then the NOT_IMPLEMENTED Spine error code SHALL be used.

| HTTP code | Issue Severity | Issue type    |Spine error code - code | Spine error code - display |
| --------- | -------------- | ------------- | ---------------------- | ----------- |
| `501`     | error          | not-supported | NOT_IMPLEMENTED        | FHIR resource or operation not implemented at server |

When the error is **unexpected** and the server can't be more specific on the exact nature of the problem then the `INTERNAL_SERVER_ERROR` Spine error code SHALL be used, and diagnostics SHALL be included to provide detail of the error.

| HTTP code | Issue Severity | Issue type |Spine error code - code | Spine error code - display |
| --------- | -------------- | -------    | ---------------------- | ----------- |
| `500`     | error          | processing | INTERNAL_SERVER_ERROR  | Unexpected internal server error. |

#### Example: Unexpected exception #####

For example, an unexpected internal exception is thrown by either an Operation or RESTful API, then the following error details would be returned:

```json
 {
	"resourceType": "OperationOutcome",
	"meta": {
		"profile": ["https://fhir.nhs.uk/STU3/StructureDefinition/Spine-OperationOutcome-1"]
	},
	"issue": [{
		"severity": "error",
		"code": "exception",
		"details": {
			"coding": [{
				"system": "https://fhir.nhs.uk/STU3/ValueSet/Spine-ErrorOrWarningCode-1",
				"code": "INTERNAL_SERVER_ERROR",
				"display": "Internal server error"
			}]
		},
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

## Spine Security Proxy (SSP) errors ##

When the Spine security proxy cannot or will not process a request then one of the following errors SHALL be used to return debug details:

| HTTP code | Issue Severity | Issue type    | Description of error  |
| --------- | -------------- | ------------- | ----------- |
| `403`     | error          | forbidden     | The sender or receiver's ASID is not authorised for this interaction. |
| `405`     | error          | not-supported | Bad request for an unsupported HTTP verb such as TRACE. |
| `415`     | error          | not-supported | A consumer application asked for an unsupported media type. |
| `502`     | error          | transient     | A downstream server is offline. |
| `504`     | error          | transient     | A downstream server timed out. |

#### SSP error example: ASID check failed #####

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "forbidden",
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

#### SSP error example: method not allowed #####

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "not-supported",
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

#### SSP error example: unsupported media type #####

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "not-supported",
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

#### SSP error example: bad gateway #####

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "transient",
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

#### SSP error example: gateway timeout #####

```json
{
	"resourceType": "OperationOutcome",
	"issue": [{
		"severity": "error",
		"code": "transient",
		"diagnostics": "Any further internal debug details i.e. stack trace details etc."
	}]
}
```

## Positive / Informational Outcome codes ##

In addition to errors, in some cases, an OperationOutcome might include a positive outcome or general informational code:

| HTTP code | Issue Severity | Issue type    |Spine error code - code | Spine error code - display |
| --------- | -------------- | ------------- | ---------------------- | ----------- |
| `201`     | information    | informational | RESOURCE_CREATED       | New resource created. |
| `200`     | information    | informational | RESOURCE_DELETED       | Resource removed. |

repository: nhsconnect/FHIR-SpineCore

gha_language: CSS

repo_name: nhsconnect/FHIR-SpineCore


text:
# UserDefaults Example

## Overview

A sample app that uses UserDefaults to persist the user preference for the app. There are two states for the background theme: Midnight and Daylight. By using UserDefaults class, the user preference will be persisted between sessions.

Language: Swift
Language: Swift Assignment for: Udacity - Become an iOS Developer

## Contributing
Feel free to contribute to **UserDefaults Example**.

## Maintainers
m-ahmadian

## License
**UserDefaults Example** is available under the [MIT License]

repository: m-ahmadian/UserDefaults-Example

repo_name: m-ahmadian/UserDefaults-Example


text:
# audio_session

This plugin informs the operating system of the nature of your audio app (e.g. game, media player, assistant, etc.) and how your app will handle and initiate audio interruptions (e.g. phone call interruptions). It also provides access to all of the capabilities of AVAudioSession on iOS and AudioManager on Android, providing for discoverability and configuration of audio hardware.

Audio apps often have unique requirements. For example, when a navigator app speaks driving instructions, a music player should duck its audio while a podcast player should pause its audio. Depending on which one of these three apps you are building, you will need to configure your app's audio settings and callbacks to appropriately handle these interactions.

This plugin can be used both by app developers, to initialise appropriate audio settings for their app, and by plugin authors, to provide easy access to low level features of iOS's AVAudioSession and Android's AudioManager in Dart.

## For app developers

### Configuring the audio session

Configure your app's audio session with reasonable defaults for playing music:

```dart
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration.music());
```

Configure your app's audio session with reasonable defaults for playing podcasts/audiobooks:

```dart
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration.speech());
```

Or use a custom configuration:

```dart
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration(
  avAudioSessionCategory: AVAudioSessionCategory.playAndRecord,
  avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.allowBluetooth,
  avAudioSessionMode: AVAudioSessionMode.spokenAudio,
  avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy,
  avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
  androidAudioAttributes: const AndroidAudioAttributes(
    contentType: AndroidAudioContentType.speech,
    flags: AndroidAudioFlags.none,
    usage: AndroidAudioUsage.voiceCommunication,
  ),
  androidAudioFocusGainType: AndroidAudioFocusGainType.gain,
  androidWillPauseWhenDucked: true,
));
```

Note that iOS (and hence this plugin) provides a single audio session to your app which is shared by all of the different audio plugins you use. If your app uses multiple audio plugins, e.g. any combination of audio recording, text to speech, background audio, audio playing, or speech recognition, then it is possible that those plugins may internally overwrite each other's choice of these global system audio settings, including the ones you set via this plugin. Therefore, it is recommended that you apply your own preferred configuration using audio_session after all other audio plugins have loaded. You may consider asking the developer of each audio plugin you use to provide an option to not overwrite these global settings and allow them be managed externally.

### Activating the audio session

Each time you invoke an audio plugin to play audio, that plugin will activate your app's shared audio session to inform the operating system that your app is now actively playing audio. Depending on the configuration set above, this will also inform other audio apps to either stop playing audio, or possibly continue playing at a lower volume (i.e. ducking). You normally do not need to activate the audio session yourself, however if the audio plugin you use does not activate the audio session, you can activate it yourself:

```dart
// Activate the audio session before playing audio.
if (await session.setActive(true)) {
  // Now play audio.
} else {
  // The request was denied and the app should not play audio
}
```

### Reacting to audio interruptions

When another app (e.g. navigator, phone app, music player) activates its audio session, it similarly may ask your app to pause or duck its audio. Once again, the particular audio plugin you use may automatically pause or duck audio when requested. However, if it does not (or if you have switched off this behaviour), then you can respond to these events yourself by listening to `session.interruptionEventStream`. Similarly, if the audio plugin doesn't handle unplugged headphone events, you can respond to these yourself by listening to `session.becomingNoisyEventStream`.

Observe interruptions to the audio session:

```dart
session.interruptionEventStream.listen((event) {
  if (event.begin) {
    switch (event.type) {
      case AudioInterruptionType.duck:
        // Another app started playing audio and we should duck.
        break;
      case AudioInterruptionType.pause:
      case AudioInterruptionType.unknown:
        // Another app started playing audio and we should pause.
        break;
    }
  } else {
    switch (event.type) {
      case AudioInterruptionType.duck:
        // The interruption ended and we should unduck.
        break;
      case AudioInterruptionType.pause:
        // The interruption ended and we should resume.
      case AudioInterruptionType.unknown:
        // The interruption ended but we should not resume.
        break;
    }
  }
});
```

Observe unplugged headphones:

```dart
session.becomingNoisyEventStream.listen((_) {
  // The user unplugged the headphones, so we should pause or lower the volume.
});
```

Observe when devices are added or removed:

```dart
session.devicesChangedEventStream.listen((event) {
  print('Devices added:   ${event.devicesAdded}');
  print('Devices removed: ${event.devicesRemoved}');
});
```

## For plugin authors

This plugin provides easy access to the iOS AVAudioSession and Android AudioManager APIs from Dart, and provides a unified API to activate the audio session for both platforms:

```dart
// Activate the audio session before playing or recording audio.
if (await session.setActive(true)) {
  // Now play or record audio.
} else {
  // The request was denied and the app should not play audio
  // e.g. a phonecall is in progress.
}
```

On iOS this calls `AVAudioSession.setActive` and on Android this calls `AudioManager.requestAudioFocus`. In addition to calling the lower level APIs, it also registers callbacks and forwards events to Dart via the streams `AudioSession.interruptionEventStream` and `AudioSession.becomingNoisyEventStream`. This allows both plugins and apps to interface with a shared instance of the audio focus request and audio session without conflict.

If a plugin can handle audio interruptions (i.e. by listening to the `interruptionEventStream` and automatically pausing audio), it is preferable to provide an option to turn this feature on or off, since some apps may have specialised requirements. e.g.:

```dart
player = AudioPlayer(handleInterruptions: false);
```

Note that iOS and Android have fundamentally different ways to set the audio attributes and categories: for iOS it is app-wide, while for Android it is per player or audio track. As such, `audioSession.configure()` can and does set the app-wide configuration on iOS immediately, while on Android these app-wide settings are stored within audio_session and can be obtained by individual audio plugins via a Stream. The following code shows how a player plugin can listen for changes to the Android AudioAttributes and apply them:

```dart
audioSession.configurationStream
    .map((conf) => conf?.androidAudioAttributes)
    .distinct()
    .listen((attributes) {
  // apply the attributes to this Android audio track
  _channel.invokeMethod("setAudioAttributes", attributes.toJson());
});
```

All numeric values encoded in `AndroidAudioAttributes.toJson()` correspond exactly to the Android platform constants.

`configurationStream` will always emit the latest configuration as the first event upon subscribing, and so the above code will handle both the initial configuration choice and subsequent changes to it throughout the life of the app.

## iOS setup

This plugin contains APIs for accessing all of your phone's audio hardware.

When submitting your app to the app store, it will detect that this plugin contains microphone-related APIs and will require you to add an `NSMicrophoneUsageDescription` key to your `Info.plist` file explaining why your app needs microphone access.

If your app does indeed use the microphone, you can add this key to your `Info.plist` as follows:

```xml
<key>NSMicrophoneUsageDescription</key>
<string>... explain why the app uses the microphone here ...</string>
```

But if your app doesn't use the microphone, you can pass a build option to this plugin to "compile out" microphone code so that the app store won't ask for the above usage description. To do so, edit your `ios/Podfile` as follows:

```ruby
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)

    # ADD THE NEXT SECTION
    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'AUDIO_SESSION_MICROPHONE=0'
      ]
    end

  end
end
```


text:
# Emericella corrugata Udagawa & Y. Horie, 1976 SPECIES

#### Status
SYNONYM

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

#### Published in
Mycotaxon 4(2): 535 (1976)

#### Original name
Emericella corrugata Udagawa & Y. Horie, 1976

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Eurotiomycetes/Eurotiales/Trichocomaceae/Aspergillus/Aspergillus corrugatus/ Syn. Emericella corrugata/README.md

repo_name: mdoering/backbone


text:
# bh-challenge-4
This is a challenge that we will continue to work on throughout the class
you will be graded on checkpoints as we progress. Make sure to follow all of the instructions and to push your changes up to your branch as we will be pulling down from your branch, running tests, and comparing your results.

### Challenges

(Login creds for now are ```username -<EMAIL_ADDRESS>password - 123```)
1. Look for all of the TODO comments and complete them.
    - Additionally all pages must have two layouts. One for mobile and one for everything else (use media queries)

### Fork this project
1. Add your team members to the repo
1. Have everyone clone this repo down
1. Create a branch per team member ```<lastname>/<firstname>-<feature>```
    - ```git checkout -b hayden/bryce-finish-login-page```
1. Make some changes and commit your work
    - ```git status``` (to see changes)
    - ```git add .``` (to add all changes)
    - ```git commit -m "<yourmessage>"```
1. Push your branch up
    - ```git push origin <nameOfBranch> -u``` (only do it this way for the first time)
    - ```git push``` (do it this way all other times)
1.  Make sure you have Docker CE installed
1. Open up your terminal
1. cd into the project
1. Run ```docker-compose up -d```
1. Go to localhost:3000

gha_language: JavaScript


text:
## STATE

---

### State

- An object internal to a Component describing its... state
- Only available in class-based Components
- Initialized in the constructor
- [Change state](https://codepen.io/berkmolla/pen/rzGBKP) by calling `this.setState(...)`
- State changes trigger component updates
- State changes are [asynchronous](https://codepen.io/berkmolla/pen/mMBjGX?editors=1111)
- A component can't modify the state of other components
- Updating one part of the state results in a shallow merge into the main state object.

---

### But how is state different to props?

---

#### State vs. Props

| _props_ | _state_ |
--- | --- | ---
Can get initial value from parent Component? | Yes | Yes
Can be changed by parent Component? | Yes | No
Can set default values inside Component? | Yes | Yes
Can change inside Component? | No | Yes
Can set initial value for child Components? | Yes | Yes
Can change in child Components? | Yes | No

Taken from [this guide](https://github.com/uberVU/react-guide/blob/master/props-vs-state.md#changing-props-and-state)

---

---

### [Exercise](https://codepen.io/berkmolla/pen/YxvGWz)

---

[Solution](https://codepen.io/berkmolla/pen/mMBGGg)


text:
# ManageIQ Operator

This operator manages the lifecycle of ManageIQ application on a OCP4 cluster.

## Running ManageIQ under operator control.

There are five high level steps for running ManageIQ under operator control:

  + Step 1. Deploy the ManageIQ Custom Resource Definition (CRD) (If it is not already.)
  + Step 2. Set up RBAC
  + Step 3. Run The Operator
  + Step 4. Perform any optional custom configurations
  + Step 5. Run ManageIQ by creating the Custom Resource (CR)

The details of the five steps are as follows:

### Step 1. Deploy the ManageIQ Custom Resource Definition (CRD)

The ManageIQ CRD needs to be defined on the cluster.  If it is already available it does not need to be created again.

To determine if it is already available execute command:

```bash
$ oc get crds | grep manageiqs.manageiq.org
```

If it is not already available it can be deployed with command:

```bash
$ oc create -f deploy/crds/manageiq.org_manageiqs_crd.yaml
```

### Step 2. Set up RBAC

```bash
$ oc create -f deploy/role.yaml
$ oc create -f deploy/role_binding.yaml
$ oc create -f deploy/service_account.yaml
```

### Step 3. Run The Operator

There are three different ways the operator can be run.

+ #### Option 1: Run the latest ManageIQ Operator image from the registry in the cluster

  The default in the operator.yaml is for the latest manageiq-operator image.
  So no change is required. Simply create the operator.

  ```bash
  $ oc create -f deploy/operator.yaml
  ```

+ #### Option 2: Run your own custom ManageIQ image inside the Cluster

  1 - Build your operator image:

    ```bash
    $ operator-sdk build docker.io/<your_username_or_organization>/manageiq-operator:latest
    ```

  2 - Push your new custom image to the registry:

    ```bash
    $ docker push docker.io/<your_username_or_organization>/manageiq-operator:latest
    ```

  3 - Update the operator deployment yaml file with your custom image:

    ```bash
    $ sed -i 's|docker.io/manageiq/manageiq-operator:latest|docker.io/<your_username_or_organization>/manageiq-operator:latest|g' deploy/operator.yaml
    ```

  4 - Run your custom image from the registry:

    ```bash
    $ oc create -f deploy/operator.yaml
    ```

+ #### Option 3: Run locally (on your local laptop/computer, outside of the cluster)

  ```bash
  $ operator-sdk run --local --namespace=<your namespace>
  ```

### Step 4. Perform any optional custom configurations

see the *Customizing the installation* section below

### Step 5. Run ManageIQ by creating the Custom Resource (CR)

```bash
$ oc create -f deploy/crds/manageiq.org_v1alpha1_manageiq_cr.yaml
```

# Further Notes:

## Creating an Operator Bundle

To create the bundle image and push it to an image registry do:

```
$ operator-sdk bundle create docker.io/example/manageiq-bundle:0.0.1 --image-builder podman --directory deploy/olm-catalog/manageiq-operator/0.0.1/ --channels alpha --default-channel alpha
$ podman push docker.io/example/manageiq-bundle:0.0.1
```

## Customizing the installation

### Configuring external Postgres

ManageIQ can be run with an external Postgres server. To do this, create the required OpenShift secret with the correct parameters using the template for [Postgres](templates/app/postgresql-secrets.yaml) and provide those secret names as `databaseSecret` in `manageiq.org_v1alpha1_manageiq_cr.yaml`.

### Configuring external messaging

ManageIQ can be run with an external messaging server. To do this, create the required OpenShift secret with the correct parameters using the template for [messaging](/templates/app/kafka-secrets.yaml) and provide those secret names as `kafkaSecret` in `manageiq.org_v1alpha1_manageiq_cr.yaml`.

### Creating custom TLS secret

If you want to use a custom TLS certificate, one can be created with:

```bash
oc create secret tls tls-secret --cert=tls.crt --key=tls.key` and setting the secret name as `tlsSecret` in `manageiq.org_v1alpha1_manageiq_cr.yaml`.
```

### Configuring the application domain name

Modify `deploy/crds/manageiq.org_v1alpha1_manageiq_cr.yaml` as follows:

**Note:** The domain here will work for a Code Ready Containers cluster. Change it to one that will work for your environment.
Additional parameters are available and documented in the Custom Resource Definition

```yaml
apiVersion: manageiq.org/v1alpha1
kind: ManageIQ
metadata:
  name: miq
spec:
  applicationDomain: "miqproject.apps-crc.testing"
```

### Configuring OpenID-Connect Authentication

To run ManageIQ with OpenID-Connect Authentication, include these steps at **Step 4. Perform any optional custom configurations** from above.

For this example we tested with Keycloak version 11.0

+ Create a secret containing the OpenID-Connect's `Client ID` and `Client Secret`

You pick the name for `<name of your openshift client secret>`
The values for `CLIENT_ID` and `CLIENT_SECRET` come from your Keycloak client definition.

```bash
$ oc create secret generic <name of your openshift client secret>  \
  --from-literal=CLIENT_ID=<your Keycloak client ID>  \
  --from-literal=CLIENT_SECRET=<your Keycloak client secret>
```

+ Modify the Custom Resource (CR) .yaml file to identify your OpenID-Connect provider URL and the secret just created.

Here is an example of `deploy/crds/manageiq.org_v1alpha1_manageiq_cr.yaml` for OpenID-Connect authentication:

```yaml
apiVersion: manageiq.org/v1alpha1
kind: ManageIQ
metadata:
  name: miq
spec:
  applicationDomain: "miqproject.apps-crc.testing"
  httpdAuthenticationType: openid-connect
  oidcProviderURL: https://<your keycloak FQDN>/auth/realms/<your Keycloak Realm>/.well-known/openid-configuration
  oidcClientSecret: <name of your openshift client secret>
```

### Configuring OpenID-Connect with a CA Certificate

To configure OpenID-Connect with a CA certificate follow these steps:

+ Acquire the CA certificate

Precisely how to obtain the CA certificate is beyond the scope of this document. These instructions assume the CA certificate has been retrieved and stored as a file on the local system.

+ Create a secret containing the CA certificate

You pick the name for `<name of your openshift OIDC CA cert>`

```bash
oc create secret generic <name of your openshift OIDC CA cert> --from-file=<path to your OIDC CA cert file>
```

+ Modify the Custom Resource (CR) .yaml file to identify the secret just created.

Add a line for the `oidcCaCertSecret: ` under the `spec:` section:

```yaml
...
spec:
  ...
  oidcCaCertSecret: <name of your openshift OIDC CA cert>
```

### Backup and restore with Velero and Restic

We will assume that Velero and Restic are already installed and working.
The operator adds labels and/or annotations to everything that needs to be backed up so that anyone can easily and quickly backup only what is required.
The operator will add annotations for restic volume backups i.e. `backup.velero.io/backup-volumes: miq-pgdb-volume`.
The backup label key can be configured by adding the following to the CR, but by default it will apply the label `manageiq.org/backup=t` if nothing else is specified.

```yaml
...
spec:
  ...
  backupLabelName: <name of your openshift OIDC CA cert> (default: manageiq.org/backup)
```

Creating a backup is as simple as:
```bash
velero backup create <your backup name> --include-namespaces <your namespace> -l manageiq.org/backup=t
```

Restoring the backup is as simple as:
- Ensure the ManageIQ CRD already exists
```bash
oc new-project <your namespace>
velero restore create --from-backup <your backup name>
```

repository: chessbyte/manageiq-pods

repo_name: chessbyte/manageiq-pods


text:
## v1.10.0

Features:
* Add systemd beaver support

## v1.9.1

Fixes:
* Make cleanup state unique
* Set default key

## v1.9.0

Features:
* Add stunnel scanner

## v1.8.4

* Fix: Log absent flag should notify beaver and restart if changed

## v1.8.3

* Disable salt-minion logging.

## v1.8.2

* Add absent flag on logship macro.

## v1.8.1

* Change default queue_timeout to 60 seconds.
* Provide pillar for redis beaver queue_timeout

## Version 1.8.0

* Add pillar options to alter the clients default activated plugins
* set bootstrap options for Vagrant env

## Version 1.7.7

* Add option to turn udp logging on and off (syslog:udp_enabled)

## Version 1.7.6

* Fix logstash beaver by removing the python-pip requirement that is no
  longer required

## Version 1.7.5

* Add an ability to customize the `redis_namespace`

## Version 1.7.4

* Bugfix: missing trailing comma

## Version 1.7.3

* Add an ability to set the number of `redis_input_threads` that
  logstash consumes from. Default is normally 1, here we have used 6.

## Version 1.7.2

* Add an ability to set `server_name` for the nginx virtual host for
  both the Kibana  and Leasticsearch via a pillar. The default value
  is set via `map.jinja`.

## Version 1.7.1

* Pin python-daemon so that beaver installs successfully.

## Version 1.7.0

* Handle mongodb.log: mark-up and send to statsd

## Version 1.6.0

* Log _grokparsefailure messages to a file for reprocessing (enabled by default)

## Version 1.5.3

* Allow specification of statsd output port/host
* Fix restart bug

## Version 1.5.2

* Bump versions of dependencies: utils-formula; apparmor-formula

## Version 1.5.1

* Fix conf.d management so reload only happens when it changes

## Version 1.5.0

* Add input unix socket handler for log replay
* Add optional archive logging
* Add statsd logging of key events

## Version 1.4.0

* Upgrade to Logstash 1.4.2, via official packages
* Move to conf.d configuration style
* Various bugfixes, particularly around kv{} usage

## Version 1.2.0

* Process auditd logs, including apparmor via auditd

## Version 1.1.0

* Create a basic apparmor profile for logstash and related services.

## Version 1.0.8

* Fix for Allow to enable/disable client monitoring

## Version 1.0.7

* Allow to enable/disable client monitoring. By default it's enabled.

## Version 1.0.6

* Depend on more recent version of python-formula

## Version 1.0.5

* Configurable easticsearch host address and javascript based default for it

## Version 1.0.4

* Ensure all salt related logs (minion,master,keys) are shipped from beaver

## Version 1.0.3

* Updated elasticsearch formula dependency to v1.0.2
* Added logstash.elasticsearch pillar variables defined in map.jinja
* Updated kibana to dynamically use elasticsearch.<domain>:8080 by default
* Renamed elasticsearch references and internalised nginx vhost config
* Added config and patterns for handling auditd log entries
* Fixed dependencies for beaver/logstash config directories to enforce highstate order

## Version 1.0.2

* Fixed YAML layout causing highstate failure

## Version 1.0.1

* Replaced supervisord with upstart for beaver - fixes beaver restart problem
* All server definitions now default to monitoring.local instead of localhost
* Fixed ordering of grok rules in logstash to avoid possible parsing errors
* Ensure syslog generates FQDN hostnames

## Version 1.0.0

* Initial checkin


text:
---
customer: CNES
customer_long: Centre National d'Etudes Spatiales
prime_contractor:
image:
size: small
name: MYRIADE on-board software
title: MYRIADE generic on-board software
domains: Platform
department: SPACE
program: Mini/Micro-satellites
domains: Platform
summary: "Generic on-board platform software for MYRIADE micro-satellite series, for missions such as DEMETER, POLDER, PARASOL, PICARD, MICROSCOPE, TARANIS, …"
---

> __Customer__\: Centre National d'Etudes Spatiales (CNES)

> __Programme__\: Mini/Micro-satellites

> __Supply Chain__\: CNES >  CS Group SPACE

# Context

CS Group responsabilities for MYRIADE generic on-board software are as follows:
* Design, Development, Integration, Maintenance. 2001-2004 for DEMETER, since 2019 for TARANIS

The features are as follows:
* Attitude and orbit management (AOCS)
* TM/TC management
* On-board time management
* Power supply management
* Thermal monitoring management
* Equipment management (acquisitions/commands)
* Solar generator management
* Payload management

# Project implementation

The project objectives are as follows:
* Generic on-board platform software for MYRIADE micro-satellite series, for missions such as DEMETER, POLDER, PARASOL, PICARD, MICROSCOPE, TARANIS, …

The processes for carrying out the project are:
* Validation on software integration bench (BVL) and later on validation on system and AOCS validation bench (BVSS)

# Technical characteristics

The solution key points are as follows:
* Optimization of calculation times in order to respect the sequencing of tasks
* AOCS monitoring
* Mode management
* Cyclic equipment acquisitions and commands
* ….
* Microprocessor: T805

The main technologies used in this project are:

{:class="table table-bordered table-dark"}
| Domain | Technology(ies) |
|--------|----------------|
|Hardware environment(s)|PC, Sun workstation|
|Operating System(s)|Unix and Windows2000/NT|
|Programming language(s)|C|
|Interoperability (protocols, format, APIs)|CCSDS TM and TC|
|Production software (IDE, DEVOPS etc.)|Design modeling with HOOD/STOOD|

{::comment}Abbreviations{:/comment}

*[CLI]: Command Line Interface
*[IaC]: Infrastructure as Code
*[PaaS]: Platform as a Service
*[VM]: Virtual Machine
*[OS]: Operating System
*[IAM]: Identity and Access Management
*[SIEM]: Security Information and Event Management
*[SSO]: Single Sign On
*[IDS]: intrusion detection
*[IPS]: intrusion prevention
*[NSM]: network security monitoring
*[DRMAA]: Distributed Resource Management Application API is a high-level Open Grid Forum API specification for the submission and control of jobs to a Distributed Resource Management (DRM) system, such as a Cluster or Grid computing infrastructure.


text:
# ESLint Changes

ESLint changes is a script that is run by TravisCI for commits and pull
requests. It runs ESLint on the files that were changed and adds the
results to GitHub as a status.

![ESLint Changes status](https://www.dropbox.com/s/ylsxw5exs85aw9f/Screenshot%202016-10-20%2017.20.44.png?dl=1)

## Installation

- Set GITHUB_TOKEN environment variable in Travis to be a GitHub access
  token with repo privileges.
- Install the eslint-changes package from npm during the Travis install
  step:

```
install:
  - npm install eslint-changes
```

- Run the ESLint Changes bin during the Travis script step:

```
script:
  - ./node_modules/.bin/eslint-changes
```

## Details
- ESLint Changes has `eslint: "3.x"` as a peer dependency. That means that
  your project must already have eslint installed and configured.
- ESLint Changes will use any configuration like .eslintrc, .eslintignore,
  plugins or other configurations that are present in the project.
- If you don't like installing eslint-changes from Travis, you can add it
  to your project's package.json and add only the script part to
  .travis.yml. Just be sure to run `npm install --save-dev eslint-changes`.

repository: zylo/eslint-changes

repo_name: zylo/eslint-changes


text:
# java-quickstart-archetype
Java quick start template

## Requirements

* JDK 8 and Maven 3 to build.

## How to use

1. Create Maven project using this archetype.
2. Run `mvn install` command to build.

repository: khasunuma/java-quickstart-archetype

repo_name: khasunuma/java-quickstart-archetype


text:
![GitHub Repo stars](https://img.shields.io/github/stars/opticdev/optic?style=social) ![GitHub contributors](https://img.shields.io/github/contributors-anon/opticdev/optic?style=social) ![npm](https://img.shields.io/npm/dm/@useoptic/openapi-io?style=social) ![license](https://img.shields.io/github/license/opticdev/optic?style=social)

# Optic - the CI tool that improves your APIs
Optic helps you ship a better API by making it easy for teams to use OpenAPI. Screenshot 2023-06-14 at 12 55 11 PM](https://github.com/opticdev/optic/assets/5900338/a446bac2-06b6-40bd-a7d4-42f1cc3621ea)

**Install**
```bash
npm install -g @useoptic/optic
```
or
```bash
sh -c "$(curl -Ls https://install.useoptic.com/install.sh)"
```

---

## Run locally

### Prevent breaking changes using `optic diff`

Optic can detect breaking changes between any two versions of an OpenAPI specification. Optic can lookup the versions using Git tags and branch names so you don't need to copy files around.

**Compares the HEAD to the `main` branch**
```
optic diff openapi.yml --base main --check
```
**Compares two branches by name**
```
optic diff feature/example:openapi.yml develop:main --check
```

[Read Documentation](https://www.useoptic.com/docs/compare-openapi)

## Test the accuracy of your documentation using `optic verify`
It can be difficult to keep an OpenAPI in-sync with your implementation. Optic tests if your OpenAPI is accurate by capturing traffic from your tests and comparing it to the spec.

Think of it like Snapshot testing, but for your API's behavior, with OpenAPI as the snapshot.

```
optic capture openapi.yml https://localhost:8080 --command "npm test"
optic verify openapi.yml
```

When Optic detects a diff, you can correct it manually, or run `optic update` to have Optic figures out exactly which lines of OpenAPI need to be updated and make the changes for you.

[Read Documentation](https://www.useoptic.com/docs/verify-openapi)

## Improve your API design with `optic lint` & `optic diff`
Optic is the first API linter built with the API lifecycle in-mind. When testing your API design, it always considers two versions of your API, for example: the version on the `develop` vs the `latest` release tag. This lets Optic check for all kinds of things [Spectral (and other liners) misses](https://www.useoptic.com/comparisons/spectral) like breaking changes and proper use of your API versioning scheme.

Because Optic understands API change, it can apply your latest API standards to new API endpoints, and a looser set of standards to legacy endpoints that can’t change. [Teams like Snyk use Optic and this approach to govern all their APIs](https://snyk.io/blog/snyk-api-development-shift-left/). With Optic, developers only get actionable feedback from the tool and they don’t have to turn rules off to get CI to pass.

Create an `optic.yml` file in your repo and configure some of our built-in rules like using this template as a starting point:
```yaml
ruleset:
  # Prevent breaking changes
  - breaking-changes:
      # Pick an extension for your work-in-progress operations.
      # Breaking changes wil lbe allowed here
      exclude_operations_with_extension: x-draft
  # Run any existing spectral ruleset
  - spectral:
      # These rules will ony run on things you add to your API
      # Ie new properties, operations, responses, etc.
      added:
        # URLs are supported
        - https://www.apistyleguides.dev/api/url-style-guides/3ba0b4a
        # Local files work too.
      # - ./local-file.js
      # These rules will ony run on everything in the spec (normal spectral)
      always:
        - https://www.apistyleguides.dev/api/url-style-guides/3ba0b4a
  # Enforce consistent cases in your API
  - naming:
      # This will apply the rule to only new names (existing ones will be exempted)
      # Change to always if you want to fail on legacy names
      # Change to addedOrChanged if you want it to run on added or changed parts of the spec
      required_on: added
      # Different names for different parts of the spec
      # options = "snake_case" "camelCase" "Capital-Param-Case" "param-case" "PascalCase"
      requestHeaders: Capital-Param-Case
      responseHeaders: param-case
      properties: Capital-Param-Case
      pathComponents:  param-case
      queryParameters: snake_case
  # Require your OpenAPI has examples, and that those examples match the schema
  - examples:
      # Turn on/off the parts of the spec that need examples
      require_request_examples: true
      require_response_examples: true
      require_parameter_examples: true
      # (optional) allow certain operations do not need examples
      exclude_operations_with_extension: x-legacy-api

```

[Read documentation](https://www.useoptic.com/docs/add-to-project)

## Start running in CI
To start using Optic in CI, [follow this guide](https://www.useoptic.com/docs/add-to-project). We provide template workflows for GitHub and GitLab to help you run Optic as a CI check:

```
optic ci setup
```

## Resources
- [Read our full documentation here](https://www.useoptic.com/docs)
- [Need help? Book office hours](https://calendly.com/optic-onboarding/optic-office-hours)
- [Join us on Discord](https://discord.com/invite/t9hADkuYjP)

### License
Optic is MIT Licensed

### Telemetry
Optic collects telemetry which is used to help understand how to improve the product. For example, this usage data helps to debug issues and to prioritize features and improvements based on usage. The usage of our telemetry data falls under our [privacy policy](https://www.useoptic.com/privacy-policy). While this information does help us build a great product, we understand that not everyone wants to share their usage data. If you would like to disable telemetry you can add an environment variable that will opt out of sending usage data:

`OPTIC_TELEMETRY_LEVEL=off` - disables telemetry (both usage, and error reporting)
`OPTIC_TELEMETRY_LEVEL=error` - disables telemetry (only usage data is sent)

repository: opticdev/optic

gha_language: TypeScript

repo_name: opticdev/optic


text:
# BoB: Betting on Builders! (Beta)

[![Build Status](https://travis-ci.org/MaximilianoFelice/bob.svg?branch=master)](https://travis-ci.org/MaximilianoFelice/bob)
[![Code Climate](https://codeclimate.com/github/MaximilianoFelice/bob/badges/gpa.svg)](https://codeclimate.com/github/MaximilianoFelice/bob)
[![Test Coverage](https://codeclimate.com/github/MaximilianoFelice/bob/badges/coverage.svg)](https://codeclimate.com/github/MaximilianoFelice/bob/coverage)
[![Gem Version](https://badge.fury.io/rb/bob-builder.svg)](http://badge.fury.io/rb/bob-builder)

## Overview

Bob is a Builder tool which helps you build *as complex as you want* instances for your Rails applications.

## Philosophy

BoB is intended to help you generate quite extensive amounts of valid data for your applications in a quick, easy, and handleable way. It's basic philosophy states that you should populate your models with **as much and complex information as possible**, thus getting the following advantages:

- **Generating more complex usage and testing cases:** Basically, the more data you have, the more chances of finding bugs and malformations you get.

- **Getting real, full loaded models:** It will be easier for you to get an example on how your application will behave when it comes to a higher use level.

For getting this results, BoB supports itself in two pilars:

#### Data Randomness

I strongly recommend using BoB with a *random data generation tool* such as [Faker](https://github.com/stympy/faker), letting you uncouple yourself from static *(and boring!)* values, and start getting more variable results. Having no control in what the real input will be in your model is the most user-like behaviour you can encounter. You will be surprised on how many bugs you can find by addind randomness to your code!

#### Fully generated data

Though it can be hard to mantain all generators updated all the time, they show their real potential while you get them the knowledge to build full instances of your models. **BoB uses real ActiveRecord instances of your models** so you can get everything from your *custom validations* to *any internal logic and methods you might need to use*.

## Installation

Get it with:

```ruby
gem 'bob-builder'
```
or:
```ruby
gem install bob-builder
```

## Usage

BoB starts with a simple interface, so you can tell it how to build instances for your models with:

```ruby
class UserBuilder < Bob::Builder
  meta_build :user do |user|
    user.name = Faker::Name.first_name
    user.email = Faker::Internet.email
  end
end
```

Then, you can generate an **unsaved** instance of your class with:
```ruby
UserBuilder.user
```

And if you want a **saved** instance of your class you can:
```ruby
UserBuilder.user save: true
```
or just:
```ruby
UserBuilder.user!
```

### Parameter passing

You can pass as many parameters as you want to your builder. As a convention **all parameters MUST have the same name at both definition and calling time**, and **the first parameter will always be the building instance.** That let us use idempotently these definitions:

```ruby
class MagicBuilder < Bob::Builder
  meta_build :magician do |magician, myTrick, andThen, options: {}|
    # Magician making some magic
  end
end
```

or

```ruby
class MagicBuilder < Bob::Builder
  meta_build :magician do |magician, myTrick = nil, options, *args|
    # Magician making some magic
  end
end
```

As you can see, **parameter order and type doesn't matter as long as you keep the building instance first**. As told before, *it comes with the cost of parameter naming*, but it turns out to be a quite fair tradeoff.

### Special parameters

BoB gets some context special parameters that you can both manually set and get inside your builders. Those are:

- **save (defaults to: false):** Indicates to BoB if it has to *save* the current instance.
- **log (defaults to: false):** Indicates to BoB wether to log or not the current action.
- **log_with (defaults to: ->(msg){puts msg}):** Indicates the logging function to be used. It's expecting a lambda.
- **qty (defaults to: 1):** Indicates how many instances BoB will create of the current model.

### Multiple instance creation

BoB lets you create multiple instances at the same time, returning an array of those created instances:

```ruby
UserBuilder.user! qty: 40
```

### Custom named Models

As you have seen, **BoB inferrs the model class name on the symbol which identifies it**, but there might be some cases when you need to specify several builders for some class, or just you might want to set a different name. Then, you can use:

```ruby
class UserBuilder < Bob::Builder
  meta_build :admin, User do |admin|
    # Admin magic...
  end

  meta_build :super_admin, User do |sa|
    # SuperAdmin magic..
  end

  meta_build :user do |user|
    # Simple, user magic
  end
end
```

### For Each

Here is when it gets interesting. BoB provides an special *for_each* block, which can be used to *do something while another instance is builded*. Here's an example:

```ruby
class UserBuilder < Bob::Builder
  for_each :user do |user|
    sendToDeliveryOffice user
  end
end
```
That might seem a little bit trivial, *but it's really useful for actions wich need to be done post instance building*. Besides, you can also **build associated instances:**

```ruby
class UserBuilder < Bob::Builder
  for_each :user, build: Comment, qty: 20, rnd_qty: true, min: 0 do |user, comment, description: ''|
    comment.user = user
    comment.description = description
  end
end
```

That really seems more useful. By the way, **BoB ensures to execute those callbacks in the order that they're defined**.

### Data randomness

By the way, BoB adds a set of random distribution tools for your system. Specifically, you can now use:

```ruby
Math.triangleRandom
```

To get a lineary decreasing probability of getting a value from 0 to 25. That is what BoB uses to generate its lower-flavored number randomness. You can, of course, indicate *min* and *max* values to triangleRandom.

## Contributing

Both issue reporting and pull requests are accepted!

## License

You guess it! MIT Open Source!

repository: MaximilianoFelice/bob

repo_name: MaximilianoFelice/bob


text:
# Pricing Plans | Free Trials

### Consider using an opt-in free trial if the company, product or service is new or less established.

Users are less include to purchase product or service when the company or the offer is recent or less established.

You can use opt-in free trials to convince more users to sign up for it.

// Todo: Complement description

### Consider using a free trial length of 14 days.

The trial length should be directly related to the complexity of the product. It should be defined taking into account both the time a user needs to setup in order to use it and
the time required to obtain meaningful results from it. The longer it takes to achieve these, the longer free trial duration should be.

For most business, the recommended duration is 14 days. Using 30 days or more, does not provide a sense of urgency for the user to become a paying subscriber. It should be used
when the program is complex or has a difficult learning curve. Some products use free trials with a 7 day duration which might be too limiting depending on the features and usage of the product.

// Todo: Complement description

### Always define limitations for free trials that give users an opportunity to experience a useful portion of the value being offered by the product.

Any limitations set for a free trial should allow the user to still be able to enjoy part of the value of the product. However, the entire value of the product should
not be given away for free.

// Todo: Complement description