Func%onal Programming at LumiGuide
|
|
|
- Donna Stokes
- 9 years ago
- Views:
Transcription
1 Func%onal Programming at LumiGuide
2 Bas van Dijk? Sensor Sense (Nijmegen) Be?er (Zürich, Switzerland) ZuriHac! LumiGuide (Nijmegen)
3 I some%mes wear a suit ;)
4 LumiGuide
5 P-route Bicycle
6
7 Rack-independent sensors
8
9 1 sensor is able to simultaneously detect cycle rack spaces a minute
10 Detec%on of rack-free parking spaces
11 Detec%on of rack-free parking spaces
12 Outdoor signage Signage Indoor signage
13 Management SoZware
14 GHCJS & blaze-react (Simon Meier)
15 GHCJS & blaze-react (Simon Meier) data App state action = App { appinitialstate :: state, appinitialrequests :: [IO action], appapplyaction :: action -> Transition state action, apprender :: state -> Html action } type Transition state action = state -> (state, [IO action]) runapp :: App state action -> IO () data Html action = p :: Html action -> Html action input :: Html action (!) :: ( Attributable h action) => h -> Attribute action -> h onvaluechange :: (Text -> action) -> Attribute action
16 thea: Haskell binding to OpenCV-3.1 exposed-modules: OpenCV, OpenCV.Core, OpenCV.Core.Types, OpenCV.Core.Types.Mat, OpenCV.Core.Types.Mat.HMat, OpenCV.Core.Types.Mat.Repa, OpenCV.Core.ArrayOps, OpenCV.Unsafe, OpenCV.ImgProc.ImgFiltering, OpenCV.ImgProc.GeometricImgTransform, OpenCV.ImgProc.MiscImgTransform, OpenCV.ImgProc.Drawing, OpenCV.ImgProc.StructuralAnalysis, OpenCV.ImgProc.ObjectDetection, OpenCV.ImgProc.Types, OpenCV.ImgCodecs, OpenCV.HighGui, OpenCV.Video, OpenCV.JSON
17
18
19 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
20 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format data OutputFormat = OutputBmp OutputExr OutputHdr Bool OutputJpeg JpegParams OutputJpeg2000 OutputPng PngParams OutputPxm Bool OutputSunras OutputTiff OutputWebP Int freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
21 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
22 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
23 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
24 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> inline-c (Francesco Mazzoli, Mathieu Boespflug FP Complete) alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
25 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format cvexcept :: QuasiQuoter cvexcept = C.block { quoteexp = \s -> quoteexp C.block (cvexceptwrap s) } cvexceptwrap :: String -> String cvexceptwrap s = "Exception * {\n\ \ try\n\ \ {\n " <> s <> "\n\ \ return NULL;\n\ \ }\n\ \ catch (const cv::exception & e)\n\ \ {\n\ \ return new cv::exception(e);\n\ \ }\n\ \}" freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
26 imencode :: OutputFormat -> Mat -> Either CvException ByteString imencode format mat = unsafeperformio $ withmatptr mat $ \matptr -> withcstring ext $ \extptr -> alloca $ \(bufptrptr :: Ptr (Ptr CUChar)) -> alloca $ \(vecptrptr :: Ptr (Ptr ())) -> alloca $ \(c'bufsizeptr :: Ptr CInt) -> mask_ $ do ptrexception <- [cvexcept const int * const paramsptr = $vec-ptr:(int * params); std::vector<uchar> * vec = new std::vector<uchar>(); *$(void * * vecptrptr) = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + $vec-len:params); cv::imencode( $(char * extptr), *$(Mat * matptr), *vec, params ); *$(int * c'bufsizeptr) = vec->size(); *$(unsigned char * * bufptrptr) = &((*vec)[0]); ] vecptr <- peek vecptrptr if ptrexception /= nullptr then do freevec vecptr Left <$> cvexceptionfromptr (pure ptrexception) else do bufsize <- peek c'bufsizeptr bufptr <- peek bufptrptr bs <- BU.unsafePackCStringFinalizer (castptr bufptr) (fromintegral bufsize) (freevec vecptr) pure $ Right bs where (ext :: String, params :: Vector CInt) = marshalloutputformat format freevec :: Ptr () -> IO () freevec vecptr = [C.exp void { delete reinterpret_cast< std::vector<uchar> * >($(void * vecptr)) } ]
27 extern "C" { Exception * inline_c_opencv_imgcodecs_2_25828b73bb33f9d b33554fcb1f7f72415 ( int * params_inline_c_0, void ** vecptrptr_inline_c_1, long params_inline_c_2, char * extptr_inline_c_3, Mat * matptr_inline_c_4, int * cbufsizeptr_27_inline_c_5, unsigned char ** bufptrptr_inline_c_6 ) { try { const int * const paramsptr = params_inline_c_0; std::vector<uchar> * vec = new std::vector<uchar>(); *vecptrptr_inline_c_1 = reinterpret_cast<void *>(vec); std::vector<int> params(paramsptr, paramsptr + params_inline_c_2); cv::imencode( extptr_inline_c_3, *matptr_inline_c_4, *vec, params ); *cbufsizeptr_27_inline_c_5 = vec->size(); *bufptrptr_inline_c_6 = &((*vec)[0]); return NULL; } catch (const cv::exception & e) { return new cv::exception(e); } }
28
29 Nix Nix: a purely, func%onal, lazy and dynamically typed programming language nixpkgs: a git repository of Nix expressions for Linux & Mac OS X packages NixOS: Nix-based Linux distribu%on Hydra: Nix-based con%nuous build system nixops: deploy sets of NixOS machines
30 $ ls /nix/store 0006h2k02xc3hjy7ddr0xk3b4mxzv2vx-gsl-1.16.tar.gz.drv 006cjanl30r789cis6qww6hh3ja2ri2w-engineers.nix 008gllqbf452a044bwnwgylaf7a9dlyf-perl-Text-Glob s4z7vx9zs78bk6zjfc2jw30mlj6vg-python2.7-setuptools fqvhziw9zj7b3a4qi624y93sklk4b-namespace-clean-0.25.tar.gz.drv 00b8q75g8lw8flvsnmcsjanxpc1afl80-nodejs-isarray drv 00bnnx5ypgkk5g38wk37y9s1vjbgmagr-python-memcached-1.51.tar.gz.drv 00g8fmql256da1d2ks587d33k1qlndnk-String-ToIdentifier-EN-0.11.tar.gz 00gm250lj5wwqlq7q8gyfskcgccvmp79-topgit-0.9.tar.gz.drv
31 LumiOS NixOS extended with our own modules Configures everything: All facility servers All central servers All support servers All the worksta%ons of our engineers (virtualbox, hyperv and real hardware)
32 Development $ nix-build A lumi.facility.client /nix/store/z2mfz8h4dpcbrlmknpkqfmrjg9ni48l7-lumi-facility-client $ nix-shell A lumi.facility.client
33 Hydra Con%nuous build system let pkgs = import./default.nix; workstation = hardware : (import (import <lumi/nixpkgs.nix> + /nixos) { configuration = import <lumi/os/workstation/hydra> hardware; }).system; in { central = pkgs.lumi.central; facility.client = pkgs.lumi.facility.client; facility.server = pkgs.lumi.facility.localserver; facility.install-cd-hydra = pkgs.lumi.facility.install-cd-hydra; pris-gateway = pkgs.lumi.pris-gateway; sensors-logger = pkgs.lumi.sensors-logger; py-vision-playground = pkgs.lumi.py-vision-playground; hs-vision-playground = pkgs.lumi.hs-vision-playground; command-poller = pkgs.lumi.command-poller; tender-slurper = pkgs.lumi.tender-slurper; thea thea-profiled = pkgs.haskellpackages.thea; = pkgs.profiledhaskellpackages.thea; workstation.virtualbox workstation.hyperv workstation.real = workstation <lumi/os/workstation/hardware/virtualbox.nix>; = workstation <lumi/os/workstation/hardware/hyperv.nix>; = workstation <lumi/os/workstation/hardware/real.nix>; }
34
35 nixops: deploying NixOS machines nixops create \ -state state.nixops \ --deployment stalling-net \ <stalling-net.nix>' \ <stalling-net-hardware.nix>'
36 stalling-net.nix let facility = namespace: in { network.description = "Stalling network"; zeus = import <lumi/os/central>; hera = { imports = [ <lumi/os/support> ]; support.pgmaster = "zeus"; }; nijmegen-verloren-toren = facility 1; utrecht-lange-koestraat = facility 2; utrecht-zadelstraat = facility 3; utrecht-vredenburg = facility 4; utrecht-westplein = facility 5; utrecht-stadhuis = facility 10; Logical configura%on utrecht-jaarbeursplein = { config,... }: { imports = [ <lumi/os/pris-gateway> ]; services.lumi.pris-gateway-poster.facilityservice = facilityservice config.networking.hostname; }; denhaag-stadhuis = facility 13; amsterdam-sportpark-ijburg = facility 14; }
37 stalling-net-hardware.nix let hetzner = mainip: ; facility = nic: ipaddress: defaultgateway: ; in { zeus = {imports = [ (hetzner ") <lumi/os/central/hardware.nix> ];}; hera = {imports = [ (hetzner ") <lumi/os/support/hardware.nix> ];}; } # nic ipaddress defaultgateway nijmegen-verloren-toren = facility "eno1" " " " "; utrecht-lange-koestraat = facility "eno1" " " " "; utrecht-zadelstraat = facility "eno1" " " " "; utrecht-vredenburg = facility "eno1" " " " "; utrecht-westplein = {imports=[(facility "eno1" " " " ") (router-rebooter " ")];}; utrecht-jaarbeursplein = facility "enp3s0" " " " "; utrecht-stadhuis = facility "eno1" " " " "; amsterdam-sportpark-ijburg = facility "enp0s25" " " " "; denhaag-stadhuis = facility "enp3s0" " " " "; Physical configura%on
38 Deploy the network configura%on nixops deploy \ -state state.nixops \ --deployment stalling-net Provisions machines and other resources Copies Nix closures Ac%vates new configura%on
39 Have fun parking your bike!
40 Please ask me something?
CORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
IOS110. Virtualization 5/27/2014 1
IOS110 Virtualization 5/27/2014 1 Agenda What is Virtualization? Types of Virtualization. Advantages and Disadvantages. Virtualization software Hyper V What is Virtualization? Virtualization Refers to
Reading and Writing PCD Files The PCD File Format The Grabber Interface Writing a Custom Grabber PCL :: I/O. Suat Gedikli, Nico Blodow
PCL :: I/O Suat Gedikli, Nico Blodow July 1, 2011 Outline 1. Reading and Writing PCD Files 2. The PCD File Format 3. The Grabber Interface 4. Writing a Custom Grabber global functions in the namespace
Server Virtualization with Windows Server Hyper-V and System Center
Course 20409B: Server Virtualization with Windows Server Hyper-V and System Center Course Details Course Outline Module 1: Evaluating the Environment for Virtualization This module provides an overview
Installing Java (Windows) and Writing your First Program
Appendix Installing Java (Windows) and Writing your First Program We will be running Java from the command line and writing Java code in Notepad++ (or similar). The first step is to ensure you have installed
Functional Programming in C++11
Functional Programming in C++11 science + computing ag IT-Dienstleistungen und Software für anspruchsvolle Rechnernetze Tübingen München Berlin Düsseldorf An Overview Programming in a functional style
Arduino Internet Connectivity: Maintenance Manual Julian Ryan Draft No. 7 April 24, 2015
Arduino Internet Connectivity: Maintenance Manual Julian Ryan Draft No. 7 April 24, 2015 CEN 4935 Senior Software Engineering Project Instructor: Dr. Janusz Zalewski Software Engineering Program Florida
Keil C51 Cross Compiler
Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation
Last not not Last Last Next! Next! Line Line Forms Forms Here Here Last In, First Out Last In, First Out not Last Next! Call stack: Worst line ever!
ECE 551 C++ Programming, Data structures, and Algorithms Abstract Data Type: Stack Last In First Out (LIFO) 1 2 2 1 4 3 1 3 4 Stacks in Programming Worst line ever! 5 3 1 5 Stacks are not useful for waiting
Retour vers le futur des bibliothèques de squelettes algorithmiques et DSL
Retour vers le futur des bibliothèques de squelettes algorithmiques et DSL Sylvain Jubertie [email protected] Journée LaMHA - 26/11/2015 Squelettes algorithmiques 2 / 29 Squelettes algorithmiques
JAVA Program For Processing SMS Messages
JAVA Program For Processing SMS Messages Krishna Akkulu The paper describes the Java program implemented for the MultiModem GPRS wireless modem. The MultiModem offers standards-based quad-band GSM/GPRS
IBM Watson Ecosystem. Getting Started Guide
IBM Watson Ecosystem Getting Started Guide Version 1.1 July 2014 1 Table of Contents: I. Prefix Overview II. Getting Started A. Prerequisite Learning III. Watson Experience Manager A. Assign User Roles
Help on the Embedded Software Block
Help on the Embedded Software Block Powersim Inc. 1. Introduction The Embedded Software Block is a block that allows users to model embedded devices such as microcontrollers, DSP, or other devices. It
First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
Object Oriented Software Design II
Object Oriented Software Design II Real Application Design Christian Nastasi http://retis.sssup.it/~lipari http://retis.sssup.it/~chris/cpp Scuola Superiore Sant Anna Pisa April 25, 2012 C. Nastasi (Scuola
System Requirements for Microsoft Dynamics SL 2015
System for Microsoft Dynamics SL 2015 Overview This document contains the minimum client hardware requirements, server recommendations and Terminal Server minimum hardware requirements supported by the
Software documentation systems
Software documentation systems Basic introduction to various user-oriented and developer-oriented software documentation systems. Ondrej Holotnak Ondrej Jombik Software documentation systems: Basic introduction
Datacenter Operating Systems
Datacenter Operating Systems CSE451 Simon Peter With thanks to Timothy Roscoe (ETH Zurich) Autumn 2015 This Lecture What s a datacenter Why datacenters Types of datacenters Hyperscale datacenters Major
Mobile Labs Plugin for IBM Urban Code Deploy
Mobile Labs Plugin for IBM Urban Code Deploy Thank you for deciding to use the Mobile Labs plugin to IBM Urban Code Deploy. With the plugin, you will be able to automate the processes of installing or
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions
Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions MicroStrategy Mobile SDK 1 Agenda MicroStrategy Mobile SDK Overview Requirements & Setup Custom App Delegate Custom
Android and OpenCV Tutorial
Android and OpenCV Tutorial Computer Vision Lab Tutorial 26 September 2013 Lorenz Meier, Amaël Delaunoy, Kalin Kolev Institute of Visual Computing Tutorial Content Strengths / Weaknesses of Android Java
Overview of Web Services API
1 CHAPTER The Cisco IP Interoperability and Collaboration System (IPICS) 4.5(x) application programming interface (API) provides a web services-based API that enables the management and control of various
1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
Version control with Subversion
Version control with Subversion Davor Cubranic Grad Seminar October 6, 2011 With searching comes loss And the presence of absence: My Thesis not found. Version Control A tool for managing changes to a
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Sample CSE8A midterm Multiple Choice (circle one)
Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names
TCP/IP Networking, Part 2: Web-Based Control
TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next
Government Girls Polytechnic, Bilaspur
Government Girls Polytechnic, Bilaspur Name of the Lab: Internet & Web Technology Lab Title of the Practical : Dynamic Web Page Design Lab Class: CSE 6 th Semester Teachers Assessment:20 End Semester Examination:50
Linux Kernel Rootkit : Virtual Terminal Key Logger
Linux Kernel Rootkit : Virtual Terminal Key Logger Jeena Kleenankandy Roll No. P140066CS Depatment of Computer Science and Engineering National Institute of Technology Calicut jeena [email protected]
NETFORT LANGUARDIAN INSTALLING LANGUARDIAN ON MICROSOFT HYPER V
NETFORT LANGUARDIAN INSTALLING LANGUARDIAN ON MICROSOFT HYPER V Instructions apply to installs on Windows Server 2012 R2 Before you begin When deployed in a Hyper V environment, LANGuardian will capture
Working With Virtual Hosts on Pramati Server
Working With Virtual Hosts on Pramati Server 13 Overview Virtual hosting allows a single machine to be addressed by different names. There are two ways for configuring Virtual Hosts. They are: Domain Name
Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG
Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written
Drupal CMS for marketing sites
Drupal CMS for marketing sites Intro Sample sites: End to End flow Folder Structure Project setup Content Folder Data Store (Drupal CMS) Importing/Exporting Content Database Migrations Backend Config Unit
Using NixOS for declarative deployment and testing
Using NixOS for declarative deployment and testing Sander van der Burg Eelco Dolstra Delft University of Technology, EEMCS, Department of Software Technology February 5, 2010 Linux distributions There
Server Virtualization with Windows Server Hyper-V and System Center
Server Virtualization with Windows Server Hyper-V and System Center About this Course This five day course will provide you with the knowledge and skills required to design and implement Microsoft Server
PetaLinux SDK User Guide. Application Development Guide
PetaLinux SDK User Guide Application Development Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.
Iotivity Programmer s Guide Soft Sensor Manager for Android
Iotivity Programmer s Guide Soft Sensor Manager for Android 1 CONTENTS 2 Introduction... 3 3 Terminology... 3 3.1 Physical Sensor Application... 3 3.2 Soft Sensor (= Logical Sensor, Virtual Sensor)...
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Virtualization Technologies
12 January 2010 Virtualization Technologies Alex Landau ([email protected]) IBM Haifa Research Lab What is virtualization? Virtualization is way to run multiple operating systems and user applications on
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
Hardware and Software Requirements for Installing California.pro
Hardware and Requirements for Installing California.pro This document lists the hardware and software requirements to install and run California.pro. Workstation with SQL Server Recommended: 64-Bit Windows
I/O Virtualization The Next Virtualization Frontier
I/O Virtualization The Next Virtualization Frontier Dennis Martin President Demartek Demartek Company Overview Industry analysis with on-site test lab Lab includes servers, networking and storage infrastructure
APS PACKAGE LISTEQ CLOUD DESKTOP Specification
1. INTRODUCTION The LISTEQ Cloud Desktop software is delivered by LISTEQ to Hosting/Service Providers and Telcos (Service Providers). For the integration, provisioning, user settings, control and billing,
DHCP Server Port-Based Address Allocation
The feature provides port-based address allocation support on the Cisco IOS Dynamic Host Configuration Protocol (DHCP) server for the Ethernet platform. The DHCP server provides address assignment support
Data Management Applications with Drupal as Your Framework
Data Management Applications with Drupal as Your Framework John Romine UC Irvine, School of Engineering UCCSC, IR37, August 2013 [email protected] What is Drupal? Open-source content management system PHP,
For the next three questions, consider the class declaration: Member function implementations put inline to save space.
Instructions: This homework assignment focuses on basic facts regarding classes in C++. Submit your answers via the Curator System as OQ4. For the next three questions, consider the class declaration:
3F6 - Software Engineering and Design. Handout 10 Distributed Systems I With Markup. Steve Young
3F6 - Software Engineering and Design Handout 10 Distributed Systems I With Markup Steve Young Contents 1. Distributed systems 2. Client-server architecture 3. CORBA 4. Interface Definition Language (IDL)
Platform as a Service and Container Clouds
John Rofrano Senior Technical Staff Member, Cloud Automation Services, IBM Research [email protected] or [email protected] Platform as a Service and Container Clouds using IBM Bluemix and Docker for Cloud
Functional Programming. Functional Programming Languages. Chapter 14. Introduction
Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The
Continuous Integration Part 2
1 Continuous Integration Part 2 This blog post is a follow up to my blog post Continuous Integration (CI), in which I described how to execute test cases in Code Tester (CT) in a CI environment. What I
CSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College November 25, 2015 Outline Outline 1 Chapter 12: C++ Templates Outline Chapter 12: C++ Templates 1 Chapter 12: C++ Templates
Server Virtualization with Windows Server Hyper-V and System Center
Course 20409 Server Virtualization with Windows Server Hyper-V and System Center Length: Language(s): Audience(s): 5 Days English IT Professionals Level: 300 Technology: Windows Server 2012 Type: Delivery
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
How To Write A Distributed Deployment System On Nix (Programming)
Delft University of Technology, EEMCS, Department of Software Technology Philips Healthcare, Philips Informatics Infrastructure (PII), Best February 2, 2012 Service Oriented Computing The Service Oriented
Telit AppZone Programming Tips
Telit AppZone Programming Tips Table of Contents Basic Operations... 2 1. Print messages to UART... 2 2. Working with processes... 3 3. File System... 4 4. Timers... 5 5. SMS... 6 6. AT Commands... 7 7.
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem Dr Rosemary Francis, Ellexus For years instruction-level debuggers and profilers have improved in leaps and bounds. Similarly, system-level
Operating Systems Virtualization mechanisms
Operating Systems Virtualization mechanisms René Serral-Gracià Xavier Martorell-Bofill 1 1 Universitat Politècnica de Catalunya (UPC) May 26, 2014 Contents 1 Introduction 2 Hardware Virtualization mechanisms
Resco CRM Server Guide. How to integrate Resco CRM with other back-end systems using web services
Resco CRM Server Guide How to integrate Resco CRM with other back-end systems using web services Integrating Resco CRM with other back-end systems using web services (Data, Metadata) This document consists
Deploying Dedicated Virtual Desktops in Hosted Environments
Deploying Dedicated Virtual Desktops in Hosted Environments Citrix XenDesktop 5.6 for Windows Server 2008 R2 Deploying Dedicated Desktops in Hosted Environments Hosted Server VDI enables CSPs to provide
Deploying Dedicated Virtual Desktops in Hosted Environments
Deploying Dedicated Virtual Desktops in Hosted Environments Technical Preview Release Citrix XenDesktop 5.6 for Windows Server 2008 R2 Deploying Dedicated Desktops in Hosted Environments Hosted Server
The Nix project. Sander van der Burg. June 24, 2013. Delft University of Technology, EEMCS, Department of Software Technology
Delft University of Technology, EEMCS, Department of Software Technology June 24, 2013 Software deployment Software deployment Software deployment All of the activities that make a software system available
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
Virtualization Support - Real Backups of Virtual Environments
Virtualization Support Real Backups of Virtual Environments Contents Virtualization Challenges 3 The Benefits of Agentless Backup 4 Backup and Recovery Built for Virtualized Environments 4 Agentless in
Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh
Anh Quach, Matthew Rajman, Bienvenido Rodriguez, Brian Rodriguez, Michael Roefs, Ahmed Shaikh Introduction History, Advantages, Common Uses OS-Level Virtualization Hypervisors Type 1 vs. type 2 hypervisors
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Specific Simple Network Management Tools
Specific Simple Network Management Tools Jürgen Schönwälder University of Osnabrück Albrechtstr. 28 49069 Osnabrück, Germany Tel.: +49 541 969 2483 Email: Web:
Deep Freeze and Microsoft System Center Configuration Manager 2012 Integration
1 Deep Freeze and Microsoft System Center Configuration Manager 2012 Integration Technical Paper Last modified: May 2015 Web: www.faronics.com Email: [email protected] Phone: 800-943-6422 or 604-637-3333
WCF and Windows Activation Service(WAS)
WCF and Windows Activation Service(WAS) We have writing WCF services for the last year or so and many have remarked that these can be a pain because of the hosting requirements. In fact I think some wonder
Deploying Windows Streaming Media Servers NLB Cluster and metasan
Deploying Windows Streaming Media Servers NLB Cluster and metasan Introduction...................................................... 2 Objectives.......................................................
Installing & Using KVM with Virtual Machine Manager COSC 495
Installing & Using KVM with Virtual Machine Manager COSC 495 1 Abstract:. There are many different hypervisors and virtualization software available for use. One commonly use hypervisor in the Linux system
Implementing a WCF Service in the Real World
Implementing a WCF Service in the Real World In the previous chapter, we created a basic WCF service. The WCF service we created, HelloWorldService, has only one method, called GetMessage. Because this
CSCE 665: Lab Basics. Virtual Machine. Guofei Gu
CSCE 665: Lab Basics Guofei Gu Virtual Machine Virtual Machine: a so?ware implementacon of a programmable machine(client), where the so?ware implementacon is constrained within another computer(host) at
deploying meteor with meteor up
deploying meteor with meteor up reference http://code.krister.ee/hosting-multiple-instances-of-meteor-on-digitalocean/ https://rtcamp.com/tutorials/nodejs/node-js-npm-install-ubuntu/ https://gentlenode.com/journal/meteor-19-deploying-your-applications-in-asnap-with-meteor-up-mup/41
Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin
Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable
Services Provider License Agreement Cloud Platform Suite & Guest
Services Provider License Agreement Cloud Platform Suite & Guest Frequently Asked Questions (FAQ) Last modified February 2014 Table of Contents Q1. What is the Cloud Platform Suite?... 2 Q2. What is the
CONFIGURING MNLB FOR LOAD BALANCING EXCHANGE 2013 CU2 CAS SERVERS FOR HIGH AVAILABILITY
CONFIGURING MNLB FOR LOAD BALANCING EXCHANGE 2013 CU2 CAS SERVERS FOR HIGH AVAILABILITY INFRASTRUCTURE CONFIGURATION 2 CAS Servers Virtual Machines running on Hyper-V Windows Server 2013 R2 Generation
Module 5 Introduction to Processes and Controls
IT Terminology 1. General IT Environment The general IT environment is the umbrella over the following IT processes: 1. Operating Systems 2. Physical and Logical Security 3. Program Changes 4. System Development
Configuring Data Masking
Configuring Data Masking Intellicus Web-based Reporting Suite Version 4.5 Enterprise Professional Smart Developer Smart Viewer Intellicus Technologies [email protected] www.intellicus.com Copyright 2009
Eylean server deployment guide
Eylean server deployment guide Contents 1 Minimum software and hardware requirements... 2 2 Setting up the server using Eylean.Server.Setup.exe wizard... 2 3 Manual setup with Windows authentication -
9/26/2011. What is Virtualization? What are the different types of virtualization.
CSE 501 Monday, September 26, 2011 Kevin Cleary [email protected] What is Virtualization? What are the different types of virtualization. Practical Uses Popular virtualization products Demo Question,
Chapter 15 Functional Programming Languages
Chapter 15 Functional Programming Languages Introduction - The design of the imperative languages is based directly on the von Neumann architecture Efficiency (at least at first) is the primary concern,
Web Development using PHP (WD_PHP) Duration 1.5 months
Duration 1.5 months Our program is a practical knowledge oriented program aimed at learning the techniques of web development using PHP, HTML, CSS & JavaScript. It has some unique features which are as
Creating Mobile Applications on Top of SAP, Part 1
Creating Mobile Applications on Top of SAP, Part 1 Applies to: SAP ERP 6.0, NetWeaver > 7.10. For more information, visit the Mobile homepage. Summary This tutorial is starting point for a series of tutorials
Compiler Construction
Compiler Construction Lecture 1 - An Overview 2003 Robert M. Siegfried All rights reserved A few basic definitions Translate - v, a.to turn into one s own language or another. b. to transform or turn from
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
