text:
@article{giri_trans-ethnic_2019,
 abstract = {© 2018, The Author(s), under exclusive licence to Springer Nature America, Inc. In this trans-ethnic multi-omic study, we reinterpret the genetic architecture of blood pressure to identify genes, tissues, phenomes and medication contexts of blood pressure homeostasis. We discovered 208 novel common blood pressure SNPs and 53 rare variants in genome-wide association studies of systolic, diastolic and pulse pressure in up to 776,078 participants from the Million Veteran Program (MVP) and collaborating studies, with analysis of the blood pressure clinical phenome in MVP. Our transcriptome-wide association study detected 4,043 blood pressure associations with genetically predicted gene expression of 840 genes in 45 tissues, and mouse renal single-cell RNA sequencing identified upregulated blood pressure genes in kidney tubule cells.},
 author = {Giri, A. and Hellwege, J.N. and Keaton, J.M. and Park, J. and Qiu, C. and Warren, H.R. and Torstenson, E.S. and Kovesdy, C.P. and Sun, Y.V. and Wilson, O.D. and Robinson-Cohen, C. and Roumie, C.L. and Chung, C.P. and Birdwell, K.A. and Damrauer, S.M. and DuVall, S.L. and Klarin, D. and Cho, K. and Wang, Y. and Evangelou, E. and Cabrera, C.P. and Wain, L.V. and Shrestha, R. and Mautz, B.S. and Akwo, E.A. and Sargurupremraj, M. and Debette, S. and Boehnke, M. and Scott, L.J. and Luan, J. and Zhao, J.H. and Willems, S.M. and Thériault, S. and Shah, N. and Oldmeadow, C. and Almgren, P. and Li-Gao, R. and Verweij, N. and Boutin, T.S. and Mangino, M. and Ntalla, I. and Feofanova, E. and Surendran, P. and Cook, J.P. and Karthikeyan, S. and Lahrouchi, N. and Liu, C. and Sepúlveda, N. and Richardson, T.G. and Kraja, A. and Amouyel, P. and Farrall, M. and Poulter, N.R. and Laakso, M. and Zeggini, E. and Sever, P. and Scott, R.A. and Langenberg, C. and Wareham, N.J. and Conen, D. and Palmer, C.N.A. and Attia, J. and Chasman, D.I. and Ridker, P.M. and Melander, O. and Mook-Kanamori, D.O. and van der Harst, P. and Cucca, F. and Schlessinger, D. and Hayward, C. and Spector, T.D. and Jarvelin, M.R. and Hennig, B.J. and Timpson, N.J. and Wei, W.Q. and Smith, J.C. and Xu, Y. and Matheny, M.E. and Siew, E.E. and Lindgren, C. and Herzig, K.H. and Dedoussis, G. and Denny, J.C. and Psaty, B.M. and Howson, J.M.M. and Munroe, P.B. and Newton-Cheh, C. and Caulfield, M.J. and Elliott, P. and Gaziano, J.M. and Concato, J. and Wilson, P.W.F. and Tsao, P.S. and Velez Edwards, D.R. and Susztak, K. and O’Donnell, C.J. and Hung, A.M. and Edwards, T.L.},
 doi = {10.1038/s41588-018-0303-9},
 issn = {1546-1718},
 journal = {Nature Genetics},
 month = {January},
 number = {1},
 pages = {51--62},
 title = {Trans-ethnic association study of blood pressure determinants in over 750,000 individuals},
 volume = {51},
 year = {2019}
}

repository: ChrisOldmeadow/academic-kickstart

repo_name: ChrisOldmeadow/academic-kickstart


text:
// Package cephalohierarchy provides hierarchical clustering
package cephalohierarchy

import (
	"strings"

	"github.com/paulidealiste/Cephalopod/cephalobjects"
	"github.com/paulidealiste/Cephalopod/cephalodistance"
	"github.com/paulidealiste/Cephalopod/cephalolambdas"
	"github.com/paulidealiste/Cephalopod/cephalostructures"
	"github.com/paulidealiste/Cephalopod/cephaloutils"
)

// HierarchicalClustering performs said clustering and returns its graph representation
func HierarchicalClustering(input *cephalobjects.DataStore, linkage cephalobjects.LinkageCriteria) cephalostructures.Graph {
	cephalodistance.CalculateDistanceMatrix(input, cephalobjects.Euclidean)
	hs := constructStack(input.Distance, linkage)
	hg := constructGraph(hs)
	return hg
}

func constructGraph(hirstck cephalostructures.Stack) cephalostructures.Graph {
	hirgraph := cephalostructures.Graph{}
	var hirnodes []string
	var prevnodes []string
	for !hirstck.Empty() {
		po := hirstck.Pop()
		if t, ok := po.(cephalobjects.DataMatrix); ok { // Two-return syntax fot type assertion
			for _, dex := range t.Variables {
				hirgraph.InsertNode(dex, dex, po)
				hirnodes = append(hirnodes, dex)
			}
			ne := cephalolambdas.Beakdiff(hirnodes, prevnodes)
			od := cephalolambdas.Beakdiff(prevnodes, ne)
			prevnodes = hirnodes
			weaveEdge(&hirgraph, ne, od)
		}
	}
	return hirgraph
}

func weaveEdge(gp *cephalostructures.Graph, new []string, old []string) {
	cat := gp.GraphCatalog()
	for _, nnode := range new {
		bfufn := func(s string) bool { return strings.Contains(s, nnode) }
		cntns := cephalolambdas.Beakfilter(old, bfufn)
		shrtr := cephaloutils.ShortestString(cntns)
		if cat[shrtr] != nil {
			gp.DirectedEdge(cat[shrtr], cat[nnode])
		}
	}
}

func constructStack(dmc cephalobjects.DataMatrix, linkage cephalobjects.LinkageCriteria) cephalostructures.Stack {
	squarePusher := cephalostructures.Stack{}
	squarePusher.Push(dmc)
	for len(dmc.Matrix[0]) > 1 {
		dmm := cephaloutils.DataMatrixMin(dmc, true, false)
		transformDataMatrix(&dmc, dmm, linkage)
		squarePusher.Push(dmc)
	}
	return squarePusher
}

func transformDataMatrix(dmc *cephalobjects.DataMatrix, dmm cephalobjects.DataMatrixExtreme, linkage cephalobjects.LinkageCriteria) {
	pilaf, nlab := connectNearestLabels(dmc.Variables, dmm.RowName, dmm.ColName)
	inmat := make([][]float64, len(pilaf))
	ingrep := make(map[string]cephalobjects.GrepFold)
	for i, rowname := range pilaf {
		inmat[i] = make([]float64, len(pilaf))
		for j, colname := range pilaf {
			if i == j {
				inmat[i][j] = 0.0
			} else if rowname == nlab {
				inmat[i][j] = linkageFunction(nlab, colname, dmc, linkage)
			} else if colname == nlab {
				inmat[i][j] = linkageFunction(nlab, rowname, dmc, linkage)
			} else {
				inmat[i][j] = grepValueFromMatrix(rowname, colname, dmc)
			}
			ingrep[rowname+" "+colname] = cephalobjects.GrepFold{Row: i, Col: j}
		}
	}
	dmc.Variables = pilaf
	dmc.Matrix = inmat
	dmc.Grep = ingrep
}

func grepValueFromMatrix(rowname string, colname string, dmco *cephalobjects.DataMatrix) float64 {
	cukey := rowname + " " + colname
	cupos := dmco.Grep[cukey]
	return dmco.Matrix[cupos.Row][cupos.Col]
}

func linkageFunction(nlab string, alab string, dmco *cephalobjects.DataMatrix, linkage cephalobjects.LinkageCriteria) float64 {
	var dist float64
	targets := strings.Split(nlab, ",")
	slv1 := grepValueFromMatrix(targets[0], alab, dmco)
	slv2 := grepValueFromMatrix(targets[1], alab, dmco)
	switch linkage {
	case cephalobjects.Single:
		dist = singleComparator(slv1, slv2)
	case cephalobjects.Complete:
		dist = completeComparator(slv1, slv2)
	case cephalobjects.Average:
		dist = averageComparator(slv1, slv2)
	}
	return dist
}

func singleComparator(slv1 float64, slv2 float64) float64 {
	if slv1 <= slv2 {
		return slv1
	}
	return slv2
}

func completeComparator(slv1 float64, slv2 float64) float64 {
	if slv1 > slv2 {
		return slv1
	}
	return slv2
}

func averageComparator(slv1 float64, slv2 float64) float64 {
	return (slv1 + slv2) / 2
}

func connectNearestLabels(varlabs []string, rc string, cc string) ([]string, string) {
	inlabs := make([]string, 0)
	nstrg := rc + "," + cc
	for _, lab := range varlabs {
		if lab != rc && lab != cc {
			inlabs = append(inlabs, lab)
		} else if lab == cc {
			inlabs = append(inlabs, nstrg)
		}
	}
	return inlabs, nstrg
}

license: MIT

repository: paulidealiste/Cephalopod

license_type: permissive

repo_name: paulidealiste/Cephalopod

branch_name: refs/heads/master

extension: go


text:
SUMMARY = "GL widget library for Athena and Motif"
HOMEPAGE = "http://mesa3d.sourceforge.net/"

inherit debian-package
PV = "8.0.0"

LICENSE = "SGI-1"
LIC_FILES_CHKSUM = "file://README;beginline=22;md5=79f8740be8fa859f7e489a288be7fa2a"

DEPENDS = "virtual/libgl virtual/libx11 libxt motif"

DEBIAN_PATCH_TYPE = "quilt"

inherit autotools pkgconfig

EXTRA_OECONF = "--enable-motif"

do_install_append() {
	# Remove unused files
	rm -f ${D}${includedir}/GL/*P.h
}

DEBIANNAME_${PN} = "lib${PN}1-mesa"
DEBIANNAME_${PN}-dev = "lib${PN}1-mesa-dev"
RPROVIDES_${PN} += "lib${PN}-mesa"
RPROVIDES_${PN}-dev += "lib${PN}-mesa-dev"

repository: manut/meta-combo

repo_name: manut/meta-combo

branch_name: refs/heads/morty

gha_language: BitBake

extension: bb


text:
@article{richardson_identifying_2002,
 author = {Richardson, A. J.},
 doi = {10.1093/plankt/24.12.1289},
 file = {Richardson - 2002 - Identifying characteristic chlorophyll a profiles .pdf:/Users/ric325/Zotero/storage/6SPX8DB5/Richardson - 2002 - Identifying characteristic chlorophyll a profiles .pdf:application/pdf},
 issn = {14643774},
 journal = {Journal of Plankton Research},
 language = {en},
 month = {December},
 number = {12},
 pages = {1289--1303},
 title = {Identifying characteristic chlorophyll a profiles in the coastal domain using an artificial neural network},
 url = {https://academic.oup.com/plankt/article-lookup/doi/10.1093/plankt/24.12.1289},
 urldate = {2019-10-24},
 volume = {24},
 year = {2002}
}

extension: bib


text:
# This is a TI specific version of the compat-wireless recipe using a
# compat-wireless package created from the TI Systems Tested mac80211 releases.
#
# This approach has been taken to simplify the packaging of a compat-wireless
# release for WL12xx on the PSP/SDK from TI.
#
# This approach avoids the need to take the latest compat-wireless package
# from public sources and patching this onto the SDK along with additional
# patches that are currently being up-streamed.
# These later patches are essential to address defects that have been found
# during systems testing. This approach avoids the need to apply many
# patches (100’s) which is unmanageable.

include ti-compat-wireless.inc

PR = "r1"
COMPAT_WIRELESS_VERSION = "2011-11-01-r4-11"

SRC_URI = "https://gforge.ti.com/gf/download/frsrelease/719/5185/ti-compat-wireless-wl12xx-${COMPAT_WIRELESS_VERSION}.tgz \
	"

SRC_URI[md5sum] = "6024aed75f36f0cc380c93e747d7761c"
SRC_URI[sha256sum] = "2c5369f396641e97697558fd0812cc8c4dfa99ca22f2306c7cebd2cfcc76e0a1"


text:
DESCRIPTION = "A sophisticated Numeric Processing Package for Python"
SECTION = "devel/python"
LICENSE = "PSF & LLNL"
LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e"

PR = "ml3"

SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz"
S = "${WORKDIR}/Numeric-${PV}"

inherit distutils

SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093"
SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258"

repository: ExorEmbedded/exor-workspace

repo_name: ExorEmbedded/exor-workspace

gha_language: Python


text:
// MIT License
//
// Copyright (c) 2021 TFG Co
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

package requestadapters

import (
	"encoding/json"
	"fmt"
	"time"

	"github.com/topfreegames/maestro/internal/core/entities/operation"
	api "github.com/topfreegames/maestro/pkg/api/v1"
	_struct "google.golang.org/protobuf/types/known/structpb"
	"google.golang.org/protobuf/types/known/timestamppb"
)

func FromOperationsToListOperationsResponses(entities []*operation.Operation) ([]*api.ListOperationItem, error) {
	responses := make([]*api.ListOperationItem, len(entities))
	for i, entity := range entities {
		response, err := fromOperationToListOperationResponse(entity)
		if err != nil {
			return nil, err
		}
		responses[i] = response
	}

	return responses, nil
}

func FromOperationToResponse(entity *operation.Operation) (*api.Operation, error) {
	apiOperation := &api.Operation{
		Id:             entity.ID,
		DefinitionName: entity.DefinitionName,
		SchedulerName:  entity.SchedulerName,
		CreatedAt:      timestamppb.New(entity.CreatedAt),
	}

	var err error
	apiOperation.Status, err = entity.Status.String()
	if err != nil {
		return nil, fmt.Errorf("failed to convert operation entity to response: %w", err)
	}

	apiOperation.ExecutionHistory = fromOperationEventsToResponse(entity.ExecutionHistory)

	if len(entity.Input) > 0 {
		var inputMap map[string]interface{} = make(map[string]interface{})
		err = json.Unmarshal(entity.Input, &inputMap)
		if err != nil {
			return nil, fmt.Errorf("failed to convert input to struct: %w", err)
		}

		apiOperation.Input, err = _struct.NewStruct(inputMap)
		if err != nil {
			return nil, fmt.Errorf("failed to convert input to response struct: %w", err)
		}
	}

	if entity.Lease != nil {
		apiOperation.Lease = &api.Lease{Ttl: entity.Lease.Ttl.UTC().Format(time.RFC3339)}
	}

	return apiOperation, nil
}

func fromOperationToListOperationResponse(entity *operation.Operation) (*api.ListOperationItem, error) {
	apiOperation := &api.ListOperationItem{
		Id:             entity.ID,
		DefinitionName: entity.DefinitionName,
		SchedulerName:  entity.SchedulerName,
		CreatedAt:      timestamppb.New(entity.CreatedAt),
	}

	var err error
	apiOperation.Status, err = entity.Status.String()
	if err != nil {
		return nil, fmt.Errorf("failed to convert operation entity to response: %w", err)
	}

	if entity.Lease != nil {
		apiOperation.Lease = &api.Lease{Ttl: entity.Lease.Ttl.UTC().Format(time.RFC3339)}
	}

	return apiOperation, nil
}

func fromOperationEventsToResponse(entities []operation.OperationEvent) []*api.OperationEvent {
	apiOperationEvents := make([]*api.OperationEvent, 0, len(entities))
	for _, entity := range entities {
		apiOperationEvents = append(apiOperationEvents, fromOperationEventToResponse(entity))
	}

	return apiOperationEvents
}

func fromOperationEventToResponse(entity operation.OperationEvent) *api.OperationEvent {
	return &api.OperationEvent{
		CreatedAt: timestamppb.New(entity.CreatedAt),
		Event:     entity.Event,
	}
}

repository: topfreegames/maestro

repo_name: topfreegames/maestro

branch_name: refs/heads/main

gha_license_id: MIT

gha_language: Go


text:
@GCVF_PREVIOUS_FILE@

if(NOT ("${CMAKE_C_COMPILER_ABI}" STREQUAL "") AND NOT ("@CMAKE_C_COMPILER_ABI@" STREQUAL ""))
    if(NOT "${CMAKE_C_COMPILER_ABI}" STREQUAL "@CMAKE_C_COMPILER_ABI@")
       set(PACKAGE_VERSION "${PACKAGE_VERSION} (@CMAKE_C_COMPILER_ABI@)")
       set(PACKAGE_VERSION_UNSUITABLE TRUE)
       return()
    endif()
endif()

if(NOT "${CMAKE_C_COMPILER_TARGET}" STREQUAL "@CMAKE_C_COMPILER_TARGET@")
   set(PACKAGE_VERSION "${PACKAGE_VERSION} (@CMAKE_C_COMPILER_TARGET@)")
   set(PACKAGE_VERSION_UNSUITABLE TRUE)
   return()
endif()
# todo anything for a C ABI beyond just "basic"?

repository: rpavlik/cmake-modules

repo_name: rpavlik/cmake-modules

gha_language: CMake

extension: in


text:
package historicScrapers

import (
	"strconv"
	"strings"
	"time"

	"news-scrapers-workers-go/models"

	"github.com/gocolly/colly"
	log "github.com/sirupsen/logrus"

	uuid "github.com/nu7hatch/gouuid"
)

type AbcHistoricScraper struct {
	Config models.ScrapingConfig
}

func (scraper AbcHistoricScraper) ScrapDate(date time.Time) []models.NewScraped {
	newsScraped := []models.NewScraped{}
	for i := 1; i < 80; i++ {
		time.Sleep(3 * time.Second)
		newsScraped = append(newsScraped, scraper.ScrapDatePage(date, i))
	}
	return newsScraped
}

// http://hemeroteca.abc.es/nav/Navigate.exe/hemeroteca/madrid/abc/2019/04/10/003.html
func (scraper AbcHistoricScraper) ScrapDatePage(date time.Time, page int) models.NewScraped {
	formatedDate := date.Format("20060102")
	formatedPage := strconv.Itoa(page) //pad.Left(strconv.Itoa(page), 3, "0")
	//https://www.abc.es/archivo/periodicos/abc-madrid-20201003-1.html
	url := "https://www.abc.es/archivo/periodicos/abc-madrid-" + formatedDate + "-" + formatedPage + ".html"
	result := models.NewScraped{}
	// Instantiate default collector

	c := colly.NewCollector(
	)
	c.Limit(&colly.LimitRule{
		Parallelism: 1,
		RandomDelay: 5 * time.Second,
	})
	content := ""

	// On every a element which has href attribute call callback
	c.OnHTML("p", func(e *colly.HTMLElement) {
		if strings.Contains(e.Text, "ABC") && !strings.Contains(e.Text, "{") {
			content = content + "\n" + e.Text
		}

	})

	// Before making a request print "Visiting ..."
	c.OnRequest(func(r *colly.Request) {
		log.Info("Visiting", r.URL.String())
	})

	c.OnError(func(_ *colly.Response, err error) {
		log.Info("Something went wrong:", err)
	})

	c.Visit(url)

	result.ScraperID = scraper.Config.ScraperId
	result.FullPage = true
	result.NewsPaper = "abc"
	result.Url = url
	result.Date = date
	result.Content = content

	u, _ := uuid.NewV4()
	result.ID = u.String()
	return result
}

repository: news-scrapers/news-scraper-workers-go

repo_name: news-scrapers/news-scraper-workers-go


text:
@Article{Chapter5_large_deform_FEM,
  hyphenation	  = {german},
  author	  = {Bathe K.-J., Chaudhary A.},
  title		  = {On Finite Element Analysis of Large Deformation Frictional Contact Problems},
  journaltitle	  = {Unification of Finite Element Methods},
  volume	  = {97},
  date		  = {1984}
}

@Article{First_AEM,
  author	  = {Meguro K., Tagel-Din H.},
  title		  = {Applied Element Method for Structural Analysis: Theory and Application for Linear Materials},
  journaltitle	  = {Structural Eng. Earthquake Eng. JCSE},
  volume	  = {17},
  date		  = {2000}
}

@Online{Blog_python_AEM,
	author 	= {Kharel Prashidha},
	title 	= {Formulating the Applied Element Method: Linear 2D (Part I)},
	month 	= {March},
	year 	= {2014},
	url 	= {http://prashidha.blogspot.co.za/2014/03/formulating-applied-element-method.html}
}

@Article{Brick_Masonry_wall,
  author	  = {Bishnu Hari Pandey, Kimiro Meguro},
  title		  = {SIMULATION OF BRICK MASONRY WALL BEHAVIOR UNDER IN-
  PLANE LATERAL LOADING USING APPLIED ELEMENT METHOD},
  journaltitle	  = {13th World Conference on Earthquake Engineering},
  date		  = {2004}
}

@misc{fem_sum,
	author 	= {Daniel N. Wilke},
	title 	= {Short overview of finite element method for linear elasticity},
	date 	= {2015}
}


text:
package fish

import (
	"fmt"
	"os"
	"os/exec"
	"path/filepath"

	"github.com/ActiveState/cli/internal/constants"
	"github.com/ActiveState/cli/internal/errs"
	"github.com/ActiveState/cli/internal/fileutils"
	"github.com/ActiveState/cli/internal/logging"
	"github.com/ActiveState/cli/internal/osutils"
	"github.com/ActiveState/cli/internal/osutils/user"
	"github.com/ActiveState/cli/internal/output"
	"github.com/ActiveState/cli/internal/subshell/sscommon"
	"github.com/ActiveState/cli/pkg/project"
)

var escaper *osutils.ShellEscape

func init() {
	escaper = osutils.NewBashEscaper()
}

// SubShell covers the subshell.SubShell interface, reference that for documentation
type SubShell struct {
	binary string
	rcFile *os.File
	cmd    *exec.Cmd
	env    map[string]string
	errs   chan error
}

const Name string = "fish"

// Shell - see subshell.SubShell
func (v *SubShell) Shell() string {
	return Name
}

// Binary - see subshell.SubShell
func (v *SubShell) Binary() string {
	return v.binary
}

// SetBinary - see subshell.SubShell
func (v *SubShell) SetBinary(binary string) {
	v.binary = binary
}

// WriteUserEnv - see subshell.SubShell
func (v *SubShell) WriteUserEnv(cfg sscommon.Configurable, env map[string]string, envType sscommon.RcIdentification, _ bool) error {
	rcFile, err := v.RcFile()
	if err != nil {
		return errs.Wrap(err, "RcFile failure")
	}

	env = sscommon.EscapeEnv(env)
	return sscommon.WriteRcFile("fishrc_append.fish", rcFile, envType, env)
}

func (v *SubShell) CleanUserEnv(cfg sscommon.Configurable, envType sscommon.RcIdentification, _ bool) error {
	rcFile, err := v.RcFile()
	if err != nil {
		return errs.Wrap(err, "RcFile failure")
	}

	if err := sscommon.CleanRcFile(rcFile, envType); err != nil {
		return errs.Wrap(err, "Failed to remove %s from rcFile", envType)
	}

	return nil
}

func (v *SubShell) RemoveLegacyInstallPath(cfg sscommon.Configurable) error {
	rcFile, err := v.RcFile()
	if err != nil {
		return errs.Wrap(err, "RcFile-failure")
	}

	return sscommon.RemoveLegacyInstallPath(rcFile)
}

func (v *SubShell) WriteCompletionScript(completionScript string) error {
	homeDir, err := user.HomeDir()
	if err != nil {
		return errs.Wrap(err, "IO failure")
	}

	fpath := filepath.Join(homeDir, ".config/fish/completions", constants.CommandName+".fish")
	err = fileutils.WriteFile(fpath, []byte(completionScript))
	if err != nil {
		return errs.Wrap(err, "Could not write completions script")
	}

	return nil
}

func (v *SubShell) RcFile() (string, error) {
	homeDir, err := user.HomeDir()
	if err != nil {
		return "", errs.Wrap(err, "IO failure")
	}

	return filepath.Join(homeDir, ".config/fish/config.fish"), nil
}

func (v *SubShell) EnsureRcFileExists() error {
	rcFile, err := v.RcFile()
	if err != nil {
		return errs.Wrap(err, "Could not determine rc file")
	}

	return fileutils.TouchFileUnlessExists(rcFile)
}

// SetupShellRcFile - subshell.SubShell
func (v *SubShell) SetupShellRcFile(targetDir string, env map[string]string, namespace *project.Namespaced) error {
	env = sscommon.EscapeEnv(env)
	return sscommon.SetupShellRcFile(filepath.Join(targetDir, "shell.fish"), "fishrc_global.fish", env, namespace)
}

// SetEnv - see subshell.SetEnv
func (v *SubShell) SetEnv(env map[string]string) error {
	v.env = env
	return nil
}

// Quote - see subshell.Quote
func (v *SubShell) Quote(value string) string {
	return escaper.Quote(value)
}

// Activate - see subshell.SubShell
func (v *SubShell) Activate(proj *project.Project, cfg sscommon.Configurable, out output.Outputer) error {
	var shellArgs []string
	var directEnv []string

	// available project files require more intensive modification of shell envs
	if proj != nil {
		env := sscommon.EscapeEnv(v.env)
		var err error
		if v.rcFile, err = sscommon.SetupProjectRcFile(proj, "fishrc.fish", "", env, out, cfg, false); err != nil {
			return err
		}

		shellArgs = append(shellArgs,
			"-i", "-C", fmt.Sprintf("source %s", v.rcFile.Name()),
		)
	} else {
		directEnv = sscommon.EnvSlice(v.env)
	}

	cmd := sscommon.NewCommand(v.Binary(), shellArgs, directEnv)
	v.errs = sscommon.Start(cmd)
	v.cmd = cmd
	return nil
}

// Errors returns a channel for receiving errors related to active behavior
func (v *SubShell) Errors() <-chan error {
	return v.errs
}

// Deactivate - see subshell.SubShell
func (v *SubShell) Deactivate() error {
	if !v.IsActive() {
		return nil
	}

	if err := sscommon.Stop(v.cmd); err != nil {
		return err
	}

	v.cmd = nil
	return nil
}

// Run - see subshell.SubShell
func (v *SubShell) Run(filename string, args ...string) error {
	return sscommon.RunFuncByBinary(v.Binary())(osutils.EnvMapToSlice(v.env), filename, args...)
}

// IsActive - see subshell.SubShell
func (v *SubShell) IsActive() bool {
	return v.cmd != nil && (v.cmd.ProcessState == nil || !v.cmd.ProcessState.Exited())
}

func (v *SubShell) IsAvailable() bool {
	rcFile, err := v.RcFile()
	if err != nil {
		logging.Error("Could not determine rcFile: %s", err)
		return false
	}
	return fileutils.FileExists(rcFile)
}

repository: ActiveState/cli

repo_name: ActiveState/cli


text:
@PACKAGE_INIT@

set(RELOC_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")
set(RELOC_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@")
set_and_check(RELOC_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@")

repository: jgoppert/CMake

repo_name: jgoppert/CMake


text:
@proceedings{ws-2010-textgraphs,
    title = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    editor = "Banea, Carmen  and
      Moschitti, Alessandro  and
      Somasundaran, Swapna  and
      Zanzotto, Fabio Massimo",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2300",
}
@inproceedings{chen-ji-2010-graph,
    title = "Graph-Based Clustering for Computational Linguistics: A Survey",
    author = "Chen, Zheng  and
      Ji, Heng",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2301",
    pages = "1--9",
}
@inproceedings{goncalo-oliveira-gomes-2010-towards,
    title = "Towards the Automatic Creation of a {W}ordnet from a Term-Based Lexical Network",
    author = "Gon{\c{c}}alo Oliveira, Hugo  and
      Gomes, Paulo",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2302",
    pages = "10--18",
}
@inproceedings{germann-etal-2010-investigation-influence,
    title = "An Investigation on the Influence of Frequency on the Lexical Organization of Verbs",
    author = "Germann, Daniel Cerato  and
      Villavicencio, Aline  and
      Siqueira, Maity",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2303",
    pages = "19--23",
}
@inproceedings{de-cao-etal-2010-robust,
    title = "Robust and Efficient Page Rank for Word Sense Disambiguation",
    author = "De Cao, Diego  and
      Basili, Roberto  and
      Luciani, Matteo  and
      Mesiano, Francesco  and
      Rossi, Riccardo",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2304",
    pages = "24--32",
}
@inproceedings{wieling-nerbonne-2010-hierarchical,
    title = "Hierarchical Spectral Partitioning of Bipartite Graphs to Cluster Dialects and Identify Distinguishing Features",
    author = "Wieling, Martijn  and
      Nerbonne, John",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2305",
    pages = "33--41",
}
@inproceedings{enright-2010-character,
    title = "A Character-Based Intersection Graph Approach to Linguistic Phylogeny",
    author = "Enright, Jessica",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2306",
    pages = "42--46",
}
@inproceedings{hancock-2010-spectral,
    title = "Spectral Approaches to Learning in the Graph Domain",
    author = "Hancock, Edwin",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2307",
    pages = "47",
}
@inproceedings{gornerup-karlgren-2010-cross,
    title = "Cross-Lingual Comparison between Distributionally Determined Word Similarity Networks",
    author = {G{\"o}rnerup, Olof  and
      Karlgren, Jussi},
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2308",
    pages = "48--54",
}
@inproceedings{biemann-2010-co,
    title = "Co-Occurrence Cluster Features for Lexical Substitutions in Context",
    author = "Biemann, Chris",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2309",
    pages = "55--59",
}
@inproceedings{ambwani-davis-2010-contextually,
    title = "Contextually-Mediated Semantic Similarity Graphs for Topic Segmentation",
    author = "Ambwani, Geetu  and
      Davis, Anthony",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2310",
    pages = "60--68",
}
@inproceedings{archer-2010-mulling,
    title = "{M}u{LL}in{G}: {M}ulti{L}evel Linguistic Graphs for Knowledge Extraction",
    author = "Archer, Vincent",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2311",
    pages = "69--73",
}
@inproceedings{castro-jorge-pardo-2010-experiments,
    title = "Experiments with {CST}-Based Multidocument Summarization",
    author = "Castro Jorge, Maria Luc{\'\i}a  and
      Pardo, Thiago",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2312",
    pages = "74--82",
}
@inproceedings{amancio-etal-2010-distinguishing,
    title = "Distinguishing between Positive and Negative Opinions with Complex Network Features",
    author = "Amancio, Diego Raphael  and
      Fabbri, Renato  and
      Oliveira Jr., Osvaldo Novais  and
      Nunes, Maria das Gra{\c{c}}as Volpe  and
      Costa, Luciano da Fontoura",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2313",
    pages = "83--87",
}
@inproceedings{zontone-etal-2010-image,
    title = "Image and Collateral Text in Support of Auto-Annotation and Sentiment Analysis",
    author = "Zontone, Pamela  and
      Boato, Giulia  and
      Hare, Jonathon  and
      Lewis, Paul  and
      Siersdorfer, Stefan  and
      Minack, Enrico",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2314",
    pages = "88--92",
}
@inproceedings{tatzl-waldhauser-2010-aggregating,
    title = "Aggregating Opinions: Explorations into Graphs and Media Content Analysis",
    author = "Tatzl, Gabriele  and
      Waldhauser, Christoph",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2315",
    pages = "93--97",
}
@inproceedings{fukumoto-etal-2010-eliminating,
    title = "Eliminating Redundancy by Spectral Relaxation for Multi-Document Summarization",
    author = "Fukumoto, Fumiyo  and
      Sakai, Akina  and
      Suzuki, Yoshimi",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2316",
    pages = "98--102",
}
@inproceedings{fagerlund-etal-2010-computing,
    title = "Computing Word Senses by Semantic Mirroring and Spectral Graph Partitioning",
    author = "Fagerlund, Martin  and
      Merkel, Magnus  and
      Eld{\'e}n, Lars  and
      Ahrenberg, Lars",
    booktitle = "Proceedings of {T}ext{G}raphs-5 - 2010 Workshop on Graph-based Methods for Natural Language Processing",
    month = jul,
    year = "2010",
    address = "Uppsala, Sweden",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/W10-2317",
    pages = "103--107",
}

repository: emorynlp/nlprankings

repo_name: emorynlp/nlprankings

gha_license_id: NOASSERTION

gha_language: TeX


text:
@online{connect,
	Author = {Senchalabs},
	Title = {Connect - High-quality middleware for node.js},
	Url = {http://www.senchalabs.com/connect/},
	Urldate = {2013-03-01}
}

@online{sails,
	Author = {Balderash},
	Title = {Sails | The future of API development},
	Url = {http://sails.org},
	Urldate = {2013-03-01}
}

@online{towerjs,
	Author = {Lance Pollard},
	Title = {Tower.js - Full Stack Web Framework for Node.js and the Browser},
	Url = {http://towerjs.org/},
	Urldate = {2013-03-16}
}

@online{Expressjs,
	Author = {TJ Holowaychuk},
	Title = {Express - node.js web application framework},
	Url = {http://expressjs.com/},
	Urldate = {2013-02-27}
}

@online{Geddy,
	Author = {Geddy},
	Title = {Geddy | The original MVC Web framework for Node - a simple, structured way to create full stack javascript applications},
	Url = {http://geddyjs.org/},
	Urldate = {2013-02-27}
}

@online{RoR,
	Author = {David Heinemeier Hansson},
	Title = {Ruby on Rails},
	Url = {http://rubyonrails.org}
}

@phdthesis{REST,
	Author = {Fielding, Roy Thomas},
	School = {University of California, Irvine},
	Title = {Architectural Styles and the Design of Network-based Software Architectures},
	Subtitle = {Representational State Transfer},
	Chapter = {5},
	Pages = {76-106},
	Type = {Doctoral dissertation},
	ISBN = {0-599-87118-0},
	Note = {AAI9980887},
	Url = {http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm},
	Year = {2000}
}

@online{ROCA,
	Author = {ROCA},
	Title = {Resource-oriented Client Architecture},
	Url = {http://roca-style.org},
	Urldate = {2013-03-06}
}

@online{TilkovSlides,
	Author = {Stefan Tilkov},
	Title = {Building large web-based systems: 10 Recommendations},
	Url = {http://bit.ly/VZzu9i},
	Urldate = {2013-03-12}
}

@online{Vagrant,
	Author = {HashiCorp},
	Title = {Vagrant},
	Url = {http://www.vagrantup.com/},
	Urldate = {2013-03-06}
}

@online{JSGL,
	Author = {Airbnb},
	Title = {Airbnb JavaScript Style Guide (Updated)},
	Url = {https://github.com/hsr-ba-ajw-2013/javascript-style-guide},
	Urldate = {2013-06-10}
}

@online{JSGLOrigin,
	Author = {Airbnb},
	Title = {Airbnb JavaScript Style Guide (Updated)},
	Url = {https://github.com/airbnb/javascript},
	Urldate = {2013-06-10}
}

@online{JSGLDe,
	Author = {Airbnb},
	Title = {Airbnb JavaScript Style Guide (Updated)},
	Url = {https://github.com/timofurrer/javascript-style-guide},
	Urldate = {2013-06-10}
}

@online{Airbnb,
	Author = {Airbnb},
	Title = {Airbnb JavaScript Style Guide},
	Url = {https://github.com/airbnb/javascript},
	Urldate = {2013-03-10}
}

@online{Gamification,
	Author = {Sebastian Deterding And Dan Dixon And Rilla Khaled And Lennart E. Nacke},
	Title = {Gamification: Toward a Definition},
	Url = {http://hci.usask.ca/uploads/219-02-Deterding,-Khaled,-Nacke,-Dixon.pdf},
	Urldate = {2013-03-11}
}

@online{Roomie,
	Author = {Urban Dictionary},
	Title = {Urban Dictionary: roomie},
	Url = {http://roomie.urbanup.com/1433981},
	Urldate = {2013-03-11}
}

@online{TodoMVC,
	Author = {Addy Osmani And Sindre Sorhus},
	Title = {TodoMVC},
	Url = {http://addyosmani.github.com/todomvc/},
	Urldate = {2013-03-11}
}

@book{SecPatterns06,
	Author = {Markus Schumacher and Eduardo Fernandez-Buglioni and Duane Hybertson and Frank Buschmann and Peter Sommerlad},
	Edition = {1},
	Isbn = {978-0-470-85884-4},
	Publisher = {John Wiley \& Sons, Ltd},
	Timestamp = {2012.05.22},
	Title = {Security Patterns - Integrating Security and Systems Engineering},
	Totalpages = {602},
	Year = {2006}
}

@inbook{RBAC,
	Chapter = {8.2},
	Crossref = {SecPatterns06},
	Pages = {249-252},
	Title = {Role Based Access Control}
}

@online{HTTPRequest,
	Author = {R. Fielding UC Irvine And J. Gettys Compaq/W3C And J. Mogul Compaq And H. Frystyk W3C/MIT And L. Masinter Xerox And P. Leach Microsoft And T. Berners-Lee W3C/MIT},
	Title = {Hypertext Transfer Protocol -- HTTP/1.1},
	Url = {http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5},
	Urldate = {2013-03-13}
}

@online{SSL,
	Author = {A. Freier And P. Karlton, Netscape Communications And P. Kocher, Independent Consultant},
	Title = {The Secure Sockets Layer (SSL) Protocol Version 3.0},
	Url = {http://tools.ietf.org/html/rfc6101},
	Urldate = {2013-06-11}
}

@online{wget,
	Author = {Free Software Foundation, Inc.},
	Title = {GNU Wget},
	Url = {http://www.gnu.org/software/wget/},
	Urldate = {2013-03-13}
}

@online{curl,
	Author = {Haxx},
	Title = {curl and libcurl},
	Url = {http://curl.haxx.se/},
	Urldate = {2013-03-13}
}

@online{SemanticHTML,
	Author = {Mark Pilgrim},
	Title = {Dive Into HTML 5 - Semantics},
	Url = {http://diveintohtml5.info/semantics.html},
	Urldate = {2013-03-13}
}

@online{SASS,
	Author = {Hampton Catlin And Nathan Weizenbaum And Chris Eppstein},
	Title = {SASS - Syntactically Awesome Stylesheets},
	Url = {http://sass-lang.com/},
	Urldate = {2013-03-13}
}

@online{LESS,
	Author = {Alexis Sellier},
	Title = {LESS - The Dynamic Stylesheet Language},
	Url = {http://lesscss.org/},
	Urldate = {2013-03-13}
}

@online{CoffeeScript,
	Author = {Jeremy Ashkenas},
	Title = {CoffeeScript},
	Url = {http://coffeescript.org/},
	Urldate = {2013-03-13}
}

@online{HTML5HistoryAPI,
	Author = {Mark Pilgrim},
	Title = {Dive Into HTML 5 - History API},
	Url = {http://diveintohtml5.info/history.html},
	Urldate = {2013-03-13}
}

@online{HTML5Forms,
	Author = {Mark Pilgrim},
	Title = {Web Forms - Dive Into HTML 5},
	Url = {http://diveintohtml5.info/forms.html},
	Urldate = {2013-06-05}
}

@online{HTTPBasicAuth,
	Author = {J. Franks Northwestern University And P. Hallam-Baker Verisign, Inc. And J. Hostetler AbiSource, Inc. And S. Lawrence Agranat Systems, Inc. And P. Leach Microsoft Corporation And A. Luotonen Netscape Communications Corporation And L. Stewart Open Market, Inc.},
	Title = {HTTP Authentication: Basic and Digest Access Authentication},
	Url = {http://tools.ietf.org/html/rfc2617},
	Urldate = {2013-03-13}
}

@online{ResponsiveDesign,
	Author = {Wikipedia},
	Title = {Responsive Webdesign},
	Url = {http://de.wikipedia.org/w/index.php?title=Responsive_Webdesign&oldid=119168819},
	Urldate = {2013-03-13}
}

@online{Sinatra,
	Author = {Blake Mizerany},
	Title = {Sinatra},
	Url = {http://www.sinatrarb.com/},
	Urldate = {2013-03-16}
}

@online{RubyOnRails,
	Author = {David Heinemeier Hansson},
	Title = {Ruby on Rails},
	Url = {http://rubyonrails.org/},
	Urldate = {2013-03-16}
}

@book{HackersDict,
	title = {The New Hackers Dictionary},
	edition = {3},
	author = {Eric S. Raymond},
	publisher = {Eric S. Raymond},
	year={1996},
	edition={1},
	isbn={978-0262680929},
	totalpages={547},
	timestamp={1996.11.29}
}

@inbook{syntacticsugar,
	title = {Syntactic Sugar},
	pages = {432},
	crossref = {HackersDict}
}

@online{SailsPrototyp,
	Author = {Michael Weibel},
	Title = {Sails.js Prototyp},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/tree/prototype},
	Urldate = {2013-03-14}
}

@online{ExpressjsPrototyp,
	Author = {Michael Weibel},
	Title = {Express.js Prototyp},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/tree/prototype-express},
	Urldate = {2013-03-14}
}

@online{ExpressjsPrototypAppjs,
	Author = {Michael Weibel},
	Title = {Express.js Prototyp - app.js},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/prototype-express/app.js},
	Urldate = {2013-03-16}

}

@online{SocketIO,
	Author = {Guillermo Rauch},
	Title = {Socket.IO: the cross-browser WebSocket for realtime apps.},
	Url = {http://socket.io/},
	Urldate = {2013-03-15}
}

@online{BOSH,
	Author = {Wikipedia},
	Title = {Bidirectional Streams Over HTTP},
	Url = {http://en.wikipedia.org/w/index.php?title=BOSH&oldid=555755444},
	Urldate = {2013-03-15}
}

@online{Waterline,
	Author = {Balderash},
	Title = {Waterline ORM for Sails.js},
	Url = {https://github.com/balderdashy/sails/tree/master/lib/waterline},
	Urldate = {2013-03-15}
}

@online{SailsjsModelDokumentation,
	Author = {Balderash},
	Title = {Sails.js Model Dokumentation},
	Url = {https://github.com/balderdashy/sails/wiki/Models},
	Urldate = {2013-03-15}
}

@online{SailsjsModelAssociations,
	Author = {Balderash},
	Title = {Diskussion über Beziehungen zwischen Models in Sails.js},
	Url = {https://github.com/balderdashy/sails/issues/124},
	Urldate = {2013-03-16}
}

@online{Sequelize,
	Author = {Sascha Depold},
	Title = {Sequelize -- A multi-dialect Object-Relational-Mapper for Node.JS},
	Url = {http://www.sequelizejs.com},
	Urldate = {2013-03-16}
}

@online{SpiderMonkey,
	Author = {Mozilla Developer Network and individual contributors},
	Title = {SpiderMonkey},
	Url = {https://developer.mozilla.org/en-US/docs/SpiderMonkey},
	Urldate = {2013-03-16}
}

@online{V8JavaScript,
	Author = {Google},
	Title = {V8 JavaScript Engine},
	Url = {https://code.google.com/p/v8/},
	Urldate = {2013-03-16}
}

@online{nodejs,
	Author = {Joyent, Inc.},
	Title = {node.js},
	Url = {http://nodejs.org/},
	Urldate = {2013-03-16}
}

@online{Derby,
	Author = {CodeParty},
	Title = {Derby},
	Url = {http://derbyjs.com/},
	Urldate = {2013-03-16}
}

@online{CanIUseWebsockets,
	Author = {Alexis Deveria},
	Title = {Can I use... Support tables for HTML5, CSS3, etc},
	Url = {http://caniuse.com/#feat=websockets},
	Urldate = {2013-03-16}
}

@online{CanIUseDateInput,
	Author = {Alexis Deveria},
	Title = {Can I use Date/time input types},
	Url = {http://caniuse.com/input-datetime},
	Urldate = {2013-06-05}
}

@online{ChaiJS,
	Author = {Jake Luer And individual contributors},
	Title = {Chai},
	Url = {http://chaijs.com},
	Urldata = {2013-03-14}
}

@online{RUP,
	Author = {IBM},
	Title = {IBM Rational Unified Process (RUP)},
	Url = {http://www-01.ibm.com/software/awdtools/rup/},
	Urldata = {2013-03-17}
}

@online{JSCover,
	Author = {tntim96},
	Title = {JSCover},
	Url = {http://tntim96.github.com/JSCover/},
	Urldate = {2013-03-17}
}

@online{RoadmapSequelize,
	Author = {Sascha Depold},
	Title = {Roadmap für Sequelize.js},
	Url = {https://github.com/sequelize/sequelize#roadmap},
	Urldate = {2013-03-17}
}

@online{Mocha,
	Author = {TJ Holowaychuk},
	Title = {Mocha},
	Url = {http://visionmedia.github.com/mocha/},
	Urldate = {2013-03-17}
}

@online{TJH,
	Author = {TJ Holowaychuk},
	Title = {TJ Holowaychuck},
	Url = {http://tjholowaychuk.com/},
	Urldate = {2013-04-14}
}

@online{TJH_ComponentStructure,
	Author = {TJ Holowaychuk},
	Title = {Components},
	Url = {http://tjholowaychuk.com/post/27984551477/components},
	Urldate = {2013-03-20}
}

@online{IZS_ComponentStructure,
	Author = {Isaac Z. Schlueter},
	Title = {TJ Holowaychuk: Components},
	Url = {http://blog.izs.me/post/27987129912/tj-holowaychuk-components},
	Urldate = {2013-03-20}
}

@online{NPM,
	Author = {Joyent},
	Title = {Node Package Manager},
	Url = {https://npmjs.org/},
	Urldate = {2013-03-21}
}

@online{proofofconcept,
	Author = {Wikipedia},
	Title = {Proof Of Concept},
	Url = {https://de.wikipedia.org/w/index.php?title=Proof_of_Concept&oldid=116970837},
	Urldate = {2013-03-24}
}

@online{JSHint,
	Author = {JSHint Community},
	Title = {JSHint, a JavaScript Code Quality Tool},
	Url = {http://www.jshint.com/},
	Urldate = {2013-03-26}
}

@online{ConnectSession,
	Author = {Senchalabs},
	Title = {Connect - session},
	Url = {http://www.senchalabs.org/connect/middleware-session.html},
	Urldate = {2013-03-30}
}

@online{RoomiesMiddlewareHttp,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/middleware/http.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/middleware/http.js},
	Urldate = {2013-03-30}
}

@online{RoomiesPackageJson,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/package.json at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/package.json},
	Urldate = {2013-06-09}
}

@online{RoomiesSassBorderRadiusMixin,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/sass/\_buttons.scss at master · hsr-ba-ajw-2013/BA · GitHub},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/sass/_buttons.scss#L4},
	Urldate = {2013-06-05}
}

@online{NVM,
	Author = {Tim Caswell},
	Title = {Node Version Manager -- Simple bash script to manage multiple active node.js Versions},
	Url = {https://github.com/creationix/nvm},
	Urldate = {2013-03-30}
}

@online{PostgreSQL,
	Author = {PostgreSQL Global Development Group},
	Title = {PostgreSQL: The world's most advanced open source database},
	Url = {http://www.postgresql.org/},
	Urldate = {2013-03-30}
}

@online{SQLite,
	Author = {SQLite Development Team},
	Title = {SQLite Home Page},
	Url = {http://www.sqlite.org},
	Urldate = {2013-03-30}
}

@online{GNUmake,
	Title = {GNU Make},
	Author = {Free Software Foundation},
	Url = {http://www.gnu.org/software/make/},
	Urldate = {2013-03-30}
}

@online{git,
	Title = {Git},
	Author = {Git Development Team},
	Url = {http://git-scm.com/},
	Urldate = {2013-03-30}
}

@online{Virtualbox,
	Title = {Oracle VM Virtualbox},
	Author = {Oracle},
	Url = {http://virtualbox.org/},
	Urldate = {2013-03-30}
}
@online{make,
	Author = {Free Software Foundation, Inc.},
	Title = {GNU Make},
	Url = {http://www.gnu.org/software/make/},
	Urldate = {2013-03-30}
}

@online{RoomiesMakefile,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/Makefile at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/Makefile},
	Urldate = {2013-03-30}
}

@online{RoomiesTravisYML,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/.travis.yml at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/.travis.yml},
	Urldate = {2013-03-30}
}

@online{ThesisMakefile,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA-Dokumentation/Makefile at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA-Dokumentation/blob/master/Makefile},
	Urldate = {2013-03-30}
}

@online{TravisCI,
	Author = {Travis CI},
	Title = {Travis CI - Free Hosted Continuous Integration Platform for the Open Source Community},
	Url = {https://travis-ci.org/},
	Urldate = {2013-03-30}
}

@online{OpenID,
	Author = {OpenID Foundation},
	Title = {OpenID Foundation website},
	Url = {http://openid.net/},
	Urldate = {2013-04-07}
}

@online{MVC,
	Author = {Wikpedia},
	Title = {Model-View-Controller},
	Url = {http://en.wikipedia.org/w/index.php?title=Model%E2%80%93view%E2%80%93controller&oldid=558414142},
	Urldate = {2013-04-08}
}

@online{Backbonejs,
	Author = {DocumentCloud},
	Title = {Backbone.js},
	Url = {http://backbonejs.org/},
	Urldate = {2013-04-08}
}

@online{BackbonejsHistory,
	Author = {DocumentCloud},
	Title = {Backbone.js - History},
	Url = {http://backbonejs.org/#History-start},
	Urldate = {2013-06-05}
}

@online{Handlebars,
	Author = {Yehuda Katz},
	Title = {Handlebars.js: Minimal Templating on Steroids},
	Url = {http://handlebarsjs.com/},
	Urldate = {2013-04-08}
}

@online{Winston,
	Author = {Flatiron},
	Title = {Winston - a multi-transport async logging library for node.js},
	Url = {https://github.com/flatiron/winston},
	Urldate = {2013-04-08}
}

@online{CSRF,
	Author = {Wikipedia},
	Title = {Cross-Site Request Forgery},
	Url = {http://en.wikipedia.org/w/index.php?title=Cross-site_request_forgery&oldid=557162317},
	Urldate = {2013-04-08}
}

@online{nodevalidator,
	Author = {Chris O'Hara},
	Title = {Node-Validator - string validation and sanitization in JavaScript},
	Url = {https://github.com/chriso/node-validator},
	Urldate = {2013-04-08}
}

@online{Passportjs,
	Author = {Jared Hanson},
	Title = {Passport - Simple, unobtrusive authentication for Node.js},
	Url = {http://passportjs.org/},
	Urldate = {2013-04-08}
}

@online{passport-facebook,
	Author = {Jared Hanson},
	Title = {jaredhanson/passport-facebook},
	Url = {https://github.com/jaredhanson/passport-facebook},
	Urldate = {2013-06-04}
}

@book{DesignPatterns94,
	Author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides},
	Edition = {1},
	Isbn = {0-201-63361-2},
	Publisher = {Addison-Wesley},
	Timestamp = {1994.10.21},
	Title = {Design Patterns: Elements of Reusable Object-Oriented Software},
	Totalpages = {395},
	Year = {1994}}

@inbook{StrategyPattern,
	Chapter = {2},
	Crossref = {DesignPatterns94},
	Title = {Strategy Pattern}
}

@online{SeparationOfConcerns,
	Author = {Wikipedia},
	Title = {Separation of Concerns},
	Url = {http://en.wikipedia.org/w/index.php?title=Separation_of_concerns&oldid=543036001},
	Urldate = {2013-04-09}
}

@online{ExpressjsCSRF,
	Author = {TJ Holowaychuk},
	Title = {CSRF Middleware for Express.js},
	Url = {http://expressjs.com/api.html#csrf},
	Urldate = {2013-04-10}
}

@online{MDN,
	Author = {Mozilla},
	Title = {Mozilla Developer Network},
	Url = {https://developer.mozilla.org/},
	Urldate = {2013-03-14}
}

@online{mdnEval,
	Author = {Mozilla},
	Title = {eval - JavaScript | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval},
	Urldate = {2013-06-09}
}

@online{css-box-shadow,
	Author = {Mozilla},
	Title = {box-shadow | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow},
	Urldate = {2013-06-05}
}

@online{css-gradient,
	Author = {Mozilla},
	Title = {Using CSS gradients - Web developer guide | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_gradients},
	Urldate = {2013-06-05}
}

@book{Crockford:2008:JGP:1386753,
 Author = {Crockford, Douglas},
 Title = {JavaScript: The Good Parts},
 Year = {2008},
 Isbn = {0596517742},
 Publisher = {O'Reilly Media, Inc.},
}

@online{JSModulePattern,
	Author = {Ben Cherry},
	Title = {JavaScript Module Pattern},
	Url = {http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html},
	Urldate = {2013-04-14}
}

@online{NodejsAPIDocs,
	Author = {Node.js},
	Title = {Node.js API Documentation},
	Url = {http://nodejs.org/api/},
	Urldate = {2013-04-14}
}

@online{NodeTuts,
	Author = {Pedro Teixeira},
	Title = {Node Tuts -- Node.js Video Tutorials},
	Url = {http://nodetuts.com/},
	Urldate = {2013-04-14}
}

@online{Nodeguide,
	Author = {Felix Geisendörfer},
	Title = {Felix's Node.js Guide},
	Url = {http://nodeguide.com/},
	Urldate = {2013-04-14}
}

@online{MasteringNode,
	Author = {TJ Holowaychuck},
	Title = {Mastering Node - Open Source Nodejs eBook},
	Url = {http://visionmedia.github.com/masteringnode/},
	Urldate = {2013-04-14}
}

@online{sqlinjection,
	Author = {Wikipedia},
	Title={SQL-Injection},
	Url = {http://de.wikipedia.org/w/index.php?title=SQL-Injection&oldid=118022262},
	Urldate = {2013-04-14}
}

@book{resig2012secrets,
  Title = {Secrets of the Javascript Ninja},
  Author = {Resig, J. and Bibeault, B.},
  Isbn = {9781933988696},
  Series = {Manning Pubs Co Series},
  Url = {http://books.google.ch/books?id=ab8CPgAACAAJ},
  Year = {2012},
  Publisher = {Manning Publications Company}
}

@online{ExpressGuide,
	Author = {TJ Holowaychuck},
	Title = {Express -- Guide},
	Url = {http://expressjs.com/guide.html},
	Urldate = {2013-04-14}
}

@online{ExpressExamples,
	Author = {TJ Holowaychuck},
	Title = {Express Examples},
	Url = {https://github.com/visionmedia/express/tree/master/examples},
	Urldate = {2013-04-14}
}

@online{BackboneFundamentals,
	Author = {Addy Osmani},
	Title = {Developing Backbone.js Applications},
	Url = {http://addyosmani.github.io/backbone-fundamentals/},
	Urldate = {2013-04-14}
}

@online{browserifymiddleware,
	Author = {ForbesLindesay},
	Title = {SQL-ForbesLindesay/browserify-middleware},
	Url = {https://github.com/ForbesLindesay/browserify-middleware},
	Urldate = {2013-04-14}
}

@online{commonjsmodules,
	Author = {ForbesLindesay},
	Title = {CommonJS Modules},
	Url = {http://www.commonjs.org/specs/modules/1.0/},
	Urldate = {2013-04-14}
}

@online{gzip,
	Author = {Wikipedia},
	Title = {gzip},
	Url = {http://de.wikipedia.org/w/index.php?title=Gzip&oldid=116452018},
	Urldate = {2013-04-14}
}

@online{requirejs,
	Author = {jrburke},
	Title = {RequireJS},
	Url = {http://requirejs.org/},
	Urldate = {2013-04-14}
}

@online{HistoryAPI,
	Author = {Mozilla},
	Title = {Manipulating the browser history},
	Url = {https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history},
	Urldate = {2013-04-15}
}

@online{CoolURIsTBL,
	Author = {Sir Tim Berners-Lee},
	Title = {Cool URIs don't change},
	Url = {http://www.w3.org/Provider/Style/URI.html},
	Urldate = {2013-04-15}
}

@online{HMAC,
	Author = {Wikipedia},
	Title = {Hash-based message authentication code},
	Url = {http://en.wikipedia.org/w/index.php?title=Hash-based_message_authentication_code&oldid=557186427},
	Urldate = {2013-04-26}
}

@online{Barefoot,
	Author = {Manuel Alabor},
	Title = {Barefoot makes code sharing between browser and server reality. Write your application once and run it on both ends of the wire},
	Url = {https://github.com/swissmanu/barefoot},
	Urldate = {2013-06-04}
}

@online{BarefootView,
	Author = {Manuel Alabor},
	Title = {Barefoot.View Source Documentation},
	Url = {http://swissmanu.github.io/barefoot/docs/files/lib/view-js.html},
	Urldate = {2013-06-04}
}

@online{BarefootDetermineRuntimeEnvironment,
	Author = {Manuel Alabor},
	Title = {barefoot/lib/index.js},
	Url = {https://github.com/swissmanu/barefoot/blob/master/lib/index.js#L68},
	Urldate = {2013-06-10}
}

@online{RoomiesExampleConfig,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/config.example.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/config.example.js},
	Urldate = {2013-06-04}
}

@online{barefootFactoryjs,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/barefootFactory.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/barefootFactory.js},
	Urldate = {2013-06-04}
}

@online{appjs,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/app.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/app.js},
	Urldate = {2013-06-04}
}
@online{20min,
	Author = {20 Minuten AG},
	Title = {20 Minuten Online - community},
	Url = {http://www.20min.ch/community/login/},
	Urldate = {2013-06-04}
}

@online{oauth,
	Author = {oauth.net},
	Title = {OAuth Community Site},
	Url = {http://oauth.net/},
	Urldate = {2013-06-04}
}

@online{facebooklogin,
	Author = {Facebook},
	Title = {Facebook Login - Facebook-Entwickler},
	Url = {https://developers.facebook.com/docs/facebook-login/},
	Urldate = {2013-06-04}
}

@online{facebook-profilepicture,
	Author = {Facebook},
	Title = {Pictures - Facebook-Entwickler},
	Url = {https://developers.facebook.com/docs/reference/api/using-pictures/},
	Urldate = {2013-06-04}
}

@online{facebook-authdialog,
	Author = {Facebook},
	Title = {Launching the Improved Auth Dialog- Facebook Developers},
	Url = {https://developers.facebook.com/blog/post/633/},
	Urldate = {2013-06-04}
}

@online{paypal,
	Author = {PayPal},
	Title = {PayPal - online kaufen und verkaufen},
	Url = {https://www.paypal.com},
	Urldate = {2013-06-04}
}

@online{URI,
	Author = {Wikipedia},
	Title = {Uniform Resource Identifier},
	Url = {http://de.wikipedia.org/w/index.php?title=Uniform_Resource_Identifier&oldid=118628990},
	Urldate = {2013-06-05}
}

@online{URL,
	Author = {Wikipedia},
	Title = {Uniform Resource Locator},
	Url = {http://de.wikipedia.org/w/index.php?title=Uniform_Resource_Locator&oldid=119183264},
	Urldate = {2013-06-05}
}

@online{AJAX,
	Author = {Wikipedia},
	Title = {AJAX (Programmierung)},
	Url = {http://de.wikipedia.org/w/index.php?title=Ajax_(Programmierung)&oldid=118744583},
	Urldate = {2013-06-06}
}

@online{WSDL,
	Author = {Wikipedia},
	Title = {Web Services Description Language},
	Url = {http://de.wikipedia.org/w/index.php?title=Web_Services_Description_Language&oldid=118933852},
	Urldate = {2013-06-05}
}

@online{SOAP,
	Author = {Wikipedia},
	Title = {Simple Object Access Protocol},
	Url = {http://de.wikipedia.org/w/index.php?title=SOAP&oldid=118454026},
	Urldate = {2013-06-05}
}

@online{communityApiDefinition,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/api/community/index.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/api/community/index.js},
	Urldate = {2013-06-05}
}

@online{StackoverflowPUTvsPOST,
	Author = {Stack Overflow Community},
	Title = {http - PUT vs POST in REST},
	Url = {http://stackoverflow.com/questions/630453/put-vs-post-in-rest},
	Urldate = {2013-06-05}
}

@online{roomiesRouter,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/router.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/router.js},
	Urldate = {2013-06-05}
}

@online{roomiesMenuTemplate,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/templates/menu.hbs at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/templates/menu.hbs},
	Urldate = {2013-06-06}
}

@online{roomiesHomeView,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/views/home.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/views/home.js},
	Urldate = {2013-06-05}
}

@online{roomiesCommunityJoinView,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/views/community/join.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/views/community/join.js},
	Urldate = {2013-06-06}
}

@online{roomiesHTTPMiddleware,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/middleware/http.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/middleware/http.js},
	Urldate = {2013-06-06}
}

@online{roomiesCommunityApiExample,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/api/community/controller.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/api/community/controller.js},
	Urldate = {2013-06-05}
}

@online{webgl,
	Author = {Mozilla Developer Network},
	Title = {WebGL | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/WebGL},
	Urldate = {2013-06-05}
}

@online{TwitterAPI,
	Author = {Twitter},
	Title = {The Twitter REST API},
	Url = {https://dev.twitter.com/docs/api},
	Urldate = {2013-06-05}
}

@online{StripeAPI,
	Author = {Stripe},
	Title = {Stripe API Reference},
	Url = {https://stripe.com/docs/api},
	Urldate = {2013-06-05}
}

@online{BackboneModelValidation,
	Author = {DocumentCloud},
	Title = {Backbone\.js - Backbone.Model\#validate\(\)},
	Url = {http://backbonejs.org/#Model-validate},
	Urldate = {2013-06-05}
}

@online{css-mediaquery,
	Author = {Mozilla Developer Network},
	Title = {CSS media queries - Web developer guide | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries},
	Urldate = {2013-06-05}
}

@online{bourbon,
	Author = {thoughtbot},
	Title = {Bourbon - A Sass Mixin Library},
	Url = {http://bourbon.io/},
	Urldate = {2013-06-05}
}

@online{Digitec,
	Author = {Digitec},
	Title = {Digitec Online Shop},
	Url = {https://www.digitec.ch},
	Urldate = {2013-06-05}
}

@online{BarefootStartClient,
	Author = {Manuel Alabor},
	Title = {Barefoot.Start.Client Source},
	Url = {https://github.com/swissmanu/barefoot/blob/master/lib/client/start.js},
	Urldate = {2013-06-05}
}

@online{BackboneSync,
	Author = {DocumentCloud},
	Title = {Backbone\.js - Backbone\#sync\(\)},
	Url = {http://backbonejs.org/#Sync},
	Urldate = {2013-06-05}
}

@online{roomiesCommunityModel,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/models/community.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/models/community.js},
	Urldate = {2013-06-05}
}

@online{roomiesHtmlSkeleton,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/layout.html at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/layout.html},
	Urldate = {2013-06-05}
}

@online{Foundation,
	Author = {ZURB, inc.},
	Title = {Foundation: The Most Advanced Responsive Front-end Framework from ZURB},
	Url = {http://foundation.zurb.com/},
	Urldate = {2013-06-05}
}

@online{SafariWebApp,
	Author = {Apple Inc.},
	Title = {Safari Web Content Guide: Configuring Web Applications},
	Url = {http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html},
	Urldate = {2013-06-05}
}

@online{FirefoxOSWebApp,
	Author = {Mozilla Developer Network},
	Title = {Apps | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/Apps},
	Urldate = {2013-06-05}
}

@online{BIANServiceLandscape,
	Author = {BIAN},
	Title = {Service Landscape \& Metamodel},
	Url = {http://bian.org/assets/bian-standards/bian-service-landscape-1-5/},
	Urldate = {2013-06-05}
}

@online{modernizr,
	Author = {Faruk Ates},
	Title = {Modernizr: the feature detection library for HTML5/CSS3},
	Url = {http://modernizr.com},
	Urldate = {2013-06-05}
}

@online{roomiesLayout,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/server/layout.html at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/layout.html},
	Urldate = {2013-06-05}
}

@online{jQuery,
	Author = {The jQuery Foundation},
	Title = {jQuery},
	Url = {http://jquery.com/},
	Urldate = {2013-06-06}
}

@online{hashbangGoogleAjax,
	Author = {Google},
	Title = {Making AJAX Applications Crawlable},
	Url = {https://developers.google.com/webmasters/ajax-crawling/},
	Urldate = {2013-06-06}
}

@online{twitterAbandonsHashbangs,
	Author = {Twitter},
	Title = {Improving Performance on Twitter.com},
	Url = {http://engineering.twitter.com/2012/05/improving-performance-on-twittercom.html},
	Urldate = {2013-06-06}
}

@online{GoogleDrive,
	Author = {Google},
	Title = {Google Drive},
	Url = {https://drive.google.com},
	Urldate = {2013-06-06}
}

@online{GoogleMail,
	Author = {Google},
	Title = {Google Mail},
	Url = {https://mail.google.com},
	Urldate = {2013-06-06}
}

@online{GitHub,
	Author = {GitHub, Inc.},
	Title = {GitHub},
	Url = {https://github.com/},
	Urldate = {2013-06-06}
}

@online{WebRTC,
	Author = {Google},
	Title = {WebRTC},
	Url = {http://www.webrtc.org/},
	Urldate = {2013-06-06}
}

@online{FormMethodMDN,
	Author = {Mozilla},
	Title = {<form> - Method Attribute - HTML | MDN},
	Url = {https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-method},
	Urldate = {2013-06-06}
}

@online{methodOverrideMiddleware,
	Author = {SenchaLabs},
	Title = {Connect - methodOverride},
	Url = {http://www.senchalabs.org/connect/middleware-methodOverride.html},
	Urldate = {2013-06-06}
}

@online{taskCheckForm,
	Author = {Manuel Alabor And Alexandre Joly And Michael Weibel},
	Title = {BA/src/shared/templates/task/listItem.hbs at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/shared/templates/task/listItem.hbs},
	Urldate = {2013-06-06}
}
@online{RfcHttpUserAgentHeader,
	Author = {R. Fielding, UC Irvine and J. Gettys, Compaq/W3C and J. Mogul, Compaq and H. Frystyk, W3C/MIT and L. Masinter, Xerox and P. Leach, Microsoft and T. Berners-Lee, W3C/MIT},
	Title = {RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1},
	Url = {http://tools.ietf.org/html/rfc2616#section-14.43},
	Urldate = {2013-06-06}
}

@online{Mila,
	Author = {Mila AG},
	Title = {Mila - gemeinsam mehr erledigen},
	Url = {https://www.mila.com/},
	Urldate = {2013-06-06}
}

@online{StackOverflowUnobtrusiveJavascriptOutdated,
	Author = {Stack Overflow Community},
	Title = {web - Is unobtrusive JavaScript outdated? - Stack Overflow},
	Url = {http://stackoverflow.com/questions/10428882/is-unobtrusive-javascript-outdated},
	Urldate = {2013-06-06}
}

@online{ExpressjsResSend,
	Author = {TJ Holowaychuk},
	Title = {Express API Reference - res.send},
	Url = {http://expressjs.com/api.html#res.send},
	Urldate = {2013-06-07}
}

@online{SequelizeStore,
	Author = {Michael Weibel},
	Title = {Connect-Session-Sequelize},
	Url = {https://npmjs.org/package/connect-session-sequelize},
	Urldate = {2013-06-07}
}

@online{StructuralSemantics,
	Author = {Heydon Pickering},
	Title = {Structural Semantics — The Importance Of HTML5 Sectioning Elements | Smashing Coding},
	Url = {http://coding.smashingmagazine.com/2013/01/18/the-importance-of-sections/},
	Urldate = {2013-06-09}
}

@online{Spring,
	Author = {Go Pivotal Inc.},
	Title = {SpringSource.org},
	Url = {http://www.springsource.org/},
	Urldate = {2013-06-09}
}

@online{JEE,
	Author = {Oracle},
	Title = {Java EE at a Glance},
	Url = {http://www.oracle.com/technetwork/java/javaee/overview/index.html},
	Urldate = {2013-06-09}
}

@online{Vaadin,
	Author = {Vaadin Ltd.},
	Title = {Vaadin - thinking of U and I - vaadin.com},
	Url = {https://vaadin.com/home},
	Urldate = {2013-06-09}
}

@online{GWT,
	Author = {Google},
	Title = {Google Web Toolkit - Google Developers},
	Url = {https://developers.google.com/web-toolkit},
	Urldate = {2013-06-09}
}

@online{PlayFramework,
	Author = {TypeSafe},
	Title = {Play Framework - Build Modern \& Scalable Web Apps with Java and Scala},
	Url = {http://www.playframework.com/},
	Urldate = {2013-06-09}
}

@online{barefootDatastore,
	Author = {Manuel Alabor},
	Title = {Barefoot.DataStore},
	Url = {http://swissmanu.github.io/barefoot/docs/files/lib/datastore-js.html},
	Urldate = {2013-06-09}
}

@online{ProgrammableWebByeXML,
	Author = {Adam DuVander},
	Title = {1 in 5 APIs Say ``Bye XML''},
	Url = {http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/},
	Urldate = {2013-06-09}
}

@online{NaturalDocs,
	Author = {Adam DuVander},
	Title = {Natural Docs},
	Url = {http://www.naturaldocs.org/},
	Urldate = {2013-06-09}
}

@online{barefootModel,
	Author = {Manuel Alabor},
	Title = {Barefoot.Model},
	Url = {http://swissmanu.github.io/barefoot/docs/files/lib/model-js.html},
	Urldate = {2013-06-09}
}

@online{facebookLoginGist,
	Author = {Alf Eaton},
	Title = {Login to Facebook using cURL},
	Url = {https://gist.github.com/hubgit/306638},
	Urldate = {2013-06-10}
}

@online{Rendr,
	Author = {Airbnb},
	Title = {airbnb/rendr},
	Url = {https://github.com/airbnb/rendr},
	Urldate = {2013-06-10}
}

@online{Coveralls,
	Author = {Coveralls},
	Title = {Coveralls - Code Coverage History and Statistics},
	Url = {https://coveralls.io/},
	Urldate = {2013-06-10}
}

@online{Underscore,
	Author = {Airbnb},
	Title = {Underscore.js},
	Url = {http://underscorejs.org/},
	Urldate = {2013-06-10}
}

@online{Mixin,
	Author = {Wikipedia},
	Title = {Mixin - Wikipedia},
	Url = {https://de.wikipedia.org/w/index.php?title=Mixin&oldid=118972775},
	Urldate = {2013-06-10}
}

@online{ObjektspektrumROCA,
	Author = {Falk Hoppe and Till Schulte-Coerne and Stefan Tilkov},
	Title = {ROCA: Resource-oriented Client Architecture},
	Url = {http://www.sigs-datacom.de/fileadmin/user_upload/zeitschriften/os/2012/Architekturen/hoppe_schulte-coerner_tilkov_OS_Architekturen_12_hgz8.pdf},
	Urldate = {2013-06-11}
}

@online{DefensiveProgramming,
	Author = {Wikipedia},
	Title = {Defensive Programming},
	Url = {http://en.wikipedia.org/w/index.php?title=Defensive_programming&oldid=541456737},
	Urldate = {2013-06-11}
}

@online{MD5Broken,
	Author = {Stack Overflow Community},
	Title = {encryption - MD5 security is fine? - Stack Overflow},
	Url = {http://stackoverflow.com/questions/6774345/md5-security-is-fine},
	Urldate = {2013-06-11}
}

@online{Base64,
	Author = {Wikipedia},
	Title = {Base64},
	Url = {http://de.wikipedia.org/w/index.php?title=Base64&oldid=118052316},
	Urldate = {2013-06-11}
}

@online{ExpressjsResponseJsonConverter,
	Author = {TJ Holowaychuk},
	Title = {express/lib/response.js at master - visionmedia/express},
	Url = {https://github.com/visionmedia/express/blob/master/lib/response.js\#L117},
	Urldate = {2013-06-12}
}

@online{Sitemap,
	Author = {Wikipedia},
	Title = {Sitemap},
	Url = {http://de.wikipedia.org/w/index.php?title=Sitemap&oldid=116265829},
	Urldate = {2013-06-12}
}

@online{SchemaOrg,
	Author = {Google Inc. and Yahoo Inc. and Microsoft Corporation},
	Title = {Schema.org},
	Url = {http://schema.org},
	Urldate = {2013-06-12}
}

@online{BarrierefreiesInternet,
	Author = {Wikipedia},
	Title = {Barrierefreies Internet},
	Url = {http://de.wikipedia.org/w/index.php?title=Barrierefreies_Internet&oldid=119350081},
	Urldate = {2013-06-12}
}

@online{HTMLFrames,
	Author = {Wikipedia},
	Title = {Frames (HTML)},
	Url = {http://de.wikipedia.org/w/index.php?title=Frame_(HTML)&oldid=118246657},
	Urldate = {2013-06-12}
}
@online{MicrosoftQuickensIEReleaseCycle,
	Author = {Gregg Keizer},
	Title = {Microsoft quickens browser pace with IE10, goes for annual upgrades},
	Url = {http://www.computerworld.com/s/article/9215766/Microsoft_quickens_browser_pace_with_IE10_goes_for_annual_upgrades},
	Urldate = {2013-06-12}
}

@online{milestone7CommunityController,
	Author = {Manuel Alabor and Alexandre Joly and Michael Weibel},
	Title = {BA/src/lib/community/controller.js at 5d62b8699b64f7a919ecd6fa9c5f7b4f0f50827b},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/5d62b8699b64f7a919ecd6fa9c5f7b4f0f50827b/src/lib/community/controller.js#L136},
	Urldate = {2013-06-13}
}

@online{masterCommunityController,
	Author = {Manuel Alabor and Alexandre Joly and Michael Weibel},
	Title = {BA/src/server/api/community/controller.js at master},
	Url = {https://github.com/hsr-ba-ajw-2013/BA/blob/master/src/server/api/community/controller.js#L192},
	Urldate = {2013-06-13}
}

@online{FuturesAndPromises,
	Author = {Wikipedia},
	Title = {Futures and promises},
	Url = {http://en.wikipedia.org/w/index.php?title=Futures_and_promises&oldid=556613152},
	Urldate = {2013-06-13}
}

@online{QLibrary,
	Author = {Kris Kowal},
	Title = {kriskowal/q},
	Url = {https://github.com/kriskowal/q},
	Urldate = {2013-06-13}
}

@online{barefootRouterRenderWithQ,
	Author = {Manuel Alabor},
	Title = {barefoot/lib/server/router-mixin.js at master},
	Url = {https://github.com/swissmanu/barefoot/blob/master/lib/server/router-mixin.js#L215},
	Urldate = {2013-06-13}
}

@online{GoogleGuice,
	Author = {Google},
	Title = {Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 5 and above, brought to you by Google.},
	Url = {http://code.google.com/p/google-guice/},
	Urldate = {2013-06-13}
}

@online{Jersey,
	Author = {Oracle},
	Title = {Jersey},
	Url = {https://jersey.java.net/},
	Urldate = {2013-06-13}
}

@online{CodehausJackson,
	Author = {Codehaus},
	Title = {Jackson JSON Processor},
	Url = {http://jackson.codehaus.org/},
	Urldate = {2013-06-13}
}

@online{EclipseLink,
	Author = {Eclipse Foundation},
	Title = {EclipseLink},
	Url = {http://www.eclipse.org/eclipselink/},
	Urldate = {2013-06-13}
}

@book{POSA2,
  Title={Pattern-orientierte Software-Architektur: ein Pattern-System},
  Author={Frank Buschmann and Regine Meunier and Hans Rohnert and Peter Sommerlad and Michael Stal},
  Isbn={9783827312822},
  Publisher={Addison-Wesley-Longman}
}

@online{PromisesAPlusSpec,
	Author = {promises-aplus},
	Title = {Promises/A+},
	Url = {http://promises-aplus.github.io/promises-spec/},
	Urldate = {2013-06-13}
}

repository: christianwigren/BA-Dokumentation

repo_name: christianwigren/BA-Dokumentation


text:
@article{Das-2018-Sustainable,
    title = "Sustainable Ice-Jam Flood Management for Socio-Economic and Socio-Ecological Systems",
    author = "Das, Apurba  and
      Reed, Maureen  and
      Lindenschmidt, Karl-Erich",
    journal = "Water, Volume 10, Issue 2",
    volume = "10",
    number = "2",
    year = "2018",
    publisher = "MDPI AG",
    url = "https://aclanthology.org/G18-37001",
    doi = "10.3390/w10020135",
    pages = "135",
    abstract = "Ice jams are critical components of the hydraulic regimes of rivers in cold regions. In addition to contributing to the maintenance of wetland ecology, including aquatic animals and waterfowl, ice jams provide essential moisture and nutrient replenishment to perched lakes and ponds in northern inland deltas. However, river ice-jam flooding can have detrimental impacts on in-stream aquatic ecosystems, cause damage to property and infrastructure, and present hazards to riverside communities. In order to maintain sustainable communities and ecosystems, ice-jam flooding must be both mitigated and promoted. This study reviews various flood management strategies used worldwide, and points to the knowledge gaps in these strategies. The main objective of the paper is to provide a framework for a sustainable ice-jam flood management strategy in order to better protect riverine socio-economic and socio-ecological systems. Sustainable flood management must be a carefully adopted and integrated strategy that includes both economic and ecological perspectives in order to mitigate ice-jam flooding in riverside socio-economic systems, while at the same time promoting ice-jam flooding of riverine socio-ecological systems such as inland deltas.",
}

repository: gwf-uwaterloo/gwf-publications

repo_name: gwf-uwaterloo/gwf-publications


text:
vtk_module(vtkInfovisBoostGraphAlgorithms
  DEPENDS
    vtkInfovisCore
    vtkCommonExecutionModel
  TEST_DEPENDS
    vtkRenderingOpenGL
    vtkTestingRendering
    vtkIOInfovis
  )

repository: jeffbaumes/VTK

repo_name: jeffbaumes/VTK

extension: cmake


text:
@inproceedings{Ahmed:Lis:Rubin:Slicer4J:FSE:2021,
  author    = {Khaled Ahmed and
               Mieszko Lis and
               Julia Rubin},
  title     = {{Slicer4J: A Dynamic Slicer for Java}},
  booktitle = {The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE)},
  year      = {2021},
}

gha_language: Java


text:
@article{li2007ted,
 author = {Jing Li and Aditya Bansal and Kaushik Roy},
 doi = {10.1109/TED.2007.906940},
 issn = {0018-9383},
 journal = {IEEE Transactions on Electron Devices},
 keywords = {journal, elemental semiconductors,low-power electronics,silicon,silicon-on-insulator,thin film transistors,LTPS TFT,SOI,Si - Interface,driving current,low-temperature polycrystalline-silicon thin-film transistors,midgap trap density,poly-Si thin-film transistors,silicon-on-insulator,single-crystalline silicon,submicrometer ultralow-power digital operation,ultralow-power subthreshold operation,Costs,Design methodology,Design optimization,Energy consumption,Fabrication,Glass,Polymers,Silicon,Substrates,Thin film transistors,Grain boundary (GB),low-pressure chemical vapor deposition (LPCVD),low-temperature polycrystalline silicon (LTPS),thin-film transistor (TFT)},
 month = {Nov},
 number = {11},
 pages = {2918-2929},
 title = {{Poly-Si} Thin-Film Transistors: An Efficient and Low-Cost Option for Digital Operation},
 volume = {54},
 year = {2007}
}


text:
package safe

import (
	"testing"
)

func TestRemove(t *testing.T) {
	safe, err := createTestSafe()
	if err != nil {
		t.Error(err)
	}
	defer removeTestSafe()

	if err = safe.Remove("foo"); err != nil {
		t.Error(err)
	}
}

repository: gitter-badger/pick

repo_name: gitter-badger/pick


text:
# generated from genmsg/cmake/pkg-msg-paths.cmake.develspace.in

set(dlut_move_base_MSG_INCLUDE_DIRS "/home/rob/catkin_ws/src/dlut_move_base/msg")
set(dlut_move_base_MSG_DEPENDENCIES std_msgs)


text:
SET(CPACK_PACKAGE_VERSION_MAJOR "1")
SET(CPACK_PACKAGE_VERSION_MINOR "0")
SET(CPACK_PACKAGE_VERSION_PATCH "pre-1")

INCLUDE(CPack)

# Where shall we install?
if (ANDROID)
  SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE)
else()
  SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE)
endif()

SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
    prepended to install directories" FORCE)
SET(VMCS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_SHARED_LIBRARY_PREFIX}/plugins)

# What kind of system are we?
if (${UNIX})
   set (VMCS_TARGET linux)
elseif (${SYMBIAN})
   set (VMCS_TARGET symbian)
elseif (${WIN32})
   set (VMCS_TARGET win32)
else()
   message(FATAL_ERROR,"Unknown system type")
endif()

# construct the vmcs config header file
add_definitions(-DHAVE_VMCS_CONFIG)
configure_file(host_applications/vmcs/vmcs_config.h.in ${PROJECT_BINARY_DIR}/vmcs_config.h)

# install an ld.so.conf file to pick up our shared libraries
#configure_file (${vmcs_root}/makefiles/cmake/srcs/vmcs.conf.in
#                ${PROJECT_BINARY_DIR}/vmcs.conf)
#if(NOT DEFINED ANDROID)
#   install(FILES ${PROJECT_BINARY_DIR}/vmcs.conf DESTINATION /etc/ld.so.conf.d)
#endif()
# also put it in /opt/vc for access by install script
#install(FILES  ${PROJECT_BINARY_DIR}/vmcs.conf
#        DESTINATION ${VMCS_INSTALL_PREFIX}/share/install)
# provide an install script
#install(PROGRAMS ${vmcs_root}/makefiles/cmake/scripts/install_vmcs
#        DESTINATION ${VMCS_INSTALL_PREFIX}/sbin
#        PERMISSIONS OWNER_WRITE WORLD_READ)

# provide hello_pi demos
install(DIRECTORY host_applications/linux/apps/hello_pi DESTINATION src)

# provide header files
install(DIRECTORY interface/vcos      DESTINATION include/interface FILES_MATCHING PATTERN "*.h")
install(DIRECTORY interface/vchiq_arm DESTINATION include/interface FILES_MATCHING PATTERN "*.h")
install(DIRECTORY interface/vchi      DESTINATION include/interface FILES_MATCHING PATTERN "*.h")
install(DIRECTORY interface/vctypes   DESTINATION include/interface FILES_MATCHING PATTERN "*.h")
install(DIRECTORY vcinclude           DESTINATION include           FILES_MATCHING PATTERN "*.h")
install(DIRECTORY interface/vmcs_host DESTINATION include/interface FILES_MATCHING PATTERN "*.h"
        PATTERN "interface/vmcs_host/khronos" EXCLUDE)

install(DIRECTORY interface/khronos/include/     DESTINATION include FILES_MATCHING PATTERN "*.h")
install(DIRECTORY interface/vmcs_host/khronos/IL DESTINATION include FILES_MATCHING PATTERN "*.h")

install(DIRECTORY host_applications/linux/libs/bcm_host/include/ DESTINATION include FILES_MATCHING PATTERN "*.h")

repository: aeiyeti/userland

repo_name: aeiyeti/userland


text:
MODULE="stb/tools/e2control"

require valerie.inc

# no working Makefile...
do_compile() {
	${CC} ${CCFLAGS} -lpthread e2control.c -o e2control
}

do_install() {
	install -d ${D}${PLUGINDIR}
	install -m 755 e2control ${D}${PLUGINDIR}/
}

FILES_${PN}-dbg += "${PLUGINDIR}/.debug"

gha_language: C


text:
package drain

import (
	"context"
	"time"

	corev1 "k8s.io/api/core/v1"
	policyv1 "k8s.io/api/policy/v1"
	apierrors "k8s.io/apimachinery/pkg/api/errors"
	"sigs.k8s.io/controller-runtime/pkg/client"

	"github.com/go-logr/logr"

	upgradev1alpha1 "github.com/openshift/managed-upgrade-operator/api/v1alpha1"
	"github.com/openshift/managed-upgrade-operator/pkg/pod"
)

// NodeDrainStrategyBuilder enables implementation for a NodeDrainStrategyBuilder
//
//go:generate mockgen -destination=mocks/nodeDrainStrategyBuilder.go -package=mocks github.com/openshift/managed-upgrade-operator/pkg/drain NodeDrainStrategyBuilder
type NodeDrainStrategyBuilder interface {
	NewNodeDrainStrategy(c client.Client, logger logr.Logger, uc *upgradev1alpha1.UpgradeConfig, cfg *NodeDrain) (NodeDrainStrategy, error)
}

// NodeDrainStrategy enables implementation for a NodeDrainStrategy
//
//go:generate mockgen -destination=mocks/nodeDrainStrategy.go -package=mocks github.com/openshift/managed-upgrade-operator/pkg/drain NodeDrainStrategy
type NodeDrainStrategy interface {
	Execute(*corev1.Node, logr.Logger) ([]*DrainStrategyResult, error)
	HasFailed(*corev1.Node, logr.Logger) (bool, error)
}

// DrainStrategy enables implementation for a DrainStrategy
//
//go:generate mockgen -destination=./drainStrategyMock.go -package=drain -self_package=github.com/openshift/managed-upgrade-operator/pkg/drain github.com/openshift/managed-upgrade-operator/pkg/drain DrainStrategy
type DrainStrategy interface {
	Execute(*corev1.Node, logr.Logger) (*DrainStrategyResult, error)
	IsValid(*corev1.Node, logr.Logger) (bool, error)
}

// TimedDrainStrategy enables implementation for a TimedDrainStrategy
//
//go:generate mockgen -destination=./timedDrainStrategyMock.go -package=drain -self_package=github.com/openshift/managed-upgrade-operator/pkg/drain github.com/openshift/managed-upgrade-operator/pkg/drain TimedDrainStrategy
type TimedDrainStrategy interface {
	GetWaitDuration() time.Duration
	GetName() string
	GetDescription() string
	GetStrategy() DrainStrategy
}

// NewBuilder returns a drainStrategyBuilder
func NewBuilder() NodeDrainStrategyBuilder {
	return &drainStrategyBuilder{}
}

type drainStrategyBuilder struct{}

func newTimedStrategy(name string, description string, waitDuration time.Duration, strategy DrainStrategy) TimedDrainStrategy {
	return &timedStrategy{
		name:         name,
		description:  description,
		waitDuration: waitDuration,
		strategy:     strategy,
	}
}

// NewNodeDrainStrategy returns a NodeDrainStrategy
func (dsb *drainStrategyBuilder) NewNodeDrainStrategy(c client.Client, logger logr.Logger, uc *upgradev1alpha1.UpgradeConfig, cfg *NodeDrain) (NodeDrainStrategy, error) {
	pdbList := &policyv1.PodDisruptionBudgetList{}
	err := c.List(context.TODO(), pdbList)
	if err != nil {
		if apierrors.IsNotFound(err) {
			logger.Info("unable to list PodDisruptionBudgets/v1")
		} else {
			return nil, err
		}
	}

	defaultOsdPodPredicates := []pod.PodPredicate{isNotDaemonSet}
	isNotPdbPod := isNotPdbPod(pdbList)
	isPdbPod := isPdbPod(pdbList)
	isAllowedNamespace := isAllowedNamespace(cfg.IgnoredNamespacePatterns)
	defaultDuration := cfg.GetTimeOutDuration()
	pdbDuration := uc.GetPDBDrainTimeoutDuration() + cfg.GetExpectedDrainDuration()
	ts := []TimedDrainStrategy{
		newTimedStrategy(defaultPodDeleteName, "Default pod deletion", defaultDuration, &podDeletionStrategy{
			client:  c,
			filters: append(defaultOsdPodPredicates, isNotPdbPod, isAllowedNamespace),
		}),
		newTimedStrategy(defaultPodFinalizerRemovalName, "Default pod finalizer removal", defaultDuration, &removeFinalizersStrategy{
			client:  c,
			filters: append(defaultOsdPodPredicates, isNotPdbPod, isAllowedNamespace),
		}),
		newTimedStrategy(stuckTerminatingPodName, "Pod stuck terminating removal", defaultDuration, &stuckTerminatingStrategy{
			client:  c,
			filters: append(defaultOsdPodPredicates, isNotPdbPod, isAllowedNamespace),
		}),
		newTimedStrategy(pdbPodDeleteName, "PDB pod deletion", pdbDuration, &podDeletionStrategy{
			client:  c,
			filters: append(defaultOsdPodPredicates, isPdbPod, isAllowedNamespace),
		}),
		newTimedStrategy(pdbPodFinalizerRemovalName, "PDB Pod finalizer removal", pdbDuration, &removeFinalizersStrategy{
			client:  c,
			filters: append(defaultOsdPodPredicates, isPdbPod, isAllowedNamespace),
		}),
	}

	return NewNodeDrainStrategy(c, cfg, ts)
}

// DrainStrategyResult holds fields illustrating a drain strategies result
type DrainStrategyResult struct {
	Message     string
	HasExecuted bool
}

repository: openshift/managed-upgrade-operator

repo_name: openshift/managed-upgrade-operator


text:
package jwtauth

import (
	"context"
	"fmt"
	"time"

	"github.com/pkg/errors"
	"gopkg.in/square/go-jose.v2/jwt"
)

// Authenticator can authenticate raw tokens.
type Authenticator interface {
	Authenticate(ctx context.Context, token string) (Claims, error)
}

// Verifier defines an interface that can verify an already parsed jwt token.
//
// Intended use is in the StdAuthenticator, where each verifier corresponds to a single named token issuer.
type Verifier interface {
	Verify(token *jwt.JSONWebToken, claims ...interface{}) error
}

// StdAuthenticator is the standard jwt authenticator.
//
// Keeps track of multiple verifiers. Authenticates jwts using the
// iss and kid fields in the jwt to pick a public key from multiple possible
// issuers and keys.
type StdAuthenticator struct {
	Verifiers map[string]Verifier
}

// Authenticate authenticates a jwt and returns the extracted claims, or an
// error if any occur.
func (a *StdAuthenticator) Authenticate(ctx context.Context, raw string) (Claims, error) {
	token, err := jwt.ParseSigned(raw)
	if err != nil {
		pkgLogger.Debug(ctx, "error parsing jwt:", err)
		return Claims{}, &AuthError{
			Code:  AuthErrCodeInvalidJWT,
			Cause: errors.Wrap(err, "jwt parse error"),
		}
	}

	// Extract the issuer
	var insecureClaims jwt.Claims
	if err := token.UnsafeClaimsWithoutVerification(&insecureClaims); err != nil {
		pkgLogger.Debug(ctx, "error extracting claims:", err)
		return Claims{}, &AuthError{
			Code:  AuthErrCodeUnknown,
			Cause: errors.Wrap(err, "jwt verify error"),
		}
	}
	if err := insecureClaims.ValidateWithLeeway(jwt.Expected{Time: time.Now()}, time.Second); err != nil {
		pkgLogger.Debug(ctx, "jwt expired")
		return Claims{}, &AuthError{
			Code:  AuthErrCodeInvalidJWT,
			Cause: err,
		}
	}
	verifier, ok := a.Verifiers[insecureClaims.Issuer]
	if !ok {
		pkgLogger.Debugf(ctx, "issuer not registered: %s", insecureClaims.Issuer)
		return Claims{}, &AuthError{
			Code:  AuthErrCodeUntrustedSource,
			Cause: fmt.Errorf("issuer not registered: %s", insecureClaims.Issuer),
		}
	}

	// Verify the token and populate claims
	var claims Claims
	if err := verifier.Verify(token, &claims); err != nil {
		pkgLogger.Debug(ctx, err)
		return Claims{}, err // Don't wrap this error
	}
	return claims, nil
}

// InsecureAuthenticator does not attempt to verify the signature of a jwt.
//
// USE ONLY IN TESTING.
type InsecureAuthenticator struct{}

// Authenticate implements the Authenticator interface.
func (i InsecureAuthenticator) Authenticate(ctx context.Context, raw string) (Claims, error) {
	token, err := jwt.ParseSigned(raw)
	if err != nil {
		pkgLogger.Debug(ctx, "jwt parse error:", err)
		return Claims{}, &AuthError{
			Code:  AuthErrCodeInvalidJWT,
			Cause: errors.Wrap(err, "jwt parse error"),
		}
	}
	var insecureClaims Claims
	if err := token.UnsafeClaimsWithoutVerification(&insecureClaims); err != nil {
		pkgLogger.Debug(ctx, "jwt verify error:", err)
		return Claims{}, &AuthError{
			Code:  AuthErrCodeUnknown,
			Cause: errors.Wrap(err, "jwt verify error"),
		}
	}
	return insecureClaims, nil
}

repository: aries-zhang/sysl-go

repo_name: aries-zhang/sysl-go


text:
package crypto

import (
	"crypto"
	"crypto/rsa"
	"crypto/sha1"
	"crypto/x509"
	"encoding/pem"
	"fmt"
)

/*
These certificates are not currently used but they represent the chain
of certificates to verify a device's certificate in DEP & OTA requests.

const appleRootCAPEM = `-----BEGIN CERTIFICATE-----
MIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET
MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0
MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw
bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
FjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne+Uts9QerIjAC6Bg+
+FAJ039BqJj50cpmnCRrEdCju+QbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1
XQ7Vf1+b8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9w
tj8BMIy3Q88PnT3zK0koGsj+zrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IW
q6NxkkdTVcGvL0Gz+PvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKM
aLOPHd5lc/9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3
R01/CF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wggERBgNVHSAE
ggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93
d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNl
IG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0
YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBj
b25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZp
Y2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBc
NplMLXi37Yyb3PN3m/J20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQP
y3lPNNiiPvl4/2vIB+x9OYOLUyDTOMSxv5pPCmv/K/xZpwUJfBdAVhEedNO3iyM7
R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx+IjXKJdXZD9Zr1KIkIxH3oayPc4Fg
xhtbCS+SsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL/lTaltkwGMzd/c6ByxW69oP
IQ7aunMZT7XZNn/Bh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AX
UKqK1drk/NAJBzewdXUh
-----END CERTIFICATE-----
`

const appleiPhoneCertificateAuthorityPEM = `-----BEGIN CERTIFICATE-----
MIID8zCCAtugAwIBAgIBFzANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzET
MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDcwNDEyMTc0
MzI4WhcNMjIwNDEyMTc0MzI4WjB5MQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBw
bGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
LTArBgNVBAMTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMevvBHwLSeEFtGpLghuE+G
IXAoRWBcHMPICmRjiPv8ae74VPzpW7cGTgQvw2szr0RM6kuACbSH9lu0/WTds3Lg
E7P9F9m856jtwoxhwir57M6lXtZp62QLjQiPuKBQRgncGeTlsJRtu/eZmMTom0FO
1PFl4xtSetzoA9luHdoQVYakKVhJDOpH1xU0M/bAoERKcL4stSowN4wuFevR5GyX
OFVWsTUrWOpEoyaF7shmSuTPifA9Y60p3q26WrPcpaOapwlOgBY1ZaSFDWN7PmOK
2n1KRuyjORg0ucYoZRi8E2Ccf1esFMmJ7aG2h2hStoROuMiD7PmeGauzwQuGx58C
AwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQU5zQqLiLeOWBrtJTOd4NhLzGgfDUwHwYDVR0jBBgwFoAUK9BpR5R2Cf70
a40uQKb3R01/CF4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3d3dy5hcHBsZS5j
b20vYXBwbGVjYS9yb290LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAHdHVe910TtcX
/IItDJmbXkJy8mnc1WteDQxrSz57FCXes5TooPoPgInyFz0AAqKRkb50V9yvmp+h
Cn0wvgAqzCFZ6/1JrG51GeiaegPRhvbn9rAOS0n6o7dButfR41ahfYOrl674UUom
wYVCEyaNA1RmEF5ghAUSMStrVMCgyEG8VB7nVK0TANJKx7vBiq+BCI7wRgq/J6a+
3M85OoBwGSMyo2tmXZ5NqEdJsntFtVEzp3RnCU62bG9I9yy5MwVEa0W+dEtvsoaR
tD4lKCWes8JRhvxP5a87qrtELAFJ4nSzNPpE7xTCEfItGRpRidMISkFsWFbemzrh
BVflYs/SDw==
-----END CERTIFICATE-----
`
*/

// TODO: This certificate expired 2014, but is required.
const appleiPhoneDeviceCAPEM = `-----BEGIN CERTIFICATE-----
MIIDaTCCAlGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJVUzET
MBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxLTArBgNVBAMTJEFwcGxlIGlQaG9uZSBDZXJ0aWZpY2F0aW9u
IEF1dGhvcml0eTAeFw0wNzA0MTYyMjU0NDZaFw0xNDA0MTYyMjU0NDZaMFoxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQKEwpBcHBsZSBJbmMuMRUwEwYDVQQLEwxBcHBsZSBp
UGhvbmUxHzAdBgNVBAMTFkFwcGxlIGlQaG9uZSBEZXZpY2UgQ0EwgZ8wDQYJKoZI
hvcNAQEBBQADgY0AMIGJAoGBAPGUSsnquloYYK3Lok1NTlQZaRdZB2bLl+hmmkdf
Rq5nerVKc1SxywT2vTa4DFU4ioSDMVJl+TPhl3ecK0wmsCU/6TKqewh0lOzBSzgd
Z04IUpRai1mjXNeT9KD+VYW7TEaXXm6yd0UvZ1y8Cxi/WblshvcqdXbSGXH0KWO5
JQuvAgMBAAGjgZ4wgZswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w
HQYDVR0OBBYEFLL+ISNEhpVqedWBJo5zENinTI50MB8GA1UdIwQYMBaAFOc0Ki4i
3jlga7SUzneDYS8xoHw1MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuYXBw
bGUuY29tL2FwcGxlY2EvaXBob25lLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAd13P
Z3pMViukVHe9WUg8Hum+0I/0kHKvjhwVd/IMwGlXyU7DhUYWdja2X/zqj7W24Aq5
7dEKm3fqqxK5XCFVGY5HI0cRsdENyTP7lxSiiTRYj2mlPedheCn+k6T5y0U4Xr40
FXwWb2nWqCF1AgIudhgvVbxlvqcxUm8Zz7yDeJ0JFovXQhyO5fLUHRLCQFssAbf8
B4i8rYYsBUhYTspVJcxVpIIltkYpdIRSIARA49HNvKK4hzjzMS/OhKQpVKw+OCEZ
xptCVeN2pjbdt9uzi175oVo/u6B2ArKAW17u6XEHIdDMOe7cb33peVI6TD15W4MI
pyQPbp8orlXe+tA8JA==
-----END CERTIFICATE-----
`

func mustParsePublicKey(cert string) *rsa.PublicKey {
	block, _ := pem.Decode([]byte(appleiPhoneDeviceCAPEM))
	if block == nil || block.Type != "CERTIFICATE" {
		panic("appleiPhoneDeviceCAPEM: invalid PEM block")
	}
	c, err := x509.ParseCertificate(block.Bytes)
	if err != nil {
		panic(fmt.Sprintf("appleiPhoneDeviceCAPEM: err parsing: %v", err))
	}

	key, ok := c.PublicKey.(*rsa.PublicKey)
	if !ok {
		panic("appleiPhoneDeviceCAPEM: invalid key type")
	}

	return key
}

// extract public key from appleiPhoneDeviceCAPEM
var appleiPhoneDeviceCAPublicKey = mustParsePublicKey(appleiPhoneDeviceCAPEM)

// VerifyFromAppleDeviceCA verifies a certificate was signed by Apple's iPhone Device CA.
// Manually verify the certificate since Go has deprecated verifying SHA1WithRSA x509 certificates.
func VerifyFromAppleDeviceCA(c *x509.Certificate) error {
	if c.SignatureAlgorithm != x509.SHA1WithRSA {
		return x509.ErrUnsupportedAlgorithm
	}

	hashed := sha1.Sum(c.RawTBSCertificate)
	if err := rsa.VerifyPKCS1v15(appleiPhoneDeviceCAPublicKey, crypto.SHA1, hashed[:], c.Signature); err != nil {
		return err
	}

	return nil
}

repository: micromdm/micromdm

repo_name: micromdm/micromdm


text:
// html creates a html index for the test data
package main

import (
	"html/template"
	"log"
	"os"
	"path/filepath"
	"strings"
)

const tmplHtml = `

			{{range .Files}}

			{{end}}

`

func main() {
	tmpl := template.Must(template.New("tmplHtml").Parse(tmplHtml))

	var files []string
	err := filepath.Walk("art", func(path string, info os.FileInfo, err error) error {
		if err != nil {
			return err
		}

		if strings.HasSuffix(info.Name(), ".jpg") {
			files = append(files, path)
		}

		return nil
	})

	out, err := os.Create("index.html")
	if err != nil {
		log.Fatal(err)
	}
	defer out.Close()

	err = tmpl.Execute(out, struct {
		Files []string
	}{
		Files: files,
	})
	if err != nil {
		log.Fatal(err)
	}
}

repository: angulartist/dataflow-art

repo_name: angulartist/dataflow-art


text:
@InProceedings{wub15,
  supplementary = {Supplementary:wub15-supp.pdf},
  title = {On Identifying Good Options under Combinatorially Structured Feedback in Finite Noisy Environments},
  author = {Yifan Wu and Andras Gyorgy and Csaba Szepesvari},
  pages = {1283-1291},
  abstract = {We consider the problem of identifying a good option out of finite set of options under combinatorially structured, noisy feedback about the quality of the options in a sequential process: In each round, a subset of the options, from an available set of subsets, can be selected to receive noisy information about the quality of the options in the chosen subset. The goal is to identify the highest quality option, or a group of options of the highest quality, with a small error probability, while using the smallest number of measurements. The problem generalizes best-arm identification problems. By extending previous work, we design new algorithms that are shown to be able to exploit the combinatorial structure of the problem in a nontrivial fashion, while being unimprovable in special cases. The algorithms call a set multi-covering oracle, hence their performance and efficiency is strongly tied to whether the associated set multi-covering problem can be efficiently solved.},
}

repository: mreid/papersite

repo_name: mreid/papersite