text:
---
---
@article{ren2023sparse,
  title   = {Sparse Modular Activation for Efficient Sequence Modeling},
  author  = {Liliang Ren and Yang Liu and Shuohang Wang and Yichong Xu and Chenguang Zhu and ChengXiang Zhai},
  year    = {2023},
  abbr = {preprint},
  journal = {arXiv preprint, },
  selected={false},
  website = "https://arxiv.org/abs/2306.11197",
  abstract = "Linear State Space Models (SSMs) have demonstrated strong performance in a variety of sequence modeling tasks due to their efficient encoding of the recurrent structure. However, in more comprehensive tasks like language modeling and machine translation, self-attention-based models still outperform SSMs. Hybrid models employing both SSM and self-attention generally show promising performance, but current approaches apply attention modules statically and uniformly to all elements in the input sequences, leading to sub-optimal quality-efficiency trade-offs. In this work, we introduce Sparse Modular Activation (SMA), a general mechanism enabling neural networks to sparsely and dynamically activate sub-modules for sequence elements in a differentiable manner. Through allowing each element to skip non-activated sub-modules, SMA reduces computation and memory consumption at both training and inference stages of sequence modeling. As a specific instantiation of SMA, we design a novel neural architecture, SeqBoat, which employs SMA to sparsely activate a Gated Attention Unit (GAU) based on the state representations learned from an SSM. By constraining the GAU to only conduct local attention on the activated inputs, SeqBoat can achieve linear inference complexity with theoretically infinite attention span, and provide substantially better quality-efficiency trade-off than the chunking-based models. With experiments on a wide range of tasks, including language modeling, speech classification and long-range arena, SeqBoat brings new state-of-the-art results among hybrid models with linear complexity and reveals the amount of attention needed for each task through the learned sparse activation patterns.",
}

@article{ren2023cpmi,
  title   = {C-PMI: Conditional Pointwise Mutual Information for Turn-level Dialogue Evaluation},
  author  = {Liliang Ren and Mankeerat Sidhu and Qi Zeng and Revanth Gangi Reddy and Heng Ji and ChengXiang Zhai},
  year    = {2023},
  abbr = {DialDoc@ACL},
  journal = {Proceedings of the ACL2023 Workshop on Document-grounded Dialogue and Conversational Question Answering,},
  selected={false},
  website = "https://arxiv.org/abs/2306.15245",
  abstract = "Existing reference-free turn-level evaluation
metrics for chatbots inadequately capture the
interaction between the user and the system.
Consequently, they often correlate poorly with
human evaluations. To address this issue, we
propose a novel model-agnostic approach that
leverages Conditional Pointwise Mutual Information (C-PMI) to measure the turn-level interaction between the system and the user based
on a given evaluation dimension. Experimental
results on the widely used FED dialogue evaluation dataset demonstrate that our approach
significantly improves the correlation with human judgment compared with existing evaluation systems. By replacing the negative loglikelihood-based scorer with our proposed CPMI scorer, we achieve a relative 60.5% higher
Spearman correlation on average for the FED
evaluation metric. Our code is publicly available at https://github.com/renll/C-PMI.",
}

@article{ren2022,

title={Language Model Pre-Training with Sparse Latent Typing},
  author={Ren*, Liliang and Zhang*, Zixuan and Wang, Han and Voss, Clare and Zhai, Chengxiang and Ji, Heng},

  journal={Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing,},
  month = dec,
  year={2022},
  selected={true},
  abbr = {EMNLP},
  abbr2 = {Oral},
  website = "https://arxiv.org/abs/2210.12582",
  abstract="Modern large-scale Pre-trained Language Models (PLMs) have achieved tremendous success on a wide range of downstream tasks. However, most of the LM pre-training objectives only focus on text reconstruction, but have not sought to learn latent-level interpretable representations of sentences. In this paper, we manage to push the language models to obtain a deeper understanding of sentences by proposing a new pre-training objective, Sparse Latent Typing, which enables the model to sparsely extract sentence-level keywords with diverse latent types. Experimental results show that our model is able to learn interpretable latent type categories in a self-supervised manner without using any external knowledge. Besides, the language model pre-trained with such an objective also significantly improves Information Extraction related downstream tasks in both supervised and few-shot settings. Our code is publicly available at: https://github.com/renll/SparseLT.",
}

@article{ren-etal-2021-hyspa,
    title = "{H}y{SPA}: Hybrid Span Generation for Scalable Text-to-Graph Extraction",
    author = "Ren, Liliang  and
      Sun, Chenkai  and
      Ji, Heng  and
      Hockenmaier, Julia",
    journal = {Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021, },
    month = aug,
    year = {2021},
    address = "Online",
    publisher = "Association for Computational Linguistics",
    website = "https://aclanthology.org/2021.findings-acl.356",
    doi = "10.18653/v1/2021.findings-acl.356",
    pages = "4066--4078",
    abbr={ACL Findings},
    selected={true},
    abstract="Text-to-Graph extraction aims to automatically extract information graphs consisting of mentions and types from natural language texts. Existing approaches, such as table filling and pairwise scoring, have shown impressive performance on various information extraction tasks, but they are difficult to scale to datasets with longer input texts because of their second-order space/time complexities with respect to the input length. In this work, we propose a Hybrid Span Generator (HySPA) that invertibly maps the information graph to an alternating sequence of nodes and edge types, and directly generates such sequences via a hybrid span decoder which can decode both the spans and the types recurrently in linear time and space complexities. Extensive experiments on the ACE05 dataset show that our approach also significantly outperforms state-of-the-art on the joint entity and relation extraction task.",
}

@article{ren-etal-2019-scalable,
    title = "Scalable and Accurate Dialogue State Tracking via Hierarchical Sequence Generation",
    author = "Ren, Liliang  and
      Ni, Jianmo  and
      McAuley, Julian",
    journal = {Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), },
    month = nov,
    year = {2019},
    address = "Hong Kong, China",
    publisher = "Association for Computational Linguistics",
    website = "https://aclanthology.org/D19-1196",
    doi = "10.18653/v1/D19-1196",
    pages = "1876--1885",
    abbr= {EMNLP},
    selected={true},
    abstract = "Existing approaches to dialogue state tracking rely on pre-defined ontologies consisting of a set of all possible slot types and values. Though such approaches exhibit promising performance on single-domain benchmarks, they suffer from computational complexity that increases proportionally to the number of pre-defined slots that need tracking. This issue becomes more severe when it comes to multi-domain dialogues which include larger numbers of slots. In this paper, we investigate how to approach DST using a generation framework without the pre-defined ontology list. Given each turn of user utterance and system response, we directly generate a sequence of belief states by applying a hierarchical encoder-decoder structure. In this way, the computational complexity of our model will be a constant regardless of the number of pre-defined slots. Experiments on both the multi-domain and the single domain dialogue state tracking dataset show that our model not only scales easily with the increasing number of pre-defined domains and slots but also reaches the state-of-the-art performance.",
}

@article{xie-etal-2018-cost,
    title = "Cost-Sensitive Active Learning for Dialogue State Tracking",
    author = "Xie, Kaige  and
      Chang, Cheng  and
      Ren, Liliang  and
      Chen, Lu  and
      Yu, Kai",
    journal = {Proceedings of the 19th Annual {SIG}dial Meeting on Discourse and Dialogue, },
    month = jul,
    year = {2018},
    address = "Melbourne, Australia",
    publisher = "Association for Computational Linguistics",
    website = "https://aclanthology.org/W18-5022",
    doi = "10.18653/v1/W18-5022",
    pages = "209--213",
    abbr = {SIGDIAL},
    selected={false},
    abstract = "Dialogue state tracking (DST), when formulated as a supervised learning problem, relies on labelled data. Since dialogue state annotation usually requires labelling all turns of a single dialogue and utilizing context information, it is very expensive to annotate all available unlabelled data. In this paper, a novel cost-sensitive active learning framework is proposed based on a set of new dialogue-level query strategies. This is the first attempt to apply active learning for dialogue state tracking. Experiments on DSTC2 show that active learning with mixed data query strategies can effectively achieve the same DST performance with significantly less data annotation compared to traditional training approaches.",
}

@article{ren-etal-2018-towards,
    title = "Towards Universal Dialogue State Tracking",
    author = "Ren, Liliang  and
      Xie, Kaige  and
      Chen, Lu  and
      Yu, Kai",
    journal = {Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, },
    month = oct # "-" # nov,
    year = {2018},
    address = "Brussels, Belgium",
    publisher = "Association for Computational Linguistics",
    website = "https://aclanthology.org/D18-1299",
    doi = "10.18653/v1/D18-1299",
    pages = "2780--2786",
    selected={true},
    abbr = {EMNLP},
    abbr2 = {Oral},
    abstract = "Dialogue state tracker is the core part of a spoken dialogue system. It estimates the beliefs of possible user{'}s goals at every dialogue turn. However, for most current approaches, it{'}s difficult to scale to large dialogue domains. They have one or more of following limitations: (a) Some models don{'}t work in the situation where slot values in ontology changes dynamically; (b) The number of model parameters is proportional to the number of slots; (c) Some models extract features based on hand-crafted lexicons. To tackle these challenges, we propose StateNet, a universal dialogue state tracker. It is independent of the number of values, shares parameters across all slots, and uses pre-trained word vectors instead of explicit semantic dictionaries. Our experiments on two datasets show that our approach not only overcomes the limitations, but also significantly outperforms the performance of state-of-the-art approaches.",
}

@article{ren2020simple,
  title={A Simple Fix for Convolutional Neural Network via Coordinate Embedding},
  author={Ren, Liliang and Hao, Zhuonan},
  journal={arXiv preprint, },
  year={2020},
  selected={false},
  website ="https://arxiv.org/abs/2003.10589",
  abbr = {preprint}
}

@article{ren2019rongba,
  title={RoNGBa: A Robustly Optimized Natural Gradient Boosting Training Approach with Leaf Number Clipping},
  author={Ren, Liliang and Sun, Gen and Wu, Jiaman},
  journal={arXiv preprint, },
  year={2019},
  abbr = {preprint},
  selected={false},
  website = "https://arxiv.org/abs/1912.02338",
}


text:
# Copyright (C) 2014-2019 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)

DESCRIPTION = "Linaro Qualcomm Landing team 5.4 Kernel"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"

inherit pythonnative

require recipes-kernel/linux/linux-linaro-qcom.inc
require recipes-kernel/linux/linux-qcom-bootimg.inc

LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH ?= "release/qcomlt-5.4"
SRCREV ?= "8c79b3d123550fde184d9ef6b3d5e2e530abe0bd"

COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845)"

# Wifi firmware has a recognizable arch :(
ERROR_QA_remove = "arch"

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: bb


text:
DESCRIPTION = "Azure IoT Edge"

require azure-iot-edge.inc
require azure-iot-edge-legacy.inc

inherit cmake pkgconfig

DEPENDS = "\
	glib-2.0 \
	azure-iot-sdk \
	nanomsg \
	libuv \
"

# Modbus
SRC_URI += "git://github.com/Azure/iot-gateway-modbus.git;destsuffix=git-modbus;name=modbus"
SRCREV_modbus = "7daeca02df909278c775112e04d8255240cda48c"

# SQLite
SRC_URI += "git://github.com/Azure/iot-gateway-sqlite.git;destsuffix=git-sqlite;name=sqlite"
SRCREV_sqlite = "4fbf57d0c674f6ad41372ff2ba4b86a1380f1111"

SRC_URI += "\
	file://0001-Skip-adding-test-dependencies-if-not-required.patch \
	file://0002-Fix-nanomsg-library-detection.patch \
	file://0003-Skip-parson-submodule-init.patch \
	file://0004-Include-parson-with-main-library.patch \
	file://0005-Use-shared-openssl.patch \
	file://0006-Use-shared-libuv.patch \
"

SRC_URI += "\
	file://azure-functions-sample.sh \
	file://ble-gateway-sample.sh \
	file://dynamically-add-module-sample.sh \
	file://hello-world-sample.sh \
	file://modbus-sample.sh \
	file://native-module-host-sample.sh \
	file://proxy-sample.sh \
	file://simulated-device-cloud-upload-sample.sh \
	file://sqlite-sample.sh \
	file://azure-functions-module.sh \
	file://ble-module.sh \
	file://hello-world-module.sh \
	file://identitymap-module.sh \
	file://iothub-module.sh \
	file://logger-module.sh \
	file://simulated-device-module.sh \
"

PR = "r0"

S = "${WORKDIR}/git"
B = "${WORKDIR}/build"

# Default packages
PACKAGES = "\
	${PN} \
	${PN}-dev \
	${PN}-dbg \
	${PN}-modules \
	${PN}-modules-src \
	${PN}-samples \
	${PN}-samples-src \
	${PN}-dotnetcore \
	${PN}-java \
	${PN}-nodejs \
"

# Additional packages
PACKAGES += "\
	${PN}-module-modbus \
	${PN}-samples-modbus \
	${PN}-samples-src-modbus \
	${PN}-module-sqlite \
	${PN}-samples-sqlite \
	${PN}-samples-src-sqlite \
"

## Java ##
def get_jdk_arch(d):
    jdk_arch = d.getVar('TRANSLATED_TARGET_ARCH', True)

    if jdk_arch == "x86-64":
        jdk_arch = "amd64"
    elif jdk_arch == "powerpc":
        jdk_arch = "ppc"
    elif jdk_arch == "powerpc64":
        jdk_arch = "ppc64"
    elif (jdk_arch == "i486" or jdk_arch == "i586" or jdk_arch == "i686"):
        jdk_arch = "i386"

    return jdk_arch

def get_jdk_home(d):
    jdk_home = d.getVar("STAGING_LIBDIR", True)
    jdk_home += "/jvm/"

    if os.path.exists(jdk_home):
        for child in os.listdir(jdk_home):
            test_path = os.path.join(jdk_home, child)
            if os.path.isdir(test_path):
                jdk_home = test_path
                break

    return jdk_home

## Java ##
JAVA_LIB_DIR = "${B}/bindings/java/"
JDK_ARCH = "${@get_jdk_arch(d)}"
JDK_HOME = "${@get_jdk_home(d)}"

## Node.JS ##
NODE_LIB_DIR = "${B}/bindings/nodejs/"

## .NET Core ##
DOTNET_LIB_DIR = "${B}/bindings/dotnetcore/"

PACKAGECONFIG ??= "java nodejs dotnetcore bluetooth"

PACKAGECONFIG[java] = "-Denable_java_binding:BOOL=ON -DJDK_ARCH=${JDK_ARCH}, -Denable_java_binding:BOOL=OFF, openjdk-8"
PACKAGECONFIG[nodejs] = "-Denable_nodejs_binding:BOOL=ON, -Denable_nodejs_binding:BOOL=OFF, nodejs-native (>= 6.%) nodejs-shared (>= 6.%)"
PACKAGECONFIG[dotnetcore] = "-Denable_dotnet_core_binding:BOOL=ON, -Denable_dotnet_core_binding:BOOL=OFF, dotnet-native"
PACKAGECONFIG[bluetooth] = "-Denable_ble_module:BOOL=ON, -Denable_ble_module:BOOL=OFF, , bluez5"

EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON -Dinstall_modules:BOOL=ON -Dinstall_executables:BOOL=ON -Drun_as_a_service:BOOL=OFF"

do_modules() {
	# Modbus Module
	cp -rf ${WORKDIR}/git-modbus/modules/modbus_read ${S}/modules
	cp -rf ${WORKDIR}/git-modbus/samples/modbus_sample ${S}/samples
	echo 'add_subdirectory(modbus_read)' >> ${S}/modules/CMakeLists.txt
	echo 'add_subdirectory(modbus_sample)' >> ${S}/samples/CMakeLists.txt

	# SQLite Module
	cp -rf ${WORKDIR}/git-sqlite/modules/sqlite ${S}/modules
	cp -rf ${WORKDIR}/git-sqlite/samples/sqlite_sample ${S}/samples
	echo 'add_subdirectory(sqlite)' >> ${S}/modules/CMakeLists.txt
	echo 'add_subdirectory(sqlite_sample)' >> ${S}/samples/CMakeLists.txt
}

addtask do_modules after do_unpack before do_patch

do_configure_prepend() {
	# Java
	if ${@bb.utils.contains('PACKAGECONFIG','java','true','false',d)}; then
		export JAVA_HOME="${JDK_HOME}"
	fi

	# Node.JS
	if ${@bb.utils.contains('PACKAGECONFIG','nodejs','true','false',d)}; then
		export NODE_INCLUDE="${STAGING_INCDIR_NATIVE}/node"
		export NODE_LIB="${STAGING_LIBDIR}"
	fi

	# .NET Core
	if ${@bb.utils.contains('PACKAGECONFIG','dotnetcore','true','false',d)}; then
		sed -i 's|\${CMAKE_CURRENT_BINARY_DIR}/\.\.|${S}|g' ${S}/CMakeLists.txt
		sed -i 's|projects_to_test=\"$binding_path/Microsoft.Azure.Devices.Gateway.Tests/Microsoft.Azure.Devices.Gateway.Tests.csproj\"|projects_to_test=\"\"|g' ${S}/tools/build_dotnet_core.sh
	fi
}

do_compile_prepend() {
	# Java
	if ${@bb.utils.contains('PACKAGECONFIG','java','true','false',d)}; then
		export JAVA_HOME="${JDK_HOME}"
	fi

	# Node.JS
	if ${@bb.utils.contains('PACKAGECONFIG','nodejs','true','false',d)}; then
		export NODE_INCLUDE="${STAGING_INCDIR_NATIVE}/node"
		export NODE_LIB="${STAGING_LIBDIR}"
	fi

	# .NET Core
	if ${@bb.utils.contains('PACKAGECONFIG','dotnetcore','true','false',d)}; then
		${S}/tools/build_dotnet_core.sh --config Release
	fi
}

do_install_prepend() {
	# Fix sample module paths
	find ${S}/samples -type f -name "*.json" -exec sed -i 's|\.\./\.\./modules|${libdir}/azureiotedge/modules|g' {} +
	find ${S}/samples -type f -name "*.json" -exec sed -i 's|\./modules|${libdir}/azureiotedge/modules|g' {} +
	find ${S}/samples -type f -name "*.json" -exec sed -i 's|build/modules|${libdir}/azureiotedge/modules|g' {} +
	sed -i 's|build/samples/ble_gateway/ble_printer|\.|g' ${S}/samples/ble_gateway/src/*.json
}

do_install() {
    	# Core
    	install -d ${D}${libdir}
	install -m 0755 ${B}/core/libgateway.so ${D}${libdir}

	install -d ${D}${includedir}/azureiotedge
	install -m 0644 ${S}/core/inc/*.h ${D}${includedir}/azureiotedge
	install -m 0644 ${S}/core/inc/linux/*.h ${D}${includedir}/azureiotedge

	install -d ${D}${includedir}/azureiotedge/experimental
	install -m 0644 ${S}/core/inc/experimental/*.h ${D}${includedir}/azureiotedge/experimental

	install -d ${D}${includedir}/azureiotedge/module_loaders
	install -m 0644 ${S}/core/inc/module_loaders/dynamic_loader.h ${D}${includedir}/azureiotedge/module_loaders
	install -m 0644 ${S}/proxy/outprocess/inc/module_loaders/*.h ${D}${includedir}/azureiotedge/module_loaders

	if ${@bb.utils.contains('PACKAGECONFIG','java','true','false',d)}; then
		install -m 0644 ${S}/core/inc/module_loaders/java_loader.h ${D}${includedir}/azureiotedge/module_loaders
	fi

	# Native Proxy Gateway
	install -d ${D}${libdir}
	install -m 0755 ${B}/proxy/gateway/native/libproxy_gateway.so ${D}${libdir}

	install -d ${D}${includedir}/azureiotedge
	install -m 0644 ${S}/proxy/gateway/native/inc/*.h ${D}${includedir}/azureiotedge
	install -m 0644 ${S}/proxy/message/inc/*.h ${D}${includedir}/azureiotedge

	# Native Module Host
	install -d ${D}${libdir}
	install -m 0755 ${B}/proxy/modules/native_module_host/libnative_module_host.so ${D}${libdir}

	install -d ${D}${includedir}/azureiotedge
	install -m 0644 ${S}/proxy/modules/native_module_host/inc/*.h ${D}${includedir}/azureiotedge

	# Modules
	install -d ${D}${includedir}/azureiotedge/modules/common
	install -m 0644 ${S}/modules/common/*.h ${D}${includedir}/azureiotedge/modules/common

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/common
	install -m 0644 ${S}/modules/common/*.h ${D}${exec_prefix}/src/azureiotedge/modules/common/

	# Azure Functions Module
	install -d ${D}${libdir}/azureiotedge/modules/azure_functions
	install -m 0755 ${B}/modules/azure_functions/libazure_functions.so ${D}${libdir}/azureiotedge/modules/azure_functions/

	install -d ${D}${includedir}/azureiotedge/modules/azure_functions
	install -m 0644 ${S}/modules/azure_functions/inc/*.h ${D}${includedir}/azureiotedge/modules/azure_functions

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/azure_functions/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/azure_functions/inc
	install -m 0644 ${S}/modules/azure_functions/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/azure_functions/src/
	install -m 0644 ${S}/modules/azure_functions/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/azure_functions/inc/
	install -m 0755 ${WORKDIR}/azure-functions-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/azure_functions/build.sh

	# BLE Module
	if [ -e ${B}/modules/ble/ ]; then
		install -d ${D}${libdir}/azureiotedge/modules/ble
		install -m 0755 ${B}/modules/ble/libble.so ${D}${libdir}/azureiotedge/modules/ble/
		install -m 0755 ${B}/modules/ble/libble_c2d.so ${D}${libdir}/azureiotedge/modules/ble/

		install -d ${D}${includedir}/azureiotedge/modules/ble
		install -m 0644 ${S}/modules/ble/inc/*.h ${D}${includedir}/azureiotedge/modules/ble
		install -m 0644 ${S}/modules/ble/deps/linux/dbus-bluez/inc/*.h ${D}${includedir}/azureiotedge/modules/ble

		install -d ${D}${exec_prefix}/src/azureiotedge/modules/ble/src
		install -d ${D}${exec_prefix}/src/azureiotedge/modules/ble/inc
		install -d ${D}${exec_prefix}/src/azureiotedge/modules/ble/deps/dbus-bluez/src
		install -d ${D}${exec_prefix}/src/azureiotedge/modules/ble/deps/dbus-bluez/inc
		install -m 0644 ${S}/modules/ble/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/ble/src/
		install -m 0644 ${S}/modules/ble/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/ble/inc/
		install -m 0644 ${S}/modules/ble/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/ble/src/
		install -m 0644 ${S}/modules/ble/deps/linux/dbus-bluez/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/ble/deps/dbus-bluez/src/
		install -m 0644 ${S}/modules/ble/deps/linux/dbus-bluez/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/ble/deps/dbus-bluez/inc/
		install -m 0755 ${WORKDIR}/ble-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/ble/build.sh
	fi

	# Hello World Module
	install -d ${D}${libdir}/azureiotedge/modules/hello_world
	install -m 0755 ${B}/modules/hello_world/libhello_world.so ${D}${libdir}/azureiotedge/modules/hello_world/

	install -d ${D}${includedir}/azureiotedge/modules/hello_world
	install -m 0644 ${S}/modules/hello_world/inc/*.h ${D}${includedir}/azureiotedge/modules/hello_world

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/hello_world/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/hello_world/inc
	install -m 0644 ${S}/modules/hello_world/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/hello_world/src/
	install -m 0644 ${S}/modules/hello_world/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/hello_world/inc/
	install -m 0755 ${WORKDIR}/hello-world-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/hello_world/build.sh

	# Identity Map Module
	install -d ${D}${libdir}/azureiotedge/modules/identitymap
	install -m 0755 ${B}/modules/identitymap/libidentity_map.so ${D}${libdir}/azureiotedge/modules/identitymap/

	install -d ${D}${includedir}/azureiotedge/modules/identitymap
	install -m 0644 ${S}/modules/identitymap/inc/*.h ${D}${includedir}/azureiotedge/modules/identitymap

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/identitymap/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/identitymap/inc
	install -m 0644 ${S}/modules/identitymap/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/identitymap/src/
	install -m 0644 ${S}/modules/identitymap/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/identitymap/inc/
	install -m 0755 ${WORKDIR}/identitymap-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/identitymap/build.sh

	# IoT Hub Module
	install -d ${D}${libdir}/azureiotedge/modules/iothub
	install -m 0755 ${B}/modules/iothub/libiothub.so ${D}${libdir}/azureiotedge/modules/iothub/

	install -d ${D}${includedir}/azureiotedge/modules/iothub
	install -m 0644 ${S}/modules/iothub/inc/*.h ${D}${includedir}/azureiotedge/modules/iothub

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/iothub/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/iothub/inc
	install -m 0644 ${S}/modules/iothub/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/iothub/src/
	install -m 0644 ${S}/modules/iothub/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/iothub/inc/
	install -m 0755 ${WORKDIR}/iothub-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/iothub/build.sh

	# Logger Module
	install -d ${D}${libdir}/azureiotedge/modules/logger
	install -m 0755 ${B}/modules/logger/liblogger.so ${D}${libdir}/azureiotedge/modules/logger/

	install -d ${D}${includedir}/azureiotedge/modules/logger
	install -m 0644 ${S}/modules/logger/inc/*.h ${D}${includedir}/azureiotedge/modules/logger

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/logger/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/logger/inc
	install -m 0644 ${S}/modules/logger/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/logger/src/
	install -m 0644 ${S}/modules/logger/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/logger/inc/
	install -m 0755 ${WORKDIR}/logger-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/logger/build.sh

	# Simulated Device Module
	install -d ${D}${libdir}/azureiotedge/modules/simulated_device
	install -m 0755 ${B}/modules/simulated_device/libsimulated_device.so ${D}${libdir}/azureiotedge/modules/simulated_device/

	install -d ${D}${includedir}/azureiotedge/modules/simulated_device
	install -m 0644 ${S}/modules/simulated_device/inc/*.h ${D}${includedir}/azureiotedge/modules/simulated_device

	install -d ${D}${exec_prefix}/src/azureiotedge/modules/simulated_device/src
	install -d ${D}${exec_prefix}/src/azureiotedge/modules/simulated_device/inc
	install -m 0644 ${S}/modules/simulated_device/src/*.c ${D}${exec_prefix}/src/azureiotedge/modules/simulated_device/src/
	install -m 0644 ${S}/modules/simulated_device/inc/*.h ${D}${exec_prefix}/src/azureiotedge/modules/simulated_device/inc/
	install -m 0755 ${WORKDIR}/simulated-device-module.sh ${D}${exec_prefix}/src/azureiotedge/modules/simulated_device/build.sh

	# Modbus Module
	install -d ${D}${libdir}/azureiotedge/modules/modbus_read
	install -m 0755 ${B}/modules/modbus_read/libmodbus_read.so ${D}${libdir}/azureiotedge/modules/modbus_read/

	install -d ${D}${includedir}/azureiotedge/modules/modbus_read
	install -m 0644 ${S}/modules/modbus_read/inc/*.h ${D}${includedir}/azureiotedge/modules/modbus_read

	# SQLite Module
	install -d ${D}${libdir}/azureiotedge/modules/sqlite
	install -m 0755 ${B}/modules/sqlite/libsqlite.so ${D}${libdir}/azureiotedge/modules/sqlite/

	install -d ${D}${includedir}/azureiotedge/modules/sqlite
	install -m 0644 ${S}/modules/sqlite/inc/*.h ${D}${includedir}/azureiotedge/modules/sqlite

	# Azure Functions Sample
	install -d ${D}${datadir}/azureiotedge/samples/azure_functions
	install -m 0755 ${B}/samples/azure_functions_sample/azure_functions_sample ${D}${datadir}/azureiotedge/samples/azure_functions/azure_functions
	install -m 0644 ${S}/samples/azure_functions_sample/src/azure_functions_lin.json ${D}${datadir}/azureiotedge/samples/azure_functions/azure_functions.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/azure_functions/src
	install -m 0644 ${S}/samples/azure_functions_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/azure_functions/src/
	install -m 0644 ${S}/samples/azure_functions_sample/src/azure_functions_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/azure_functions/src/azure_functions.json
	install -m 0755 ${WORKDIR}/azure-functions-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/azure_functions/build.sh

	# BLE Gateway Sample
	if [ -e ${B}/samples/ble_gateway/ ]; then
		install -d ${D}${datadir}/azureiotedge/samples/ble_gateway
		install -m 0755 ${B}/samples/ble_gateway/ble_gateway ${D}${datadir}/azureiotedge/samples/ble_gateway/ble_gateway
		install -m 0644 ${B}/samples/ble_gateway/ble_printer/libble_printer.so ${D}${datadir}/azureiotedge/samples/ble_gateway/
		install -m 0644 ${S}/samples/ble_gateway/src/gateway_sample.json ${D}${datadir}/azureiotedge/samples/ble_gateway/ble_gateway.json

		install -d ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/src
		install -d ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/ble_printer/src
		install -d ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/ble_printer/inc
		install -m 0644 ${S}/samples/ble_gateway/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/src/
		install -m 0644 ${S}/samples/ble_gateway/src/gateway_sample.json ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/src/gateway.json
		install -m 0644 ${S}/samples/ble_gateway/ble_printer/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/ble_printer/src/
		install -m 0644 ${S}/samples/ble_gateway/ble_printer/inc/*.h ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/ble_printer/inc/
		install -m 0755 ${WORKDIR}/ble-gateway-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/ble_gateway/build.sh
	fi

	# Dynamically Add Module Sample
	install -d ${D}${datadir}/azureiotedge/samples/dynamically_add_module
	install -m 0755 ${B}/samples/dynamically_add_module_sample/dynamically_add_module_sample ${D}${datadir}/azureiotedge/samples/dynamically_add_module/dynamically_add_module
	install -m 0644 ${S}/samples/dynamically_add_module_sample/src/links_lin.json ${D}${datadir}/azureiotedge/samples/dynamically_add_module/links.json
	install -m 0644 ${S}/samples/dynamically_add_module_sample/src/modules_lin.json ${D}${datadir}/azureiotedge/samples/dynamically_add_module/modules.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/dynamically_add_module/src
	install -m 0644 ${S}/samples/dynamically_add_module_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/dynamically_add_module/src/
	install -m 0644 ${S}/samples/dynamically_add_module_sample/src/links_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/dynamically_add_module/src/links.json
	install -m 0644 ${S}/samples/dynamically_add_module_sample/src/modules_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/dynamically_add_module/src/modules.json
	install -m 0755 ${WORKDIR}/dynamically-add-module-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/dynamically_add_module/build.sh

	# Hello World Sample
	install -d ${D}${datadir}/azureiotedge/samples/hello_world
	install -m 0755 ${B}/samples/hello_world/hello_world_sample ${D}${datadir}/azureiotedge/samples/hello_world/hello_world
	install -m 0644 ${S}/samples/hello_world/src/hello_world_lin.json ${D}${datadir}/azureiotedge/samples/hello_world/hello_world.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/hello_world/src
	install -m 0644 ${S}/samples/hello_world/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/hello_world/src/
	install -m 0644 ${S}/samples/hello_world/src/hello_world_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/hello_world/src/hello_world.json
	install -m 0755 ${WORKDIR}/hello-world-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/hello_world/build.sh

	# Native Module Host Sample
	install -d ${D}${datadir}/azureiotedge/samples/native_module_host
	install -m 0755 ${B}/samples/native_module_host_sample/native_host_sample ${D}${datadir}/azureiotedge/samples/native_module_host/native_host
	install -m 0755 ${B}/samples/native_module_host_sample/native_gateway ${D}${datadir}/azureiotedge/samples/native_module_host/native_gateway
	install -m 0644 ${S}/samples/native_module_host_sample/src/native_host_sample_lin.json ${D}${datadir}/azureiotedge/samples/native_module_host/native_host.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/native_module_host/src
	install -m 0644 ${S}/samples/native_module_host_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/native_module_host/src/
	install -m 0644 ${S}/samples/native_module_host_sample/src/native_host_sample_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/native_module_host/src/native_host.json
	install -m 0755 ${WORKDIR}/native-module-host-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/native_module_host/build.sh

	# Proxy Sample
	install -d ${D}${datadir}/azureiotedge/samples/proxy
	install -m 0755 ${B}/samples/proxy_sample/proxy_sample ${D}${datadir}/azureiotedge/samples/proxy/proxy
	install -m 0755 ${B}/samples/proxy_sample/proxy_sample_remote ${D}${datadir}/azureiotedge/samples/proxy/proxy_remote
	install -m 0644 ${S}/samples/proxy_sample/src/proxy_sample_lin.json ${D}${datadir}/azureiotedge/samples/proxy/proxy.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/proxy/src
	install -m 0644 ${S}/samples/proxy_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/proxy/src/
	install -m 0644 ${S}/samples/proxy_sample/src/proxy_sample_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/proxy/src/proxy.json
	install -m 0755 ${WORKDIR}/proxy-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/proxy/build.sh

	# Simulated Device Cloud Upload Sample
	install -d ${D}${datadir}/azureiotedge/samples/simulated_device_cloud_upload
	install -m 0755 ${B}/samples/simulated_device_cloud_upload/simulated_device_cloud_upload_sample ${D}${datadir}/azureiotedge/samples/simulated_device_cloud_upload/simulated_device_cloud_upload
	install -m 0644 ${S}/samples/simulated_device_cloud_upload/src/simulated_device_cloud_upload_lin.json ${D}${datadir}/azureiotedge/samples/simulated_device_cloud_upload/simulated_device_cloud_upload.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/src
	install -d ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/inc
	install -m 0644 ${S}/samples/simulated_device_cloud_upload/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/src/
	install -m 0644 ${S}/samples/simulated_device_cloud_upload/inc/*.h ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/inc/
	install -m 0644 ${S}/samples/simulated_device_cloud_upload/src/simulated_device_cloud_upload_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/src/simulated_device_cloud_upload.json
	install -m 0755 ${WORKDIR}/simulated-device-cloud-upload-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload/build.sh

	# Modbus Sample
	install -d ${D}${datadir}/azureiotedge/samples/modbus
	install -m 0755 ${B}/samples/modbus_sample/modbus_sample ${D}${datadir}/azureiotedge/samples/modbus/modbus
	install -m 0644 ${S}/samples/modbus_sample/src/modbus_lin.json ${D}${datadir}/azureiotedge/samples/modbus/modbus.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/modbus/src
	install -m 0644 ${S}/samples/modbus_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/modbus/src/
	install -m 0644 ${S}/samples/modbus_sample/src/modbus_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/modbus/src/modbus.json
	install -m 0755 ${WORKDIR}/modbus-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/modbus/build.sh

	# SQLite Sample
	install -d ${D}${datadir}/azureiotedge/samples/sqlite
	install -m 0755 ${B}/samples/sqlite_sample/sqlite_sample ${D}${datadir}/azureiotedge/samples/sqlite/sqlite
	install -m 0644 ${S}/samples/sqlite_sample/src/sqlite_lin.json ${D}${datadir}/azureiotedge/samples/sqlite/sqlite.json

	install -d ${D}${exec_prefix}/src/azureiotedge/samples/sqlite/src
	install -m 0644 ${S}/samples/sqlite_sample/src/*.c ${D}${exec_prefix}/src/azureiotedge/samples/sqlite/src/
	install -m 0644 ${S}/samples/sqlite_sample/src/sqlite_lin.json ${D}${exec_prefix}/src/azureiotedge/samples/sqlite/src/sqlite.json
	install -m 0755 ${WORKDIR}/sqlite-sample.sh ${D}${exec_prefix}/src/azureiotedge/samples/sqlite/build.sh

	# Java Binding
	if [ -e ${JAVA_LIB_DIR} ]; then
		install -d ${D}${libdir}/azureiotedge/bindings/java
    		install -m 0755 ${JAVA_LIB_DIR}/libjava_module_host.so ${D}${libdir}/azureiotedge/bindings/java/
	fi

	# Node.JS Binding
	if [ -e ${NODE_LIB_DIR} ]; then
		install -d ${D}${libdir}/azureiotedge/bindings/nodejs
    		install -m 0755 ${NODE_LIB_DIR}/libnodejs_binding.so ${D}${libdir}/azureiotedge/bindings/nodejs/
	fi

	# .NET Core Binding
	if [ -e ${DOTNET_LIB_DIR} ]; then
		install -d ${D}${libdir}/azureiotedge/bindings/dotnetcore
    		install -m 0755 ${DOTNET_LIB_DIR}/libdotnetcore.so ${D}${libdir}/azureiotedge/bindings/dotnetcore/
	fi
}

RDEPENDS_${PN} = "\
	glib-2.0 \
	curl \
"
FILES_${PN} += "\
	${libdir}/*.so \
"

RDEPENDS_${PN}-dev += "\
	azure-iot-sdk-dev \
	nanomsg-dev \
	glib-2.0-dev \
"
FILES_${PN}-dev += "\
	${includedir}/azureiotedge \
"

FILES_${PN}-dbg += "\
	${libdir}/azureiotedge/bindings/dotnetcore/.debug \
	${libdir}/azureiotedge/bindings/java/.debug \
	${libdir}/azureiotedge/bindings/nodejs/.debug \
	${libdir}/azureiotedge/modules/azure_functions/.debug \
	${libdir}/azureiotedge/modules/ble/.debug \
	${libdir}/azureiotedge/modules/hello_world/.debug \
	${libdir}/azureiotedge/modules/identitymap/.debug \
	${libdir}/azureiotedge/modules/iothub/.debug \
	${libdir}/azureiotedge/modules/logger/.debug \
	${libdir}/azureiotedge/modules/simulated_device/.debug \
	${libdir}/azureiotedge/modules/modbus_read/.debug \
	${libdir}/azureiotedge/modules/sqlite/.debug \
	${datadir}/azureiotedge/samples/azure_functions/.debug \
	${datadir}/azureiotedge/samples/ble_gateway/.debug \
	${datadir}/azureiotedge/samples/dynamically_add_module/.debug \
	${datadir}/azureiotedge/samples/proxy/.debug \
	${datadir}/azureiotedge/samples/hello_world/.debug \
	${datadir}/azureiotedge/samples/native_module_host/.debug \
	${datadir}/azureiotedge/samples/simulated_device_cloud_upload/.debug \
	${datadir}/azureiotedge/samples/modbus/.debug \
	${datadir}/azureiotedge/samples/sqlite/.debug \
"

FILES_${PN}-modules = "\
	${libdir}/azureiotedge/modules/azure_functions/libazure_functions.so \
	${libdir}/azureiotedge/modules/ble/libble.so \
	${libdir}/azureiotedge/modules/ble/libble_c2d.so \
	${libdir}/azureiotedge/modules/hello_world/libhello_world.so \
	${libdir}/azureiotedge/modules/identitymap/libidentity_map.so \
	${libdir}/azureiotedge/modules/iothub/libiothub.so \
	${libdir}/azureiotedge/modules/logger/liblogger.so \
	${libdir}/azureiotedge/modules/simulated_device/libsimulated_device.so \
"

FILES_${PN}-modules-src = "\
	${exec_prefix}/src/azureiotedge/modules \
"

RDEPENDS_${PN}-samples += "azure-iot-edge-modules"
FILES_${PN}-samples = "\
	${datadir}/azureiotedge/samples/azure_functions/* \
	${datadir}/azureiotedge/samples/ble_gateway/* \
	${datadir}/azureiotedge/samples/dynamically_add_module/* \
	${datadir}/azureiotedge/samples/hello_world/* \
	${datadir}/azureiotedge/samples/native_module_host/* \
	${datadir}/azureiotedge/samples/proxy/* \
	${datadir}/azureiotedge/samples/simulated_device_cloud_upload/* \
"

FILES_${PN}-samples-src = "\
	${exec_prefix}/src/azureiotedge/samples/azure_functions \
	${exec_prefix}/src/azureiotedge/samples/ble_gateway \
	${exec_prefix}/src/azureiotedge/samples/dynamically_add_module \
	${exec_prefix}/src/azureiotedge/samples/hello_world \
	${exec_prefix}/src/azureiotedge/samples/native_module_host \
	${exec_prefix}/src/azureiotedge/samples/proxy \
	${exec_prefix}/src/azureiotedge/samples/simulated_device_cloud_upload \
"

FILES_${PN}-module-modbus = "\
	${libdir}/azureiotedge/modules/modbus_read/*.so \
"

RDEPENDS_${PN}-samples-modbus += "\
	azure-iot-edge-modules \
	azure-iot-edge-module-modbus \
"
FILES_${PN}-samples-modbus = "\
	${datadir}/azureiotedge/samples/modbus/* \
"

FILES_${PN}-samples-src-modbus = "\
	${exec_prefix}/src/azureiotedge/samples/modbus \
"

FILES_${PN}-module-sqlite = "\
	${libdir}/azureiotedge/modules/sqlite/*.so \
"

RDEPENDS_${PN}-samples-sqlite += "\
	azure-iot-edge-modules \
	azure-iot-edge-module-sqlite \
	azure-iot-edge-module-modbus \
"
FILES_${PN}-samples-sqlite = "\
	${datadir}/azureiotedge/samples/sqlite/* \
"

FILES_${PN}-samples-src-sqlite = "\
	${exec_prefix}/src/azureiotedge/samples/sqlite \
"

FILES_${PN}-dotnetcore = "\
	${libdir}/azureiotedge/bindings/dotnetcore/*.so \
"

FILES_${PN}-java = "\
	${libdir}/azureiotedge/bindings/java/*.so \
"

FILES_${PN}-nodejs = "\
	${libdir}/azureiotedge/bindings/nodejs/*.so \
"

RRECOMMENDS_azure-iot-edge-dev[nodeprrecs] = "1"

INSANE_SKIP_${PN} += "rpaths"
INSANE_SKIP_${PN}-modules += "rpaths"
INSANE_SKIP_${PN}-module-modbus += "rpaths"
INSANE_SKIP_${PN}-module-sqlite += "rpaths"
INSANE_SKIP_${PN}-samples += "rpaths libdir"
INSANE_SKIP_${PN}-samples-modbus += "rpaths"
INSANE_SKIP_${PN}-samples-sqlite += "rpaths"
INSANE_SKIP_${PN}-dotnetcore += "rpaths"
INSANE_SKIP_${PN}-java += "rpaths"
INSANE_SKIP_${PN}-nodejs += "rpaths"

repository: MentorEmbedded/meta-iot-cloud

repo_name: MentorEmbedded/meta-iot-cloud

gha_language: BitBake


text:
@phdthesis{Hjalmarsson:93c,
 author = {H. Hjalmarsson},
 school = {Linköping University, Sweden},
 title = {Aspects on Incomplete Modeling in System Identification},
 year = {1993}
}

repository: hhjalmars/academic-kickstart

repo_name: hhjalmars/academic-kickstart

extension: bib


text:
require swupdate.inc

SRCREV = "edd6559728d2e234ebdc03ba1d5444449ae2b92b"


text:
@ARTICLE{Nguyen2005,
  author = {Quang Vinh Nguyen and Mao Lin Huang},
  title = {{EncCon}: An approach to constructing interactive visualization of large hierarchical data},
  journal = {Information Visualization},
  year = {2005},
  volume = {4},
  pages = {1--21},
  number = {1},
  abstract = {This paper describes a new technique called EncCon for visualizing and navigating large hierarchical information. This technique consists of two components: visualization and navigation. Visualization uses a fast enclosure+connection method to calculate the geometrical layout for the display of large hierarchies in a two-dimensional space. Our technique uses a rectangular division algorithm for recursively positioning the graph. This visualization aims to maximize the utilization of display space while retaining a good geometrical layout as well as a clear (explicit) presentation of the hierarchical structure of graphs. This paper also presents an experimental evaluation of EncCon's layout algorithm. Besides the layout algorithm, EncCon uses a new focus+context viewing technique for the navigation of large hierarchies. We use the zooming+layering concept to achieve the focus+context viewing, rather than the traditional enlarge+embedded concept, which is used by most of the available focus+context techniques. Technically, it employs semi-transparency to achieve the display of two layers of information in z-coordination at the same visualization. Both context view and detail view are drawn at two separate layers. These layers are then displayed in an overlapped manner at the same physical screen space.},
  doi = {10.1057/palgrave.ivs.9500087}
}

repository: vis-au/treevisnet

repo_name: vis-au/treevisnet

gha_language: TeX


text:
package models

import "github.com/99designs/gqlgen/integration/server/remote_api"

type Viewer struct {
	User *remote_api.User
}

gha_license_id: MIT

gha_language: Go

extension: go


text:
# Custom targets for compiler and linker flags.
add_custom_target(asm)
add_custom_target(compiler)
add_custom_target(compiler-cpp)
add_custom_target(linker)

# Loading of templates are strictly not needed as they does not set any
# properties.
# They purely provides an overview as well as a starting point for supporting
# a new toolchain.
include(${CMAKE_CURRENT_LIST_DIR}/compiler/compiler_flags_template.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/linker/linker_flags_template.cmake)

# Configure the toolchain flags based on what toolchain technology is used
# (gcc, host-gcc etc.)
include(${TOOLCHAIN_ROOT}/cmake/compiler/${COMPILER}/compiler_flags.cmake OPTIONAL)
include(${TOOLCHAIN_ROOT}/cmake/linker/${LINKER}/linker_flags.cmake OPTIONAL)

repository: parthitce/zephyr

repo_name: parthitce/zephyr

extension: cmake


text:
@InProceedings{zhaoa16,
  supplementary = {Supplementary:zhaoa16-supp.pdf},
  title = {Collapsed Variational Inference for Sum-Product Networks},
  author = {Han Zhao and Tameem Adel and Geoff Gordon and Brandon Amos},
  pages = {1310-1318},
  abstract = {Sum-Product Networks (SPNs) are probabilistic inference machines that admit exact inference in linear time in the size of the network. Existing parameter learning approaches for SPNs are largely based on the maximum likelihood principle and are subject to overfitting compared to more Bayesian approaches. Exact Bayesian posterior inference for SPNs is computationally intractable. Even approximation techniques such as standard variational inference and posterior sampling for SPNs are computationally infeasible even for networks of moderate size due to the large number of local latent variables per instance. In this work, we propose a novel deterministic collapsed variational inference algorithm for SPNs that is computationally efficient, easy to implement and at the same time allows us to incorporate prior information into the optimization formulation. Extensive experiments show a significant improvement in accuracy compared with a maximum likelihood based approach.},
}

repository: mreid/papersite

repo_name: mreid/papersite


text:
@article{rayleigh1907sound_direction,
title = {{XII:} {On} Our Perception of Sound Direction},
volume = {13},
number = {74},
journal = {Philosophical Magazine Series 6},
author = {{{\noopsort{Rayleigh}}Lord Rayleigh (a.k.a. J. W. Strutt)}},
year = 1907,
pages = {214--232},
}

@article{moller1992fundamentals,
title = {Fundamentals of Binaural Technology},
volume = {36},
number = {3--4},
journal = {Applied Acoustics},
author = {M{\o}ller, Henrik},
year = 1992,
pages = {171--218},
}

@inproceedings{wenzel1990convolvotron,
title = {A System for Three-dimensional Acoustic "Visualization" in a Virtual Environment Workstation},
booktitle = {1\textsuperscript{st} IEEE Conference on Visualization},
author = {Wenzel, Elizabeth M. and Fisher, Scott S. and Stone, Philip K. and Foster, Scott H.},
year = 1990,
pages = {329--337},
}

@inproceedings{wenzel1988display,
title = {A Virtual Display System for Conveying Three-dimensional Acoustic Information},
volume = 32,
number = 2,
booktitle = {Human Factors and Ergonomics Society Annual Meeting},
author = {Wenzel, Elizabeth M. and Wightman, Frederic L. and Foster, Scott H.},
year = 1988,
month = oct,
pages = {86--90},
}
url = {http://pro.sagepub.com/content/32/2/86.short},

@article{wenzel1988development,
title = {Development of a three-dimensional auditory display system},
volume = {20},
number = {2},
journal = {{SIGCHI} Bulletin},
author = {Wenzel, Elizabeth M. and Wightman, Frederic L. and Foster, Scott H.},
month = oct,
year = 1988,
pages = {52--57},
}
url = {http://dl.acm.org/citation.cfm?id=54405},

@techreport{doll1986directional_audio,
address = {{Wright-Patterson} Airforce Base, {OH}},
type = {USAF Report},
title = {Development of Simulated Directional Audio for Cockpit Applications},
number = {AAMRL-TR-86-014},
institution = {Armstrong Aerospace Medical Research Laboratory},
author = {Doll, Theodore J. and Gerth, Jeffrey M. and Engelman, William R. and Folds, Dennis J.},
year = 1986,
}
url = {http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA175350},

@article{plenge1974localization_lateralization,
title = {On the Differences between Localization and Lateralization},
volume = 56,
number = 3,
journal = {Journal of the Acoustical Society of America},
author = {Plenge, Georg},
year = 1974,
pages = {944--951},
}
doi = {10.1121/1.1903353},
url = {http://link.aip.org/link/?JAS/56/944/1},

@book{blauert1997spatial_hearing,
title = {Spatial Hearing: The Psychophysics of Human Sound Localization},
publisher = {MIT Press},
author = {Blauert, Jens},
year = 1997,
}

@article{gardner1973median_plane,
title = {Problem of Localization in the Median Plane: Effect of Pinnae Cavity Occlusion},
volume = 53,
number = 2,
journal = {The Journal of the Acoustical Society of America},
author = {Gardner, Mark B. and Gardner, Robert S.},
year = 1973,
pages = {400--408},
}
doi = {10.1121/1.1913336},
url = {http://link.aip.org/link/?JAS/53/400/1},

@article{thurlow1967induced,
title = {Effect of Induced Head Movements on Localization of Direction of Sounds},
volume = 42,
number = 2,
journal = {Journal of the Acoustical Society of America},
author = {Thurlow, Willard R. and Runge, Philip S.},
year = 1967,
pages = {480--488},
}
doi = {10.1121/1.1910604},
url = {http://link.aip.org/link/?JAS/42/480/1},

@article{thurlow1967movements,
title = {Head Movements During Sound Localization},
volume = 42,
number = 2,
journal = {Journal of the Acoustical Society of America},
author = {Thurlow, Willard R. and Mangels, John W. and Runge, Philip S.},
year = 1967,
pages = {489--493},
}
doi = {10.1121/1.1910605},
url = {http://link.aip.org/link/?JAS/42/489/1},

@article{butler1977spectral_cues,
title = {Spectral Cues Utilized in the Localization of Sound in the Median Sagittal Plane},
volume = 61,
number = 5,
journal = {Journal of the Acoustical Society of America},
author = {Butler, Robert A. and Belendiuk, Krystyna},
year = 1977,
pages = {1264--1269},
}
doi = {10.1121/1.381427},
url = {http://link.aip.org/link/?JAS/61/1264/1},

@incollection{shaw1974external,
series = {Handbook of Sensory Physiology},
title = {The External Ear},
volume = {V/1},
booktitle = {Auditory System: Anatomy Physiology (Ear)},
publisher = {Springer},
author = {Shaw, Edgar A. G.},
editor = {Keidel, Wolf D. and Neff, William D.},
year = 1974,
pages = {455--490},
}
doi = {10.1007/978-3-642-65829-7_14},
url = {http://link.springer.com/chapter/10.1007/978-3-642-65829-7_14},

@inproceedings{sandvad1996dynamic,
title = {Dynamic Aspects of Auditory Virtual Environments},
booktitle = {100\textsuperscript{th} AES Convention},
author = {Sandvad, Jesper},
month = may,
year = {1996},
}

@article{wallach1940movements,
title = {The Role of Head Movements and Vestibular and Visual Cues in Sound Localization},
volume = 27,
number = 4,
journal = {Journal of Experimental Psychology},
author = {Wallach, Hans},
year = 1940,
pages = {339--368},
}
issn = {0022-1015},
doi = {10.1037/h0054629},

@article{perrett1997effect,
title = {The Effect of Head Rotations on Vertical Plane Sound Localization},
volume = 102,
number = 4,
journal = {Journal of the Acoustical Society of America},
author = {Perrett, Stephen and Noble, William},
year = 1997,
pages = {2325--2332},
}
doi = {10.1121/1.419642},
url = {http://link.aip.org/link/?JAS/102/2325/1},

@article{perrett1997contribution,
title = {The Contribution of Head Motion Cues to Localization of Low-pass Noise},
volume = 59,
number = 7,
journal = {Perception \& Psychophysics},
author = {Perrett, Stephen and Noble, William},
year = 1997,
pages = {1018--1026},
},
url = {http://link.springer.com/article/10.3758/BF03205517},

@phdthesis{mackensen2004localization,
type = {Dissertation},
title = {Auditive Localization. Head movements, an additional cue in Localization},
school = {Technische Universit{\"a}t Berlin},
author = {Mackensen, Philip},
year = 2004,
}

@inproceedings{minnaar2001importance,
title = {The Importance of Head Movements for Binaural Room Synthesis},
booktitle = {International Conference on Auditory Display},
author = {Minnaar, Pauli and Olesen, S{\o}ren Krarup and Christensen, Flemming and M{\o}ller, Henrik},
year = 2001,
}
url = {http://www.icad.org/Proceedings/2001/MinnaarOlesen2001.pdf},

@inproceedings{lindau2009resolution,
TITLE = {On the Spatial Resolution of Virtual Acoustic Environments for Head Movements in Horizontal, Vertical and Lateral Direction},
booktitle = {EAA Auralization Symposium},
author = {Lindau, Alexander and Weinzierl, Stefan},
year = {2009},
}

@article{fay2000fish,
title = {Directional Encoding by Fish Auditory Systems},
volume = 355,
number = 1401,
journal = {Philosophical Transactions of the Royal Society of London. Series B: Biological Sciences},
author = {Fay, Richard R. and Edds-Walton, Peggy L.},
month = sep,
year = 2000,
pages = {1281--1284},
}
note = {{PMID:} 11079415},
issn = {0962-8436, 1471-2970},
url = {http://rstb.royalsocietypublishing.org/content/355/1401/1281},
doi = {10.1098/rstb.2000.0684},

@article{macleod2006emu,
title = {Interaural Timing Difference Circuits in the Auditory Brainstem of the {Emu} ({Dromaius} novaehollandiae)},
volume = 495,
number = 2,
journal = {The Journal of Comparative Neurology},
author = {MacLeod, Katrina M. and Soares, Daphne and Carr, Catherine E.},
year = 2006,
pages = {185--201},
}
issn = {1096-9861},
url = {http://onlinelibrary.wiley.com/doi/10.1002/cne.20862/abstract},
doi = {10.1002/cne.20862},

@article{macpherson2002duplex,
title = {Listener Weighting of Cues for Lateral Angle: The {Duplex Theory} of Sound Localization Revisited},
volume = 111,
number = 5,
journal = {The Journal of the Acoustical Society of America},
author = {Macpherson, Ewan A. and Middlebrooks, John C.},
month = may,
year = 2002,
pages = {2219--2236},
}
issn = {0001-4966},
url = {http://scitation.aip.org/content/asa/journal/jasa/111/5/10.1121/1.1471898},
doi = {10.1121/1.1471898},

@article{wightman1997monaural,
title = {Monaural Sound Localization Revisited},
volume = 101,
number = 2,
journal = {The Journal of the Acoustical Society of America},
author = {Wightman, Frederic L. and Kistler, Doris J.},
month = feb,
year = 1997,
pages = {1050--1063},
}
issn = {0001-4966},
url = {http://scitation.aip.org/content/asa/journal/jasa/101/2/10.1121/1.418029},
doi = {10.1121/1.418029},

repository: mgeier/literature-review

repo_name: mgeier/literature-review


text:
---
layout: default
---

% ordered by year, then alphabetically

# Publications

# 2018

@article{batut2018asaim,
  title={ASaiM: a Galaxy-based framework to analyze microbiota data},
  author={Batut, B{\'e}r{\'e}nice and Gravouil, K{\'e}vin and Defois, Cl{\'e}mence and Hiltemann, Saskia and Brug{\`e}re, Jean-Fran{\c{c}}ois and Peyretaillade, Eric and Peyret, Pierre},
  journal={GigaScience},
  volume={7},
  number={6},
  year={2018},
  publisher={Oxford University Press}
}

@article{batut2018community,
  title={Community-driven data analysis training for biology},
  author={Batut, B{\'e}r{\'e}nice and Hiltemann, Saskia and Bagnacani, Andrea and Baker, Dannon and Bhardwaj, Vivek and Blank, Clemens and Bretaudeau, Anthony and Gu{\'e}guen, Loraine and {\v{C}}ech, Martin and Chilton, John and others},
  journal={BioRxiv},
  pages={225680},
  year={2018},
  publisher={Cold Spring Harbor Laboratory}
}

@article{boers2018development,
  title={Development and evaluation of a culture-free microbiota profiling platform (MYcrobiota) for clinical diagnostics},
  author={Boers, Stefan A and Hiltemann, Saskia D and Stubbs, Andrew P and Jansen, Ruud and Hays, John P},
  journal={European Journal of Clinical Microbiology \& Infectious Diseases},
  volume={37},
  number={6},
  pages={1081--1089},
  year={2018},
  publisher={Springer}
}

@article{afgan2018galaxy,
  title={The Galaxy platform for accessible, reproducible and collaborative biomedical analyses: 2018 update},
  author={Afgan, Enis and Baker, Dannon and Batut, Bérénice and Van den Beek, Marius and Bouvier, Dave and {\v{C}}ech, Martin and Chilton, John and Clements, Dave and Coraor, Nate and Grüning, Björn and Guerler, Aysam and Hillman-Jackson, Jennifer and Hiltemann, Saskia and Jalili, Vahid and Rasche, Helena, and Soranzo, Nicolo, and Goecks, Jeremy and Taylor, James and Nekrutenko, Anton and Blankenberg, Daniel},
  journal={Nucleic acids research},
  volume={gky379},
  year={2018},
  publisher={Oxford University Press}
}

# 2017

@article{ijspeert2017antigen,
  title={Antigen receptor galaxy: a user-friendly, web-based tool for analysis and visualization of T and B cell receptor repertoire data},
  author={IJspeert, Hanna and Van Schouwenburg, Pauline A and van Zessen, David and Pico-Knijnenburg, Ingrid and Stubbs, Andrew P and van der Burg, Mirjam},
  journal={The Journal of Immunology},
  volume={198},
  number={10},
  pages={4156--4165},
  year={2017},
  publisher={Am Assoc Immnol}
}

@article{theunissen2017antigen,
  title={Antigen receptor sequencing of paired bone marrow samples shows homogeneous distribution of acute lymphoblastic leukemia subclones},
  author={Theunissen, Prisca MJ and van Zessen, David and Stubbs, Andrew P and Faham, Malek and Zwaan, Christian M and van Dongen, Jacques JM and Van Der Velden, Vincent HJ},
  journal={haematologica},
  volume={102},
  number={11},
  pages={1869--1877},
  year={2017},
  publisher={Haematologica}
}

@article{zhang2017systematically,
  title={Systematically linking tranSMART, Galaxy and EGA for reusing human translational research data},
  author={Zhang, Chao and Bijlard, Jochem and Staiger, Christine and Scollen, Serena and van Enckevort, David and Hoogstrate, Youri and Senf, Alexander and Hiltemann, Saskia and Repo, Susanna and Pipping, Wibo and others},
  journal={F1000Research},
  volume={6},
  year={2017},
  publisher={Faculty of 1000 Ltd}
}

@article{gruning2017rna,
  title={The RNA workbench: best practices for RNA and high-throughput sequencing bioinformatics in Galaxy},
  author={Gr{\"u}ning, Bj{\"o}rn A and Fallmann, J{\"o}rg and Yusuf, Dilmurat and Will, Sebastian and Erxleben, Anika and Eggenhofer, Florian and Houwaart, Torsten and Batut, B{\'e}r{\'e}nice and Videm, Pavankumar and Bagnacani, Andrea and others},
  journal={Nucleic acids research},
  volume={45},
  number={W1},
  pages={W560--W566},
  year={2017},
  publisher={Oxford University Press}
}

# 2016

@article{olvedy2016comprehensive,
  title={A comprehensive repertoire of tRNA-derived fragments in prostate cancer},
  author={Olvedy, Michael and Scaravilli, Mauro and Hoogstrate, Youri and Visakorpi, Tapio and Jenster, Guido and Martens, Elena S},
  journal={Oncotarget},
  volume={7},
  number={17},
  pages={24766},
  year={2016},
  publisher={Impact Journals, LLC}
}

@article{ijspeert2016evaluation,
  title={Evaluation of the antigen-experienced B-cell receptor repertoire in healthy children and adults},
  author={IJspeert, Hanna and van Schouwenburg, Pauline A and van Zessen, David and Pico-Knijnenburg, Ingrid and Driessen, Gertjan J and Stubbs, Andrew P and van der Burg, Mirjam},
  journal={Frontiers in immunology},
  volume={7},
  pages={410},
  year={2016},
  publisher={Frontiers}
}

@article{erdem2016identification,
  title={Identification of patients with recurrent glioblastoma who may benefit from combined bevacizumab and CCNU therapy: a report from the BELOB trial},
  author={Erdem-Eraslan, Lale and van den Bent, Martin J and Hoogstrate, Youri and Naz-Khan, Hina and Stubbs, Andrew and van der Spek, Peter and B{\"o}ttcher, Ren{\'e} and Gao, Ya and De Wit, Maurice and Taal, Walter and others},
  journal={Cancer research},
  volume={76},
  number={3},
  pages={525--534},
  year={2016},
  publisher={AACR}
}

@article{hoogstrate2016integration,
  title={Integration of EGA secure data access into Galaxy},
  author={Hoogstrate, Youri and Zhang, Chao and Senf, Alexander and Bijlard, Jochem and Hiltemann, Saskia and van Enckevort, David and Repo, Susanna and Heringa, Jaap and Jenster, Guido and Fijneman, Remond JA and others},
  journal={F1000Research},
  volume={5},
  year={2016},
  publisher={Faculty of 1000 Ltd}
}

# 2015

@article{hiltemann2015discriminating,
  title={Discriminating somatic and germline mutations in tumor DNA samples without matching normals},
  author={Hiltemann, Saskia and Jenster, Guido and Trapman, Jan and van der Spek, Peter and Stubbs, Andrew},
  journal={Genome research},
  volume={25},
  number={9},
  pages={1382--1390},
  year={2015},
  publisher={Cold Spring Harbor Lab}
}

@article{hoogstrate2015fuma,
  title={FuMa: reporting overlap in RNA-seq detected fusion genes},
  author={Hoogstrate, Youri and B{\"o}ttcher, Ren{\'e} and Hiltemann, Saskia and van der Spek, Peter J and Jenster, Guido and Stubbs, Andrew P},
  journal={Bioinformatics},
  volume={32},
  number={8},
  pages={1226--1228},
  year={2015},
  publisher={Oxford University Press}
}

@article{alves2015next,
  title={Next-generation sequencing reveals novel rare fusion events with functional implication in prostate cancer},
  author={Alves, I Teles and Hartjes, Thomas and McClellan, Elizabeth and Hiltemann, Saskia and B{\"o}ttcher, Ren{\'e} and Dits, Natasja and Temanni, MR and Janssen, Bart and Van Workum, W and van der Spek, Peter and others},
  journal={Oncogene},
  volume={34},
  number={5},
  pages={568},
  year={2015},
  publisher={Nature Publishing Group}
}

# 2014

@article{hiltemann2014cgtag,
  title={CGtag: complete genomics toolkit and annotation in a cloud-based Galaxy},
  author={Hiltemann, Saskia and Mei, Hailiang and de Hollander, Mattias and Palli, Ivo and van der Spek, Peter and Jenster, Guido and Stubbs, Andrew},
  journal={GigaScience},
  volume={3},
  number={1},
  pages={1},
  year={2014},
  publisher={BioMed Central}
}

@article{moorhouse2014immunoglobulin,
  title={ImmunoGlobulin galaxy (IGGalaxy) for simple determination and quantitation of immunoglobulin heavy chain rearrangements from NGS},
  author={Moorhouse, Michael J and van Zessen, David and IJspeert, Hanna and Hiltemann, Saskia and Horsman, Sebastian and van der Spek, Peter J and van der Burg, Mirjam and Stubbs, Andrew P},
  journal={BMC immunology},
  volume={15},
  number={1},
  pages={59},
  year={2014},
  publisher={BioMed Central}
}

@article{hiltemann2014ireport,
  title={iReport: a generalised Galaxy solution for integrated experimental reporting},
  author={Hiltemann, Saskia and Hoogstrate, Youri and Van der Spek, Peter and Jenster, Guido and Stubbs, Andrew},
  journal={GigaScience},
  volume={3},
  number={1},
  pages={19},
  year={2014},
  publisher={BioMed Central}
}

@article{hoogstrate2014flaimapper,
  title={FlaiMapper: computational annotation of small ncRNA-derived fragments using RNA-seq high-throughput data},
  author={Hoogstrate, Youri and Jenster, Guido and Martens-Uzunova, Elena S},
  journal={Bioinformatics},
  volume={31},
  number={5},
  pages={665--673},
  year={2014},
  publisher={Oxford University Press}
}

@article{swagemakers2014pollitt,
  title={Pollitt syndrome patients carry mutation in TTDN1},
  author={Swagemakers, Sigrid MA and Jaspers, Nicolaas GJ and Raams, Anja and Heijsman, Daphne and Vermeulen, Wim and Troelstra, Christine and Kremer, Andreas and Lincoln, Stephen E and Tearle, Rick and Hoeijmakers, Jan HJ and others},
  journal={Meta gene},
  volume={2},
  pages={616--618},
  year={2014},
  publisher={Elsevier}
}

@article{ijspeert2014similar,
  title={Similar recombination-activating gene (RAG) mutations result in similar immunobiological effects but in different clinical phenotypes},
  author={IJspeert, Hanna and Driessen, Gertjan J and Moorhouse, Michael J and Hartwig, Nico G and Wolska-Kusnierz, Beata and Kalwak, Krzysztof and Pituch-Noworolska, Anna and Kondratenko, Irina and van Montfrans, Joris M and Mejstrikova, Ester and others},
  journal={Journal of Allergy and Clinical Immunology},
  volume={133},
  number={4},
  pages={1124--1133},
  year={2014},
  publisher={Elsevier}
}

# 2013

@article{alves2013gene,
  title={Gene fusions by chromothripsis of chromosome 5q in the VCaP prostate cancer cell line},
  author={Alves, In{\^e}s Teles and Hiltemann, Saskia and Hartjes, Thomas and van der Spek, Peter and Stubbs, Andrew and Trapman, Jan and Jenster, Guido},
  journal={Human genetics},
  volume={132},
  number={6},
  pages={709--713},
  year={2013},
  publisher={Springer}
}

@article{hiltemann2013ifuse,
  title={iFUSE: integrated fusion gene explorer},
  author={Hiltemann, Saskia and McClellan, Elizabeth A and van Nijnatten, Jos and Horsman, Sebastiaan and Palli, Ivo and Teles Alves, Ines and Hartjes, Thomas and Trapman, Jan and van der Spek, Peter and Jenster, Guido and others},
  journal={Bioinformatics},
  volume={29},
  number={13},
  pages={1700--1701},
  year={2013},
  publisher={Oxford University Press}
}

# 2012

@article{stubbs2012huvariome,
  title={Huvariome: a web server resource of whole genome next-generation sequencing allelic frequencies to aid in pathological candidate gene selection},
  author={Stubbs, Andrew and McClellan, Elizabeth A and Horsman, Sebastiaan and Hiltemann, Saskia D and Palli, Ivo and Nouwens, Stephan and Koning, Anton HJ and Hoogland, Frits and Reumers, Joke and Heijsman, Daphne and others},
  journal={Journal of clinical bioinformatics},
  volume={2},
  number={1},
  pages={19},
  year={2012},
  publisher={BioMed Central}
}

repository: usegalaxy-eu/website

repo_name: usegalaxy-eu/website


text:
@InProceedings{bai103,
  title = {Hierarchical Probabilistic Matrix Factorization with Network Topology for Multi-relational Social Network},
  author = {Bai, Haoli and Xu, Zenglin and Liu, Bin and Li, Yingming},
  pages = {270--285},
  abstract = {Link prediction in multi-relational social networks has attracted much attention. For instance, we may care the chance of two users being friends based on their contacts of other patterns, e.g., SMS and phone calls. In previous work, matrix factorization models are typically applied in single-relational networks; however, two challenges arise to extend it into multi-relational networks. First, the interaction of different relation types is hard to be captured. The second is the cold start problem, as the prediction of new entities in multi-relational networks becomes even more challenging. In this article we propose a novel method called Hierarchical Probabilistic Matrix Factorization with Network Topology (HPMFNT). Our model exploits the network topology by extending the Katz index into multi-relational settings, which could efficiently model the multidimensional interplay via the auxiliary information from other relationships. We also utilize the extended Katz index along with entitiy attributes to solve the cold-start problem. Experiments on two real world datasets have shown that our model outperforms the state-of-the-art with a significant margin.},
}


text:
@article{Vargas Godoy-2021-The,
    title = "The Global Water Cycle Budget: A Chronological Review",
    author = "Vargas Godoy, Mijael Rodrigo  and
      Markonis, Yannis  and
      Hanel, Martin  and
      Kysel{\'y}, Jan  and
      Papalexiou, Simon Michael",
    journal = "Surveys in Geophysics, Volume 42, Issue 5",
    volume = "42",
    number = "5",
    year = "2021",
    publisher = "Springer Science and Business Media LLC",
    url = "https://aclanthology.org/G21-113001",
    doi = "10.1007/s10712-021-09652-6",
    pages = "1075--1107",
}

repository: gwf-uwaterloo/gwf-publications

repo_name: gwf-uwaterloo/gwf-publications

branch_name: refs/heads/main

gha_language: Python


text:
package config

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestValidateAndCompleteCUDAForAllTF(t *testing.T) {
	for _, compat := range TFCompatibilityMatrix {
		config := &Config{
			Build: &Build{
				PythonVersion: "3.8",
				PythonPackages: []string{
					"tensorflow==" + compat.TF,
				},
			},
		}

		err := config.validateAndCompleteCUDA()
		require.NoError(t, err)
		require.Equal(t, compat.CUDA, config.Build.CUDA)
		require.Equal(t, compat.CuDNN, config.Build.CuDNN)
	}
}

func TestValidateAndCompleteCUDAForAllTorch(t *testing.T) {
	// test that all torch versions fill out cuda
	for _, compat := range TorchCompatibilityMatrix {
		config := &Config{
			Build: &Build{
				GPU:           true,
				PythonVersion: "3.8",
				PythonPackages: []string{
					"torch==" + compat.TorchVersion(),
				},
			},
		}

		err := config.validateAndCompleteCUDA()
		require.NoError(t, err)
		require.NotEqual(t, "", config.Build.CUDA)
		require.NotEqual(t, "", config.Build.CuDNN)
	}

	// test correctness for a subset
	for _, tt := range []struct {
		torch string
		cuda  string
		cuDNN string
	}{
		{"1.8.0", "11.1", "8"},
		{"1.7.0", "11.0", "8"},
		{"1.5.1", "10.2", "8"},
	} {
		config := &Config{
			Build: &Build{
				GPU:           true,
				PythonVersion: "3.8",
				PythonPackages: []string{
					"torch==" + tt.torch,
				},
			},
		}
		err := config.validateAndCompleteCUDA()
		require.NoError(t, err)
		require.Equal(t, tt.cuda, config.Build.CUDA)
		require.Equal(t, tt.cuDNN, config.Build.CuDNN)
	}
}

func TestUnsupportedTorch(t *testing.T) {
	// Ensure version is not known by Cog
	cudas, err := cudasFromTorch("0.4.1")
	require.NoError(t, err)
	require.Empty(t, cudas)

	// Unknown versions require cuda
	config := &Config{
		Build: &Build{
			GPU:           true,
			PythonVersion: "3.8",
			PythonPackages: []string{
				"torch==0.4.1",
			},
		},
	}
	err = config.validateAndCompleteCUDA()
	require.Error(t, err)
	require.Contains(t, err.Error(), "Cog couldn't automatically determine a CUDA version for torch==0.4.1.")

	config = &Config{
		Build: &Build{
			GPU:           true,
			CUDA:          "9.2",
			PythonVersion: "3.8",
			PythonPackages: []string{
				"torch==0.4.1",
			},
		},
	}
	err = config.validateAndCompleteCUDA()
	require.NoError(t, err)
	require.Equal(t, "9.2", config.Build.CUDA)

}

func TestPythonPackagesForArchTorchGPU(t *testing.T) {
	config := &Config{
		Build: &Build{
			GPU:           true,
			PythonVersion: "3.8",
			PythonPackages: []string{
				"torch==1.7.1",
				"torchvision==0.8.2",
				"torchaudio==0.7.2",
				"foo==1.0.0",
			},
			CUDA: "10.1",
		},
	}
	err := config.validateAndCompleteCUDA()
	require.NoError(t, err)
	require.Equal(t, "10.1", config.Build.CUDA)
	require.Equal(t, "8", config.Build.CuDNN)

	packages, indexURLs, err := config.PythonPackagesForArch("", "")
	require.NoError(t, err)
	expectedPackages := []string{
		"torch==1.7.1+cu101",
		"torchvision==0.8.2+cu101",
		"torchaudio==0.7.2",
		"foo==1.0.0",
	}
	expectedIndexURLs := []string{"https://download.pytorch.org/whl/torch_stable.html"}
	require.Equal(t, expectedPackages, packages)
	require.Equal(t, expectedIndexURLs, indexURLs)
}

func TestPythonPackagesForArchTorchCPU(t *testing.T) {
	config := &Config{
		Build: &Build{
			GPU:           false,
			PythonVersion: "3.8",
			PythonPackages: []string{
				"torch==1.7.1",
				"torchvision==0.8.2",
				"torchaudio==0.7.2",
				"foo==1.0.0",
			},
			CUDA: "10.1",
		},
	}
	err := config.validateAndCompleteCUDA()
	require.NoError(t, err)
	require.Equal(t, "10.1", config.Build.CUDA)
	require.Equal(t, "8", config.Build.CuDNN)

	packages, indexURLs, err := config.PythonPackagesForArch("", "")
	require.NoError(t, err)
	expectedPackages := []string{
		"torch==1.7.1+cpu",
		"torchvision==0.8.2+cpu",
		"torchaudio==0.7.2",
		"foo==1.0.0",
	}
	expectedIndexURLs := []string{"https://download.pytorch.org/whl/torch_stable.html"}
	require.Equal(t, expectedPackages, packages)
	require.Equal(t, expectedIndexURLs, indexURLs)
}

func TestPythonPackagesForArchTensorflowGPU(t *testing.T) {
	config := &Config{
		Build: &Build{
			GPU:           true,
			PythonVersion: "3.8",
			PythonPackages: []string{
				"tensorflow==1.15.0",
				"foo==1.0.0",
			},
			CUDA: "10.0",
		},
	}
	err := config.validateAndCompleteCUDA()
	require.NoError(t, err)
	require.Equal(t, "10.0", config.Build.CUDA)
	require.Equal(t, "7", config.Build.CuDNN)

	packages, indexURLs, err := config.PythonPackagesForArch("", "")
	require.NoError(t, err)
	expectedPackages := []string{
		"tensorflow_gpu==1.15.0",
		"foo==1.0.0",
	}
	expectedIndexURLs := []string{}
	require.Equal(t, expectedPackages, packages)
	require.Equal(t, expectedIndexURLs, indexURLs)
}

func TestCUDABaseImageTag(t *testing.T) {
	config := &Config{
		Build: &Build{
			PythonVersion: "3.8",
			PythonPackages: []string{
				"tensorflow==1.8.0",
			},
		},
	}

	err := config.validateAndCompleteCUDA()
	require.NoError(t, err)

	imageTag, err := config.CUDABaseImageTag()
	require.NoError(t, err)
	require.Equal(t, "nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04", imageTag)
}

func TestBlankBuild(t *testing.T) {
	// Naively, this turns into nil, so make sure it's a real build object
	config, err := ConfigFromYAML([]byte(`build:`))
	require.NoError(t, err)
	require.NotNil(t, config.Build)
	require.Equal(t, false, config.Build.GPU)

}

repository: amarjandu/cog

repo_name: amarjandu/cog


text:
# base recipe: meta/recipes-support/rng-tools/rng-tools_5.bb
# base branch: warrior
# base commit: 81fc280bae13c573d8b82b05ad5eb18e7882ad24

SUMMARY = "Random number generator daemon"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=0b6f033afe6db235e559456585dc8cdc"

inherit debian-package
require recipes-debian/sources/rng-tools5.inc

DEBIAN_PATCH_TYPE = "nopatch"
DEBIAN_UNPACK_DIR = "${WORKDIR}/${PN}5-${PV}"
BPN = "${PN}5"

FILESPATH_append = ":${COREBASE}/meta/recipes-support/rng-tools/rng-tools:"
SRC_URI += " \
           file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \
           file://0002-Add-argument-to-control-the-libargp-dependency.patch \
           file://underquote.patch \
           file://rng-tools-5-fix-textrels-on-PIC-x86.patch \
           file://read_error_msg.patch \
           file://init \
           file://default \
           file://rngd.service \
"

inherit autotools update-rc.d systemd

PACKAGECONFIG = "libgcrypt"
PACKAGECONFIG_libc-musl = "libargp"
PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone,"
PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt,"

do_install_append() {
    # Only install the init script when 'sysvinit' is in DISTRO_FEATURES.
    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
        install -d "${D}${sysconfdir}/init.d"
        install -m 0755 ${DEBIAN_UNPACK_DIR}/debian/rngd.init ${D}${sysconfdir}/init.d/rng-tools
        sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \
            ${D}${sysconfdir}/init.d/rng-tools

        install -d "${D}${sysconfdir}/default"
        install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools
    fi

    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
        install -d ${D}${systemd_unitdir}/system
        install -m 644 ${DEBIAN_UNPACK_DIR}/debian/rngd.service ${D}${systemd_unitdir}/system
        sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service
    fi
}

INITSCRIPT_NAME = "rng-tools"
INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ."

SYSTEMD_SERVICE_${PN} = "rngd.service"

repository: miraclelinux/meta-debian-extended

repo_name: miraclelinux/meta-debian-extended

branch_name: refs/heads/warrior


text:
DESCRIPTION = "Provides communication to the Intel XDK"
LICENSE = "Proprietary"

LIC_FILES_CHKSUM = "file://LICENSE;md5=121fc3cd97e5c1db39627399a7d72288"

DEPENDS = "nodejs-native"
RDEPENDS_${PN} = "nodejs bash"

PR = "r0"

SRC_URI = "http://download.xdk.intel.com/iot/xdk-daemon-0.1.3.tar.bz2 \
           file://node_modules.tar.bz2"

SRC_URI[md5sum] = "ffc1f11eb390e5846093c2b89fae052e"
SRC_URI[sha256sum] = "23a8c1bb025a9b4dbc22e8e656a1bebfefcaba23831b14b52e8fe9966448571e"

inherit npm

# overrriding source dir has to be done after inheriting npm
S = "${WORKDIR}/${PN}-${PV}"

do_compile_prepend () {
    cp -a ${WORKDIR}/node_modules ${WORKDIR}/${PN}-${PV}/
}

do_install () {
    install -d ${D}/opt/xdk-daemon/
    cp -a ${S}/* ${D}/opt/xdk-daemon/

    install -d ${D}${systemd_unitdir}/system/
    install -m 0644 ${S}/xdk-daemon-mdns.service ${D}${systemd_unitdir}/system/xdk-daemon.service
}

inherit systemd

SYSTEMD_SERVICE_${PN} = "xdk-daemon.service"

FILES_${PN} = "/opt/xdk-daemon/ \
               ${systemd_unitdir}/system/xdk-daemon.service \
               ${bindir}/"

repository: arfoll/meta-brendan-nodepkgs

repo_name: arfoll/meta-brendan-nodepkgs


text:
require expat.inc

PR = "r2"

do_install () {
	oe_runmake prefix="${D}${prefix}" \
		bindir="${D}${bindir}" \
		libdir="${D}${libdir}" \
		includedir="${D}${includedir}" \
		install
}

SRC_URI[src.md5sum] = "ca78d94e83e9f077b5da2bfe28ba986a"
SRC_URI[src.sha256sum] = "b48761f9b67715bb1f85371d0059d744a60ed71e72065da7d5326bbb04e26a92"

repository: libo/openembedded

repo_name: libo/openembedded

branch_name: HEAD


text:
SECTION = "devel"
SUMMARY = "Linux Trace Toolkit KERNEL MODULE"
DESCRIPTION = "The lttng-modules 2.0 package contains the kernel tracer modules"
LICENSE = "LGPLv2.1 & GPLv2 & MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3f882d431dc0f32f1f44c0707aa41128"

inherit module

COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux'

SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
           file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
           file://0001-Fix-SUNRPC-Fix-oops-when-trace-sunrpc_task-events-in.patch \
           file://0002-Fix-sunrpc-null-rpc_clnt-dereference-in-rpc_task_que.patch \
           file://0003-Fix-sunrpc-use-signed-integer-for-client-id.patch \
           file://0004-sunrpc-introduce-lttng_get_clid-helper.patch \
           "

SRC_URI[md5sum] = "46ec6c566e65cf27b391a1bb643e11b4"
SRC_URI[sha256sum] = "98af92d8c2e00f4eb63bc637a6967103cf6997434493f36e7a535a491e4fad5f"

export INSTALL_MOD_DIR="kernel/lttng-modules"

EXTRA_OEMAKE += "KERNELDIR='${STAGING_KERNEL_DIR}'"

do_install_append() {
	# Delete empty directories to avoid QA failures if no modules were built
	find ${D}/${nonarch_base_libdir} -depth -type d -empty -exec rmdir {} \;
}

python do_package_prepend() {
    if not os.path.exists(os.path.join(d.getVar('D'), d.getVar('nonarch_base_libdir')[1:], 'modules')):
        bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN'))
}

BBCLASSEXTEND = "devupstream:target"
LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3"
DEFAULT_PREFERENCE_class-devupstream = "-1"
SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \
           file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \
           file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \
           "
SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31"
PV_class-devupstream = "2.10.10+git${SRCPV}"
S_class-devupstream = "${WORKDIR}/git"
SRCREV_FORMAT ?= "lttng_git"

repository: danieltarnu/meta-marlin

repo_name: danieltarnu/meta-marlin

gha_language: PHP


text:
DESCRIPTION = "DVD access multimeda library"
SECTION = "libs/multimedia"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
SRC_URI = "http://dvdnav.mplayerhq.hu/releases/libdvdread-${PV}.tar.bz2"

SRC_URI[md5sum] = "ab7a19d3ab1a437ae754ef477d6231a4"
SRC_URI[sha256sum] = "0bea15da842a4b04a482b009d72dcc6d9c9524ccc1bf67e5748319ec5ada8097"

inherit autotools lib_package binconfig pkgconfig

CONFIGUREOPTS := "${@d.getVar('CONFIGUREOPTS', True).replace('--disable-silent-rules', ' ')}"

do_configure_prepend() {
    # For some weird reason, libdvdread only provides a `configure2' script...
    cp ${S}/configure2 ${S}/configure
}

repository: linkessence/Galileo

repo_name: linkessence/Galileo


text:
SUMMARY = "Catfish is a handy file searching tool for linux and unix"
SECTION = "x11/application"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"

inherit xfce-app distutils3 gtk-icon-cache mime-xdg

DEPENDS += "python3-distutils-extra-native"

SRC_URI[sha256sum] = "1f6facee57a659af560f06024ca6f98aa4d638bf57a8bcfb613b4dc70fcc3b47"

FILES_${PN} += "${datadir}/metainfo"

RDEPENDS_${PN} += "python3-pygobject python3-dbus"

repository: ni/meta-openembedded

repo_name: ni/meta-openembedded

branch_name: refs/heads/nilrt/master/hardknott


text:
@incollection{Barbieri2011,
 abstract = {In this work we perform an analysis of probabilistic approaches to recommendation upon a different validation perspective, which focuses on accuracy metrics such as recall and precision of the recommendation list. Traditionally, state-of-art approches to recommendations consider the recommendation process from a “missing value prediction” perspective. This approach simplifies the model validation phase that is based on the minimization of standard error metrics such as RMSE. However, recent studies have pointed several limitations of this approach, showing that a lower RMSE does not necessarily imply improvements in terms of specific recommendations. We demonstrate that the underlying probabilistic framework offers several advantages over traditional methods, in terms of flexibility in the generation of the recommendation list and consequently in the accuracy of recommendation.},
 author = {Nicola Barbieri and Giuseppe Manco},
 booktitle = {Machine Learning and Knowledge Discovery in Databases},
 doi = {10.1007/978-3-642-23780-5_21},
 pages = {172--187},
 publisher = {Springer Berlin Heidelberg},
 title = {An Analysis of Probabilistic Methods for Top-N Recommendation in Collaborative Filtering},
 year = {2011}
}

repository: gmanco/academic-kickstart

repo_name: gmanco/academic-kickstart


text:
//
// Copyright (c) SAS Institute Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

package worker

import (
	"context"
	"encoding/json"
	"errors"
	"io"
	"net/http"
	"strconv"
	"strings"
	"time"

	"github.com/rs/zerolog/log"
	"github.com/sassoftware/relic/v7/internal/httperror"
	"github.com/sassoftware/relic/v7/internal/workerrpc"
	"github.com/sassoftware/relic/v7/token"
	"github.com/sassoftware/relic/v7/token/tokencache"
)

const (
	initialDelay = 1 * time.Second
	scaleFactor  = 2.718
	maxDelay     = 30 * time.Second
)

func (t *WorkerToken) doRetry(req *http.Request) (rresp *workerrpc.Response, err error) {
	retries := t.tconf.Retries
	if retries == 0 {
		retries = defaultRetries
	}
	timeout := time.Duration(t.tconf.Timeout) * time.Second
	if timeout == 0 {
		timeout = defaultTimeout
	}
	baseCtx := req.Context()
	delay := float32(initialDelay)
	var last error
	for i := 0; i < retries; i++ {
		if i != 0 {
			log.Warn().
				Int("attempt", i).
				Int("max_attempts", retries).
				AnErr("last_error", last).
				Msg("token error; retrying")
			// delay retry with backoff
			ctx, cancel := context.WithTimeout(baseCtx, time.Duration(delay))
			<-ctx.Done()
			cancel()
			if baseCtx.Err() != nil {
				// cancelled
				return nil, baseCtx.Err()
			}
			delay *= scaleFactor
			if delay > float32(maxDelay) {
				delay = float32(maxDelay)
			}
		}
		start := time.Now()
		rresp, err := t.doOnce(req, timeout)
		if err == nil {
			t.observe(req, start, http.StatusOK)
			return rresp, nil
		}
		// translate various outcomes into a status code for metrics
		var retry bool
		code := http.StatusInternalServerError
		if httperror.Temporary(err) {
			code = http.StatusServiceUnavailable
			retry = true
		} else if errors.As(err, new(token.KeyUsageError)) {
			code = http.StatusBadRequest
		}
		if e := new(httperror.ResponseError); errors.As(err, e) {
			code = e.StatusCode
		}
		if baseCtx.Err() != nil {
			// request canceled
			code = 499
		} else if errors.Is(err, context.DeadlineExceeded) {
			code = http.StatusGatewayTimeout
		}
		t.observe(req, start, code)
		if !retry {
			return nil, err
		}
		last = err
	}
	return nil, last
}

func (t *WorkerToken) doOnce(req *http.Request, timeout time.Duration) (*workerrpc.Response, error) {
	ctx, cancel := context.WithTimeout(req.Context(), timeout)
	defer cancel()
	if req.GetBody != nil {
		var err error
		req.Body, err = req.GetBody()
		if err != nil {
			return nil, err
		}
	}
	resp, err := http.DefaultClient.Do(req.WithContext(ctx))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	if resp.StatusCode != http.StatusOK {
		// http error
		return nil, httperror.FromResponse(resp)
	}
	// json response
	blob, err := io.ReadAll(resp.Body)
	if err != nil {
		return nil, err
	}
	rresp := new(workerrpc.Response)
	if err := json.Unmarshal(blob, rresp); err != nil {
		return nil, err
	}
	if rresp.Err == "" {
		// success
		return rresp, nil
	} else if rresp.Usage {
		return nil, token.KeyUsageError{
			Key: rresp.Key,
			Err: errors.New(rresp.Err),
		}
	}
	return nil, tokenError{Err: rresp.Err, Retryable: rresp.Retryable}
}

func (t *WorkerToken) observe(req *http.Request, start time.Time, code int) {
	dur := time.Since(start).Seconds()
	name := t.tconf.Name()
	op := strings.TrimLeft(req.URL.Path, "/")
	scode := strconv.FormatInt(int64(code), 10)
	tokencache.MetricOperations.WithLabelValues(name, op).Observe(dur)
	tokencache.MetricResponses.WithLabelValues(name, op, scode).Inc()
}

type tokenError struct {
	Err       string
	Retryable bool
}

func (e tokenError) Error() string   { return e.Err }
func (e tokenError) Temporary() bool { return e.Retryable }

repository: sassoftware/relic

repo_name: sassoftware/relic


text:
package webservice

import (
	"fmt"
	"net/http"

	"github.com/mkock/autobot/vehicle"
)

// handleVehicle currently only allows enabling/disabling a specific vehicle by hash value.
func (srv *WebServer) handleVehicle(w http.ResponseWriter, r *http.Request) {
	if r.Method != http.MethodPatch {
		w.WriteHeader(http.StatusNotFound)
		return
	}
	hash := r.URL.Query().Get("hash")
	op := r.URL.Query().Get("op")
	if hash == "" || op == "" {
		srv.JSONError(w, APIError{http.StatusBadRequest, errVehicleOp, "Missing query parameter 'hash' and/or 'op'. Valid values for 'op': 'enable', 'disable'"})
		return
	}
	switch op {
	case "disable":
		if err := srv.store.Disable(hash); err != nil {
			if err == vehicle.ErrNoSuchVehicle {
				w.WriteHeader(http.StatusNotFound)
				return
			}
			srv.JSONError(w, APIError{http.StatusInternalServerError, errVehicleOp, err.Error()})
			return
		}
	case "enable":
		if err := srv.store.Enable(hash); err != nil {
			if err == vehicle.ErrNoSuchVehicle {
				w.WriteHeader(http.StatusNotFound)
				return
			}
			srv.JSONError(w, APIError{http.StatusInternalServerError, errVehicleOp, err.Error()})
			return
		}
	default:
		srv.JSONError(w, APIError{http.StatusBadRequest, errVehicleOp, fmt.Sprintf("No such operation: %s", op)})
		return
	}
	w.WriteHeader(http.StatusNoContent)
}

repository: claimly/autobot

repo_name: claimly/autobot


text:
HOMEPAGE = "http://linux.duke.edu/projects/yum/"

SRC_URI = "http://linux.duke.edu/projects/yum/download/3.2/yum-${PV}.tar.gz \
           file://hacks.patch \
           file://paths.patch \
	   file://yum-install-recommends.py \
	   file://extract-postinst.awk"
PR = "r7"

DEPENDS = "rpm-native python-native python-iniparse-native intltool-native \
	   python-urlgrabber-native yum-metadata-parser-native libxml2-native"

S = "${WORKDIR}/yum-${PV}"

inherit autotools native

do_compile_append () {
	sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum.py
	sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum-updatesd.py
}

do_install_append () {
	install -d ${STAGING_BINDIR}/
	install ${WORKDIR}/extract-postinst.awk ${STAGING_BINDIR}/
	install ${WORKDIR}/yum-install-recommends.py ${STAGING_BINDIR}/
}

SRC_URI[md5sum] = "711f518cb72a698ed98a21a374a4585e"
SRC_URI[sha256sum] = "8b3f300602ce021bf5202496b98271814935f45f3bf3c6730ba4e789b2f323c8"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty


text:
# Find MoltenVK installation
#
# This module defines
#  MoltenVK_INCLUDE_DIRS
#  MoltenVK_LIBRARIES
#  MoltenVK_FOUND

start_find_package(MoltenVK)

set(MoltenVK_INSTALL_DIR ${BSF_SOURCE_DIR}/../Dependencies/MoltenVK CACHE PATH "")
gen_default_lib_search_dirs(MoltenVK)

find_imported_includes(MoltenVK MoltenVK/mvk_vulkan.h)
find_imported_library(MoltenVK MoltenVK)

end_find_package(MoltenVK MoltenVK)

repository: cwmagnus/bsf

repo_name: cwmagnus/bsf


text:
@article{collins_transparent_2015,
	title = {Transparent reporting of a multivariable prediction model for individual prognosis or diagnosis ({TRIPOD}): the {TRIPOD} Statement},
	volume = {13},
	rights = {2015 Collins et al.; licensee {BioMed} Central.},
	issn = {1741-7015},
	url = {http://www.biomedcentral.com/1741-7015/13/1/abstract},
	doi = {10.1186/s12916-014-0241-z},
	shorttitle = {Transparent reporting of a multivariable prediction model for individual prognosis or diagnosis ({TRIPOD})},
	abstract = {Prediction models are developed to aid health care providers in estimating the probability or risk that a specific disease or condition is present (diagnostic models) or that a specific event will occur in the future (prognostic models), to inform their decision making. However, the overwhelming evidence shows that the quality of reporting of prediction model studies is poor. Only with full and clear reporting of information on all aspects of a prediction model can risk of bias and potential usefulness of prediction models be adequately assessed. The Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis ({TRIPOD}) Initiative developed a set of recommendations for the reporting of studies developing, validating, or updating a prediction model, whether for diagnostic or prognostic purposes. This article describes how the {TRIPOD} Statement was developed. An extensive list of items based on a review of the literature was created, which was reduced after a Web-based survey and revised during a 3-day meeting in June 2011 with methodologists, health care professionals, and journal editors. The list was refined during several meetings of the steering group and in e-mail discussions with the wider group of {TRIPOD} contributors. The resulting {TRIPOD} Statement is a checklist of 22 items, deemed essential for transparent reporting of a prediction model study. The {TRIPOD} Statement aims to improve the transparency of the reporting of a prediction model study regardless of the study methods used. The {TRIPOD} Statement is best used in conjunction with the {TRIPOD} explanation and elaboration document. To aid the editorial process and readers of prediction model studies, it is recommended that authors include a completed checklist in their submission (also available at www.tripod-statement.org).},
	pages = {1},
	number = {1},
	journaltitle = {{BMC} Medicine},
	author = {Collins, Gary S. and Reitsma, Johannes B. and Altman, Douglas G. and Moons, Karel {GM}},
	urldate = {2015-01-08},
	date = {2015-01-06},
	langid = {english}
}

repository: pmean/build-website

repo_name: pmean/build-website


text:
SUMMARY = "ST example of image based on Qt framework over Weston/Wayland."
LICENSE = "Proprietary"

include recipes-st/images/st-image.inc

inherit core-image features_check populate_sdk_qt5

# let's make sure we have a good image...
REQUIRED_DISTRO_FEATURES = "wayland"

IMAGE_LINGUAS = "en-us"

IMAGE_FEATURES += "\
    splash              \
    package-management  \
    ssh-server-dropbear \
    hwcodecs            \
    tools-profile       \
    eclipse-debug       \
    "

# Define ROOTFS_MAXSIZE to 3GB
IMAGE_ROOTFS_MAXSIZE = "3145728"

# Set ST_EXAMPLE_IMAGE property to '1' to allow specific use in image creation process
ST_EXAMPLE_IMAGE = "1"

#
# INSTALL addons
#
CORE_IMAGE_EXTRA_INSTALL += " \
    resize-helper \
    \
    packagegroup-framework-core-base    \
    packagegroup-framework-tools-base   \
    \
    packagegroup-framework-core         \
    packagegroup-framework-tools        \
    \
    packagegroup-framework-core-extra   \
    \
    ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'packagegroup-optee-core', '', d)} \
    ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'packagegroup-optee-test', '', d)} \
    \
    ${@bb.utils.contains('COMBINED_FEATURES', 'tpm2', 'packagegroup-security-tpm2', '', d)} \
    \
    packagegroup-st-demo \
    \
    packagegroup-framework-sample-qtwayland     \
    packagegroup-framework-sample-qt-examples   \
    "

# IMAGE_INSTALL:append = " qtbase qtwayland qtbase-plugins qtwayland-plugins "

# NOTE:
#   packagegroup-st-demo are installed on rootfs to populate the package
#   database.

repository: STMicroelectronics/meta-st-openstlinux

repo_name: STMicroelectronics/meta-st-openstlinux

branch_name: refs/heads/kirkstone

gha_license_id: NOASSERTION

gha_language: C


text:
set(DIVIDE_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libdivide)
set(DBMS_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/dbms/src ${ClickHouse_BINARY_DIR}/dbms/src)
set(DOUBLE_CONVERSION_CONTRIB_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/double-conversion)
set(METROHASH_CONTRIB_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libmetrohash/src)
set(PCG_RANDOM_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libpcg-random/include)

repository: suzukito/ClickHouse

repo_name: suzukito/ClickHouse


text:
#
# Base recipe:
#	meta/recipes-graphics/pango/pango.inc
#	meta/recipes-graphics/pango/pango_1.36.2.bb
# Base branch: daisy
# Base commit: 9e4aad97c3b4395edeb9dc44bfad1092cdf30a47
#

SUMMARY = "Framework for layout and rendering of internationalized text"
DESCRIPTION = "Pango is a library for laying out and rendering of text, \
with an emphasis on internationalization. Pango can be used anywhere \
that text layout is needed, though most of the work on Pango so far has \
been done in the context of the GTK+ widget toolkit. Pango forms the \
core of text and font handling for GTK+-2.x."
HOMEPAGE = "http://www.pango.org/"
BUGTRACKER = "http://bugzilla.gnome.org"

PR = "r1"
DPN = "pango1.0"

X11DEPENDS = "virtual/libx11 libxft"
DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv cairo harfbuzz qemu-native"

PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
PACKAGECONFIG[x11] = "--with-xft,--without-xft,${X11DEPENDS}"

BBCLASSEXTEND = "native"
DEPENDS_class-native = "glib-2.0-native cairo-native harfbuzz-native"

inherit gnomebase gtk-doc qemu debian-package

# Remove dependency on gnome
DEPENDS_remove = "gnome-common-native"

LICENSE = "LGPLv2.0+"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"

EXTRA_AUTORECONF = ""

#Remove unrecognised options: --with-mlprefix
EXTRA_OECONF = "--disable-introspection \
		--enable-explicit-deps=no \
	        --disable-debug \
"

GNOME_COMPRESS_TYPE="xz"

# seems to go wrong with default cflags
FULL_OPTIMIZATION_arm = "-O2"

LEAD_SONAME = "libpango-1.0*"
LIBV = "1.8.0"

postinst_prologue() {
if ! [ -e $D${sysconfdir}/pango ] ; then
	mkdir -p $D${sysconfdir}/pango
fi

if [ "x$D" != "x" ]; then
	${@qemu_run_binary(d, '$D','${bindir}/${MLPREFIX}pango-querymodules')} \
		$D${libdir}/pango/${LIBV}/modules/*.so \
		> $D${sysconfdir}/pango/${MLPREFIX}pango.modules 2>/dev/null

	[ $? -ne 0 ] && exit 1

	sed -i -e "s:$D::" $D${sysconfdir}/pango/${MLPREFIX}pango.modules

	exit 0
fi
}

#Remove doc when build
do_configure_prepend() {
        sed -i -e "s/docs//" ${S}/Makefile.am
        sed -i -e "/docs\/Makefile/d" ${S}/configure.ac
        sed -i -e "/docs\/version.xml/d" ${S}/configure.ac
        sed -i -e "/GTK_DOC_CHECK/d" ${S}/configure.ac
}

do_install_append () {
	if [ "${MLPREFIX}" != "" ]; then
		mv ${D}/${bindir}/pango-querymodules ${D}/${bindir}/${MLPREFIX}pango-querymodules
	fi
}

python populate_packages_prepend () {
    prologue = d.getVar("postinst_prologue", True)

    modules_root = d.expand('${libdir}/pango/${LIBV}/modules')

    do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + '${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules')
}

# Add more packages according to list of package build
# from Debian source
PACKAGES += "libpangocairo libpangoft2 libpangoxft"

# libpangoxft only avavailable when enable libx11 distro feature
ALLOW_EMPTY_libpangoxft = "1"

# Rearrange files into packages
FILES_${PN} = "${sysconfdir}/pango/* ${libdir}/libpango-*${SOLIBS}"
FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug"
FILES_${PN}-dev += "${bindir}* ${libdir}/pango/${LIBV}/modules/*.la"
FILES_libpangocairo = "${libdir}/libpangocairo*${SOLIBS}"
FILES_libpangoft2 = "${libdir}/libpangoft*${SOLIBS}"
FILES_libpangoxft = "${libdir}/libpangoxft*${SOLIBS}"

# Keep compatible with meta
RPROVIDES_${PN} += "pango-modules pango-module-indic-lang \
                    pango-module-basic-fc pango-module-arabic-lang"

# Correct name of deb file
DEBIANNAME_${PN} = "libpango-1.0-0"
DEBIANNAME_${PN}-dbg = "libpango1.0-0-dbg"
DEBIANNAME_${PN}-dev = "libpango1.0-dev"
DEBIANNAME_${PN}-doc = "libpango1.0-doc"
DEBIANNAME_libpangocairo = "libpangocairo-1.0-0"
DEBIANNAME_libpangoft2 = "libpangoft2-1.0-0"
DEBIANNAME_libpangoxft = "libpangoxft-1.0-0"

repository: nghiaht-tsdv/meta-debian

repo_name: nghiaht-tsdv/meta-debian

branch_name: refs/heads/jethro


text:
@inproceedings{ISI:000310362400467,
 author = {Serra, Francesca and Eaton, Shane M. and Borlini, Eleon and Cerbino,
Roberto and Buscaglia, Marco and Cerullo, Giulio and Osellame, Roberto
and Bellini, Tommaso},
 book-group-author = {IEEE},
 booktitle = {2012 CONFERENCE ON LASERS AND ELECTRO-OPTICS (CLEO)},
 isbn = {978-1-55752-933-6},
 issn = {2160-9020},
 note = {Conference on Lasers and Electro-Optics (CLEO), San Jose, CA, MAY 06-11,
2012},
 orcid-numbers = {Osellame, Roberto/0000-0002-4457-9902
Eaton, Shane/0000-0003-0805-011X
Cerbino, Roberto/0000-0003-0434-7741
Buscaglia, Marco/0000-0001-5010-0278
Bellini, Tommaso/0000-0003-4898-4400
Cerullo, Giulio/0000-0002-9534-2702},
 researcherid-numbers = {Osellame, Roberto/E-6076-2012
Eaton, Shane/A-2084-2008
Cerbino, Roberto/A-2286-2008
Buscaglia, Marco/C-2435-2008
Bellini, Tommaso/M-5510-2014
},
 series = {Conference on Lasers and Electro-Optics},
 times-cited = {0},
 title = {Bistability of nematic liquid crystals confined in 3D scaffold produced
by two-photon polymerization},
 unique-id = {ISI:000310362400467},
 year = {2012}
}

repository: rcerbino/starter-academic

repo_name: rcerbino/starter-academic


text:
# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
# Released under the MIT license (see COPYING.MIT for the terms)

DESCRIPTION = "LLVM based C/C++ compiler Runtime"
HOMEPAGE = "http://openmp.llvm.org/"
SECTION = "libs"

require clang.inc
require common-source.inc

DEPENDS += "ninja-native"

RPROVIDES_${PN} += "libgomp"
RPROVIDES_${PN}-dev += "libgomp-dev"

TOOLCHAIN = "clang"

LIC_FILES_CHKSUM = "file://openmp/LICENSE.txt;md5=d75288d1ce0450b28b8d58a284c09c79"

inherit cmake pkgconfig perlnative

EXTRA_OECMAKE = "-G Ninja ${S}/openmp"

PACKAGECONFIG ?= "ompt-tools"
PACKAGECONFIG_remove_arm = "ompt-tools"
PACKAGECONFIG_remove_mipsarch = "ompt-tools"
PACKAGECONFIG_remove_powerpc = "ompt-tools"

PACKAGECONFIG[ompt-tools] = "-DOPENMP_ENABLE_OMPT_TOOLS=ON,-DOPENMP_ENABLE_OMPT_TOOLS=OFF,"

do_compile() {
	ninja ${PARALLEL_MAKE}
}

do_install() {
	DESTDIR=${D} ninja ${PARALLEL_MAKE} install
}

FILES_SOLIBSDEV = ""
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
INSANE_SKIP_${PN} = "dev-so"

COMPATIBLE_HOST_riscv64 = "null"
COMPATIBLE_HOST_riscv32 = "null"
COMPATIBLE_HOST_mips64 = "null"