Interfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland.

Size: px
Start display at page:

Download "Interfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland."

Transcription

1 Dynamic LINQ Radu Nicolescu Department of Computer Science University of Auckland 25 August / 20

2 1 IEnumerable and IQueryable 2 Dynamic LINQ 3 Dynamic filter Where 4 Dynamic sorting OrderBy 5 Dynamic sorting OrderBy on SQL 2 / 20

3 Interfaces Interface IEnumerable<T>: in-memory sequences usual implementation class Enumerable lambda expressions compiled to in-memory functions Subinterface IQueryable<T>: specialised versions other targets possible lambda expressions compiled to expression trees additional properties Expression : expression tree Provider : specialised expression tree translator, e.g. to SQL Conversions via extension methods: AsQueryable() : IEnumerable<T> IQueryable<T> AsEnumerable() : IQueryable<T> IEnumerable<T> 4 / 20

4 Dynamic LINQ Dynamic LINQ consists of several extension methods for the IQueryable interface, which allow a flexible and crisp style, where the lambdas or even the LINQ methods are determined at runtime only In a nutshell, instead of lambdas, you can write string expressions, which are dynamically parsed and translated into corresponding expression trees Implementation in file Dynamic.cs, class DynamicQueryable you can include the source into your project (VS, cmdline), or compile the source as library (DLL), which you further include in a project (VS, cmdline) or snippet (LINQPad) 6 / 20

5 Dynamic LINQ Dynamic LINQ is NOT part of the standard LINQ, but is based on third party samples and projects (in fact, we use a very early version) Dynamic LINQ dynamically composes queries using strings... Strings which come from outside should be carefully screened, otherwise there may be an injection risk If interested, you can read more about this and alternate libraries see next slide 7 / 20

6 Dynamic LINQ discussions and alternate approaches Is Injection Possible through Dynamic LINQ? is-injection-possible-through-dynamic-linq Security Issue: introduces an additional attack surface to code injection #62 https: //github.com/kahanu/system.linq.dynamic/issues/62 Building LINQ Queries at Runtime in C# Calling functions in LINQ queries What is LINQKit? 8 / 20

7 Dynamic LINQ Dynamic.cs bird s eye view Extension methods Where and OrderBy 1 namespace System. Linq. Dynamic { 2 p u b l i c s t a t i c c l a s s DynamicQueryable { 3 p u b l i c s t a t i c I Q u e r y a b l e <T> Where<T> ( 4 t h i s I Q u e r y a b l e <T> source, 5 s t r i n g p r e d i c a t e, params object [ ] v a l u e s ) 6 7 p u b l i c s t a t i c I Q u e r y a b l e <T> OrderBy<T> ( 8 t h i s I Q u e r y a b l e <T> source, 9 s t r i n g o r d e r i n g, params object [ ] v a l u e s ) / 20

8 Dynamic filter Where Enumerable Where vs equivalent Dynamic Queryable Where 1 s t r i n g [ ] v = { the, q u i c k, brown, f o x } ; 2 3 var w = v. Where ( x => x. Length == 3 ) ; 4 5 var w2 = v. AsQueryable ( ). Where ( Length == 3 ) ; 6 7 var w3 = v. AsQueryable ( ). Where ( Length 3 ) ; AsQueryable() casting required, to match the signature in DynamicQueryable w3 uses a parametrised query, which is safer if input parameters come from outside 11 / 20

9 Dynamic filter Where Enumerable Where vs equivalent Dynamic Queryable Where 1 var m y l i s t = new L i s t <MyCustomer> { 2 new MyCustomer { 3 CustomerID= r n i c, Name= Radu, Age=52}, } ; 6 7 var l 1 = m y l i s t. Where ( c => c. Age > 4 0 ) ; 8 9 var l 2 = m y l i s t. AsQueryable ( ). Where ( Age > 40 ) ; var l 3 = m y l i s t. AsQueryable ( ). Where ( Age 4 0 ) ; AsQueryable() casting required, to match the signature in DynamicQueryable l3 uses a parametrised query, which is safer / 20

10 Dynamic sorting OrderBy ASC Enumerable OrderBy vs equivalent Dynamic Queryable OrderBy 1 MyOrder [ ] MyOrders = new [ ] { 2 new MyOrder { 3 OrderID= 1010, CustomerID= r n i c,..., }, } 6 7 var a1 = MyOrders. OrderBy ( o => o. P r i c e ) 8. ThenBy ( o => o. OrderID ) ; 9 10 var a2 = MyOrders. AsQueryable ( ) 11. OrderBy ( P r i c e, OrderID ) ; Sorting on multiple criteria 14 / 20

11 Dynamic sorting OrderBy DESC Enumerable OrderBy vs equivalent Dynamic Queryable OrderBy 1 MyOrder [ ] MyOrders = new [ ] { 2 new MyOrder { 3 OrderID= 1010, CustomerID= r n i c,..., }, } 6 7 var d1 = MyOrders. OrderByDescending ( o => o. P r i c e ) 8. ThenByDescending ( o => o. OrderID ) ; 9 10 var d2 = MyOrders. AsQueryable ( ) 11. OrderBy ( P r i c e DESC, OrderID DESC ) Sorting on multiple criteria 15 / 20

12 Dynamic sorting OrderBy ASC on SQL SQL: Queryable OrderBy vs equivalent Dynamic Queryable OrderBy 1 // MyOrders refers to the population of table MyOrders 2 3 var a1 = MyOrders. OrderBy ( o => o. P r i c e ) 4. ThenBy ( o => o. OrderID ) ; 5 6 var a2 = MyOrders //. AsQueryable ( ) 7. OrderBy ( P r i c e, OrderID ) ; Sorting on multiple criteria In this case, MyOrders is already IQueryable, so no cast needed 17 / 20

13 Dynamic sorting OrderBy ASC generated SQL OrderBy( Price, OrderID ) generated SQL 1 SELECT 2 FROM [ MyOrders ] AS [ t0 ] 3 ORDER BY [ t0 ]. [ P r i c e ], [ t0 ]. [ OrderID ] Same generated SQL in both cases 18 / 20

14 Dynamic sorting OrderBy DESC on SQL SQL: Queryable OrderBy vs equivalent Dynamic Queryable OrderBy 1 // MyOrders refers to the population of table MyOrders 2 3 var d1 = MyOrders. OrderByDescending ( o => o. P r i c e ) 4. ThenByDescending ( o => o. OrderID ) ; 5 6 var d2 = MyOrders //. AsQueryable ( ) 7. OrderBy ( P r i c e DESC, OrderID DESC ) Sorting on multiple criteria In this case, MyOrders is already IQueryable, so no cast needed 19 / 20

15 Dynamic sorting OrderBy DESC generated SQL OrderBy( Price DESC, OrderID DESC ) generated SQL 1 SELECT 2 FROM [ MyOrders ] AS [ t0 ] 3 ORDER BY [ t0 ]. [ P r i c e ] DESC, [ t0 ]. [ OrderID ] DESC Same generated SQL in both cases 20 / 20

Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland.

Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland. LINQ-to-SQL Part 2 Radu Nicolescu Department of Computer Science University of Auckland 7 October 2015 1 / 22 1 Dynamic LINQ 2 Inner joins 3 Associations 4 Joins by navigation 5 Load options 6 Deferred

More information

Functional Programming with F# Overview and Basic Concepts

Functional Programming with F# Overview and Basic Concepts Functional Programming with F# Overview and Basic Concepts Radu Nicolescu Department of Computer Science University of Auckland 27 Sep 2017 1 / 52 1 Background 2 Overview 3 Type System and Type Inference

More information

Introduction to ASM - ByteCode Manipulating Tool

Introduction to ASM - ByteCode Manipulating Tool Introduction to ASM - ByteCode Manipulating Tool nadeesh.tv@oracle.com ORACLE India Pvt Ltd 19 March 2016 Outline 1 Why do we need a byte code manipulating tool? 2 Compiled Class File Structure 3 ASM Why

More information

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann Automatic Resource Bound Analysis and Linear Optimization Jan Hoffmann Beyond worst-case analysis Beyond worst-case analysis of algorithms Beyond worst-case analysis of algorithms Resource bound analysis

More information

Research Collection. JSONiq on Spark. Master Thesis. ETH Library. Author(s): Irimescu, Stefan. Publication Date: 2018

Research Collection. JSONiq on Spark. Master Thesis. ETH Library. Author(s): Irimescu, Stefan. Publication Date: 2018 Research Collection Master Thesis JSONiq on Spark Author(s): Irimescu, Stefan Publication Date: 2018 Permanent Link: https://doi.org/10.3929/ethz-b-000272416 Rights / License: In Copyright - Non-Commercial

More information

Python. Tutorial. Jan Pöschko. March 22, Graz University of Technology

Python. Tutorial. Jan Pöschko. March 22, Graz University of Technology Tutorial Graz University of Technology March 22, 2010 Why? is: very readable easy to learn interpreted & interactive like a UNIX shell, only better object-oriented but not religious about it slower than

More information

Who are we? Cesena Security and Network Applications. Why join CeSeNA?

Who are we? Cesena Security and Network Applications. Why join CeSeNA? Unexpected inputs: the danger of data and code injection Who are we? Cesena Security and Network Applications We like computer security and we want to share our knowledge. Founded by Marco Ramilli in 2005.

More information

Meta-programming & you

Meta-programming & you Meta-programming & you Robin Message Cambridge Programming Research Group 10 th May 2010 What s meta-programming about? 1 result=somedb. customers. select 2 { first_name+ +last_name } 3 where name LIKE

More information

C++ For Science and Engineering Lecture 8

C++ For Science and Engineering Lecture 8 C++ For Science and Engineering Lecture 8 John Chrispell Tulane University Friday 10, 2010 Arrays Structures are ways of storing more than one type of information together. A structure is a vesatile data

More information

MURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info.

MURA Office hours Thurs at 12-1pm in CIT 546 Contact for more info. Course Announcements Lecture capture has begun, available from Lectures page. First two and a half weeks are packed. Testing lab done, HTML started, and Stars due next Friday. Department has a lot of student

More information

Applied C Fri

Applied C Fri Applied C++11 2013-01-25 Fri Outline Introduction Auto-Type Inference Lambda Functions Threading Compiling C++11 C++11 (formerly known as C++0x) is the most recent version of the standard of the C++ Approved

More information

Computer Science Introductory Course MSc - Introduction to Java

Computer Science Introductory Course MSc - Introduction to Java Computer Science Introductory Course MSc - Introduction to Java Lecture 3:,, Pablo Oliveira ENST Outline 1 2 3 Definition An exception is an event that indicates an abnormal condition

More information

A Java introduction SDK, FC 15/12/2009 UMR AMAP. SDK, FC (UMR AMAP) A Java introduction 15/12/ / 50

A Java introduction SDK, FC 15/12/2009 UMR AMAP. SDK, FC (UMR AMAP) A Java introduction 15/12/ / 50 A Java introduction SDK, FC UMR AMAP 15/12/2009 SDK, FC (UMR AMAP) A Java introduction 15/12/2009 1 / 50 Plan 1 Introduction 2 Bases Java Application Variables & Expressions Simple Arrays Exceptions Collections

More information

Query Analyzer for Apache Pig

Query Analyzer for Apache Pig Imperial College London Department of Computing Individual Project: Final Report Query Analyzer for Apache Pig Author: Robert Yau Zhou 00734205 (robert.zhou12@imperial.ac.uk) Supervisor: Dr Peter McBrien

More information

Performance of an XML DBMS as a Model Repository in Model-Driven Software Development

Performance of an XML DBMS as a Model Repository in Model-Driven Software Development Performance of an XML DBMS as a Model Repository in Model-Driven Software Development Submitted by Angelina Velinska an.velinska@gmail.com Information and Media Technologies Matriculation Number 20729536

More information

Entropy-based data organization tricks for browsing logs and packet captures

Entropy-based data organization tricks for browsing logs and packet captures Entropy-based data organization tricks for browsing logs and packet captures Department of Computer Science Dartmouth College Outline 1 Log browsing moves Pipes and tables Trees are better than pipes and

More information

Insightful Reporting with the Presented by Todd Brown, Chris Nelson. Copyri g h t 2012 OSIso f t, LLC.

Insightful Reporting with the Presented by Todd Brown, Chris Nelson. Copyri g h t 2012 OSIso f t, LLC. Insightful Reporting with the PI System Presented by Todd Brown, Chris Nelson Copyri g h t 2012 OSIso f t, LLC. Copyri g h t 2012 OSIso f t, LLC. 2 Reporting In the Beginning Copyri g h t 2012 OSIso f

More information

Lecture 1. Crypto Background

Lecture 1. Crypto Background Lecture 1 Crypto Background This lecture Crypto background hash functions random oracle model digital signatures and applications Cryptographic Hash Functions Hash function takes a string of arbitrary

More information

A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics

A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics Chemical Databases Online A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics Combined Chemical Dictionary Dictionary of Natural Products Dictionary of Organic Dictionary of Drugs

More information

Provable Chosen-Target-Forced-Midx Preimage Resistance

Provable Chosen-Target-Forced-Midx Preimage Resistance Provable Chosen-Target-Forced-Midx Preimage Resistance Elena Andreeva and Bart Mennink (K.U.Leuven) Selected Areas in Cryptography Toronto, Canada August 11, 2011 1 / 15 Introduction Hash Functions 2 /

More information

Data Canopy. Accelerating Exploratory Statistical Analysis. Abdul Wasay Xinding Wei Niv Dayan Stratos Idreos

Data Canopy. Accelerating Exploratory Statistical Analysis. Abdul Wasay Xinding Wei Niv Dayan Stratos Idreos Accelerating Exploratory Statistical Analysis Abdul Wasay inding Wei Niv Dayan Stratos Idreos Statistics are everywhere! Algorithms Systems Analytic Pipelines 80 Temperature 60 40 20 0 May 2017 80 Temperature

More information

Effective Entropy for Memory Randomization Defenses

Effective Entropy for Memory Randomization Defenses Effective Entropy for Memory Randomization Defenses William Herlands, Thomas Hobson, Paula Donovan 7 th Workshop on Cyber Security Experimentation and Test 18 August 2014 This work is sponsored by Assistant

More information

THE SPATIAL DATA SERVER BASED ON OPEN GIS STANDARDS IN HETEROGENEOUS DISTRIBUTED ENVIRONMENT

THE SPATIAL DATA SERVER BASED ON OPEN GIS STANDARDS IN HETEROGENEOUS DISTRIBUTED ENVIRONMENT Geoinformatics 2004 Proc. 12th Int. Conf. on Geoinformatics Geospatial Information Research: Bridging the Pacific and Atlantic University of Gävle, Sweden, 7-9 June 2004 THE SPATIAL DATA SERVER BASED ON

More information

Scripting Languages Fast development, extensible programs

Scripting Languages Fast development, extensible programs Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60 Table of Contents 1 Introduction 2 Dynamic languages A Python

More information

Farewell, PipelinePilot Migrating the Exquiron cheminformatics platform to KNIME and the ChemAxon technology

Farewell, PipelinePilot Migrating the Exquiron cheminformatics platform to KNIME and the ChemAxon technology Farewell, PipelinePilot Migrating the Exquiron cheminformatics platform to KNIME and the ChemAxon technology Serge P. Parel, PhD ChemAxon User Group Meeting, Budapest 21 st May, 2014 Outline Exquiron Who

More information

SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING

SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING SIMULATION-BASED APPROXIMATE GLOBAL FAULT COLLAPSING Hussain Al-Asaad and Raymond Lee Computer Engineering Research Laboratory Department of Electrical & Computer Engineering University of California One

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Modeling in MiningZinc

Modeling in MiningZinc Modeling in MiningZinc Anton Dries 1, Tias Guns 1, Siegfried Nijssen 1,2, Behrouz Babaki 1, Thanh Le Van 1, Benjamin Negrevergne 1, Sergey Paramonov 1, and Luc De Raedt 1 1 Department of Computer Science,

More information

Program Slicing. Author: Mark Weiser Published in TSE, Presented by Peeratham (Karn) Techapalokul 10/13/2015

Program Slicing. Author: Mark Weiser Published in TSE, Presented by Peeratham (Karn) Techapalokul 10/13/2015 Program Slicing Author: Mark Weiser Published in TSE, 1984 Presented by Peeratham (Karn) Techapalokul 1/13/215 About Mark Weiser a chief scientist at Xerox PARC Widely considered to be the father of ubiquitous

More information

DRUG DISCOVERY TODAY ELN ELN. Chemistry. Biology. Known ligands. DBs. Generate chemistry ideas. Check chemical feasibility In-house.

DRUG DISCOVERY TODAY ELN ELN. Chemistry. Biology. Known ligands. DBs. Generate chemistry ideas. Check chemical feasibility In-house. DRUG DISCOVERY TODAY Known ligands Chemistry ELN DBs Knowledge survey Therapeutic target Generate chemistry ideas Check chemical feasibility In-house Analyze SAR Synthesize or buy Report Test Journals

More information

Yes, the Library will be accessible via the new PULSE and the existing desktop version of PULSE.

Yes, the Library will be accessible via the new PULSE and the existing desktop version of PULSE. F R E Q U E N T L Y A S K E D Q U E S T I O N S THE LIBRARY GENERAL W H A T I S T H E L I B R A R Y? The Library is the new, shorter, simpler name for the Business Development (Biz Dev) Library. It s your

More information

Algebraic Dynamic Programming

Algebraic Dynamic Programming Algebraic Dynamic Programming Unit 2.b: Introduction to Bellman s GAP Robert Giegerich 1 (Lecture) Benedikt Löwes (Exercises) Faculty of Technology Bielefeld University http://www.techfak.uni-bielefeld.de/ags/pi/lehre/adp

More information

Patent Searching using Bayesian Statistics

Patent Searching using Bayesian Statistics Patent Searching using Bayesian Statistics Willem van Hoorn, Exscientia Ltd Biovia European Forum, London, June 2017 Contents Who are we? Searching molecules in patents What can Pipeline Pilot do for you?

More information

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist How-To Guide Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist HOW TO IMPORT, SKETCH AND EDIT CHEMICALS How to access the ICM Molecular Editor. 1. Click here 2. Start sketching How to sketch

More information

Model-based Testing - From Safety to Security

Model-based Testing - From Safety to Security Model-based Testing - From Safety to Security Josip Bozic, Franz Wotawa Graz University of Technology {jbozic, wotawa}@ist.tugraz.at October 24, 2012 Josip Bozic, Franz Wotawa October 24, 2012 Page 1/28

More information

CS145 Midterm Examination

CS145 Midterm Examination S145 Midterm Examination Please read all instructions (including these) carefully. The exam is open book and open notes; any written materials may be used. There are four parts on the exam, with a varying

More information

import java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ;

import java. u t i l. ;... Scanner sc = new Scanner ( System. in ) ; CPSC 490 Input Input will always arrive on stdin. You may assume input is well-formed with respect to the problem specification; inappropriate input (e.g. text where a number was specified, number out

More information

Theorem Proving beyond Deduction

Theorem Proving beyond Deduction Theorem Proving beyond Deduction Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität

More information

CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S. Ant nine J aux

CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S. Ant nine J aux CHAPMAN & HALL/CRC CRYPTOGRAPHY AND NETWORK SECURITY ALGORITHMIC CR YPTAN ALY51S Ant nine J aux (g) CRC Press Taylor 8* Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor &

More information

Fundamentals of Computational Science

Fundamentals of Computational Science Fundamentals of Computational Science Dr. Hyrum D. Carroll August 23, 2016 Introductions Each student: Name Undergraduate school & major Masters & major Previous research (if any) Why Computational Science

More information

AURORA: A Cryptographic Hash Algorithm Family

AURORA: A Cryptographic Hash Algorithm Family AURORA: A Cryptographic Hash Algorithm Family Submitters: Sony Corporation 1 and Nagoya University 2 Algorithm Designers: Tetsu Iwata 2, Kyoji Shibutani 1, Taizo Shirai 1, Shiho Moriai 1, Toru Akishita

More information

Towards an Effective Calculus for Object Query Languages. The Gap between Theory & Practice

Towards an Effective Calculus for Object Query Languages. The Gap between Theory & Practice Towards an Effective Calculus for Object Query Languages Leonidas Fegaras David Maier Oregon Graduate Institute - 1 - The Gap between Theory & Practice Most commercial relational query languages go beyond

More information

Compact Indexes for Flexible Top-k Retrieval

Compact Indexes for Flexible Top-k Retrieval Compact Indexes for Flexible Top-k Retrieval Simon Gog Matthias Petri Institute of Theoretical Informatics, Karlsruhe Institute of Technology Computing and Information Systems, The University of Melbourne

More information

Geographic Information Systems (GIS) - Hardware and software in GIS

Geographic Information Systems (GIS) - Hardware and software in GIS PDHonline Course L153G (5 PDH) Geographic Information Systems (GIS) - Hardware and software in GIS Instructor: Steve Ramroop, Ph.D. 2012 PDH Online PDH Center 5272 Meadow Estates Drive Fairfax, VA 22030-6658

More information

NOTE BY THE TECHNICAL SECRETARIAT ESTABLISHMENT OF A DATABASE OF EXPERTISE ON PEACEFUL USES OF CHEMISTRY

NOTE BY THE TECHNICAL SECRETARIAT ESTABLISHMENT OF A DATABASE OF EXPERTISE ON PEACEFUL USES OF CHEMISTRY OPCW Technical Secretariat 30 August 2016 ENGLISH only NOTE BY THE TECHNICAL SECRETARIAT ESTABLISHMENT OF A DATABASE OF EXPERTISE ON PEACEFUL USES OF CHEMISTRY 1. At its Sixteenth Session, the Conference

More information

You are here! Query Processor. Recovery. Discussed here: DBMS. Task 3 is often called algebraic (or re-write) query optimization, while

You are here! Query Processor. Recovery. Discussed here: DBMS. Task 3 is often called algebraic (or re-write) query optimization, while Module 10: Query Optimization Module Outline 10.1 Outline of Query Optimization 10.2 Motivating Example 10.3 Equivalences in the relational algebra 10.4 Heuristic optimization 10.5 Explosion of search

More information

Tryton Technical Training

Tryton Technical Training Tryton Technical Training N. Évrard B 2CK September 18, 2015 N. Évrard (B 2 CK) Tryton Technical Training September 18, 2015 1 / 56 Overview and Installation Outline 1 Overview and Installation Tryton

More information

LandEx A GeoWeb-based Tool for Exploration of Patterns in Raster Maps

LandEx A GeoWeb-based Tool for Exploration of Patterns in Raster Maps LandEx A GeoWeb-based Tool for Exploration of Patterns in Raster Maps T. F. Stepinski 1, P. Netzel 1,2, J. Jasiewicz 3, J. Niesterowicz 1 1 Department of Geography, University of Cincinnati, Cincinnati,

More information

arxiv: v3 [cs.cr] 15 Jun 2017

arxiv: v3 [cs.cr] 15 Jun 2017 Use of Signed Permutations in Cryptography arxiv:1612.05605v3 [cs.cr] 15 Jun 2017 Iharantsoa Vero RAHARINIRINA ihvero@yahoo.fr Department of Mathematics and computer science, Faculty of Sciences, BP 906

More information

Comp 11 Lectures. Mike Shah. July 26, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 26, / 40

Comp 11 Lectures. Mike Shah. July 26, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 26, / 40 Comp 11 Lectures Mike Shah Tufts University July 26, 2017 Mike Shah (Tufts University) Comp 11 Lectures July 26, 2017 1 / 40 Please do not distribute or host these slides without prior permission. Mike

More information

SPARQL Extensions and Outlook

SPARQL Extensions and Outlook SPARQL Extensions and Outlook Axel Polleres 1 1 DERI Galway, National University of Ireland, Galway axel.polleres@deri.org European Semantic Web Conference 2007 A. Polleres SPARQL Extensions and Outlook

More information

CE 474 Class 17. October 1, 2015

CE 474 Class 17. October 1, 2015 CE 474 Class 7 October, 05 Excel Skills Parse text data file into columns Manipulate rows and columns of data Sort data by criterion (criteria) Use logical (if) statements Create frequency data from raw

More information

Seifert s RSA Fault Attack: Simplified Analysis and Generalizations

Seifert s RSA Fault Attack: Simplified Analysis and Generalizations Seifert s RSA Fault Attack: Simplified Analysis and Generalizations James A. Muir School of Computer Science Carleton University jamuir@scs.carleton.ca 15 December 2005 21:11:36 EST Abstract Seifert recently

More information

Music as a Formal Language

Music as a Formal Language Music as a Formal Language Finite-State Automata and Pd Bryan Jurish moocow@ling.uni-potsdam.de Universität Potsdam, Institut für Linguistik, Potsdam, Germany pd convention 2004 / Jurish / Music as a formal

More information

SAT Modulo Monotonic Theories

SAT Modulo Monotonic Theories SAT Modulo Monotonic Theories Sam Bayless, Noah Bayless, Holger H. Hoos, Alan J. Hu University of British Columbia Point Grey Secondary School Sam Bayless (UBC) SAT Modulo Monotonic Theories / 0 Procedural

More information

Module 10: Query Optimization

Module 10: Query Optimization Module 10: Query Optimization Module Outline 10.1 Outline of Query Optimization 10.2 Motivating Example 10.3 Equivalences in the relational algebra 10.4 Heuristic optimization 10.5 Explosion of search

More information

Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:

Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion: German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Rimon Elias Dr. Hisham Othman Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:

More information

Structure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts

Structure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts Introduction 3 Background functionals factor out common behaviour map applies a function to every element of a list fun map [ ] = [ ] map f ( x : : xs ) = f x : : map f xs filter keeps only those elements

More information

SELECTION OF JOURNALS BASED ON THE IMPACT FACTORS: A Case Study

SELECTION OF JOURNALS BASED ON THE IMPACT FACTORS: A Case Study DRTC Workshop on Information Management 6-8 January 1999 Paper: BB SELECTION OF JOURNALS BASED ON THE IMPACT FACTORS: A Case Study K.S. Chudamani & B.C Sandhya, JRD Tata Memorial Library, Indian Institute

More information

Contents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics

Contents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics Contents 1 Open-Source Tools, Techniques, and Data in Chemoinformatics... 1 1.1 Chemoinformatics... 2 1.1.1 Open-Source Tools... 2 1.1.2 Introduction to Programming Languages... 3 1.2 Chemical Structure

More information

ASCQ_ME: a new engine for peptide mass fingerprint directly from mass spectrum without mass list extraction

ASCQ_ME: a new engine for peptide mass fingerprint directly from mass spectrum without mass list extraction ASCQ_ME: a new engine for peptide mass fingerprint directly from mass spectrum without mass list extraction Jean-Charles BOISSON1, Laetitia JOURDAN1, El-Ghazali TALBI1, Cécile CREN-OLIVE2 et Christian

More information

IUCLID Substance Data

IUCLID Substance Data 1 Workshop on CEFIC LRI Project EEM9.4 LRI AMBIT with IUCLID6 support and extended search capabilities IUCLID Substance Data Nikolay Kochev Ideaconsult Ltd. Sofia,Bulgaria 2 Chemical structure vs. Substance

More information

A uniform programming language for implementing XML standards

A uniform programming language for implementing XML standards A uniform programming language for implementing XML standards Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France Sofsem 2015 Motivation Different data

More information

Directions in Statistical Computing 2014 Renjin's JIT

Directions in Statistical Computing 2014 Renjin's JIT Directions in Statistical Computing 2014 Renjin's JIT Thinking about R as a Query Language Alexander Bertram BeDataDriven 2014 1 Quick Intro: Renjin R-language Interpreter written in Java, uses GNU R core

More information

The Schrödinger KNIME extensions

The Schrödinger KNIME extensions The Schrödinger KNIME extensions Computational Chemistry and Cheminformatics in a workflow environment Jean-Christophe Mozziconacci Volker Eyrich Topics What are the Schrödinger extensions? Workflow application

More information

Leveraging Your Geo-spatial Data Investments with Quantum GIS: an Open Source Geographic Information System

Leveraging Your Geo-spatial Data Investments with Quantum GIS: an Open Source Geographic Information System Leveraging Your Geo-spatial Data Investments with Quantum GIS: an Open Source Geographic Information System Donald L. Schrupp Colorado Division of Wildlife (Retired) Danny Lewis Texas Parks and Wildlife

More information

Distributed Oblivious RAM for Secure Two-Party Computation

Distributed Oblivious RAM for Secure Two-Party Computation Seminar in Distributed Computing Distributed Oblivious RAM for Secure Two-Party Computation Steve Lu & Rafail Ostrovsky Philipp Gamper Philipp Gamper 2017-04-25 1 Yao s millionaires problem Two millionaires

More information

SideNail. Martín Schonaker, Santiago Martínez

SideNail. Martín Schonaker, Santiago Martínez SideNail Martín Schonaker, Santiago Martínez March 24, 2010 2 Chapter 1 Quickstart 1.1 Hello, World! Listing 1.1 shows the simplest mapping example one can build with SideNail. The example shows how to

More information

CRISP: Capture-Recapture Interactive Simulation Package

CRISP: Capture-Recapture Interactive Simulation Package CRISP: Capture-Recapture Interactive Simulation Package George Volichenko Carnegie Mellon University Pittsburgh, PA gvoliche@andrew.cmu.edu December 17, 2012 Contents 1 Executive Summary 1 2 Introduction

More information

STRIBOB : Authenticated Encryption

STRIBOB : Authenticated Encryption 1 / 19 STRIBOB : Authenticated Encryption from GOST R 34.11-2012 or Whirlpool Markku-Juhani O. Saarinen mjos@item.ntnu.no Norwegian University of Science and Technology Directions in Authentication Ciphers

More information

HOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA.

HOW TO USE MIKANA. 1. Decompress the zip file MATLAB.zip. This will create the directory MIKANA. HOW TO USE MIKANA MIKANA (Method to Infer Kinetics And Network Architecture) is a novel computational method to infer reaction mechanisms and estimate the kinetic parameters of biochemical pathways from

More information

Solutions to EoPL3 Exercises

Solutions to EoPL3 Exercises Solutions to EoPL3 Exercises Release 0.1.0 Cheng Lian May 16, 2017 Contents 1 Contents 3 2 Overview 29 i ii Author Cheng Lian Contents 1 2 Contents CHAPTER 1 Contents Chapter 1.

More information

Demand Forecasting. for. Microsoft Dynamics 365 for Operations. User Guide. Release 7.1. April 2018

Demand Forecasting. for. Microsoft Dynamics 365 for Operations. User Guide. Release 7.1. April 2018 Demand Forecasting for Microsoft Dynamics 365 for Operations User Guide Release 7.1 April 2018 2018 Farsight Solutions Limited All Rights Reserved. Portions copyright Business Forecast Systems, Inc. This

More information

Elite Galaxy Online. API Documentation v Elite Galaxy Online. All rights reserved

Elite Galaxy Online. API Documentation v Elite Galaxy Online. All rights reserved Elite Galaxy Online API Documentation v2.1 Contents 1. Version Control... 3 2. Overview of Elite Galaxy Online API... 4 3. Retrieving Data from Elite Galaxy Online... 5 3.1. Retrieving Star System Data...

More information

BLOCK CIPHERS KEY-RECOVERY SECURITY

BLOCK CIPHERS KEY-RECOVERY SECURITY BLOCK CIPHERS and KEY-RECOVERY SECURITY Mihir Bellare UCSD 1 Notation Mihir Bellare UCSD 2 Notation {0, 1} n is the set of n-bit strings and {0, 1} is the set of all strings of finite length. By ε we denote

More information

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface. Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti

More information

New and Improved Key-Homomorphic Pseudorandom Functions

New and Improved Key-Homomorphic Pseudorandom Functions New and Improved Key-Homomorphic Pseudorandom Functions Abhishek Banerjee 1 Chris Peikert 1 1 Georgia Institute of Technology CRYPTO 14 19 August 2014 Outline 1 Introduction 2 Construction, Parameters

More information

Introduction to Side Channel Analysis. Elisabeth Oswald University of Bristol

Introduction to Side Channel Analysis. Elisabeth Oswald University of Bristol Introduction to Side Channel Analysis Elisabeth Oswald University of Bristol Outline Part 1: SCA overview & leakage Part 2: SCA attacks & exploiting leakage and very briefly Part 3: Countermeasures Part

More information

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems

More information

libsupermesh version 1.0.1

libsupermesh version 1.0.1 libsupermesh version 1.0.1 James R. Maddison School of Mathematics and Maxwell Institute for Mathematical Sciences, University of Edinburgh, UK Iakovos Panourgias EPCC, University of Edinburgh, UK, Patrick

More information

Integrated Cheminformatics to Guide Drug Discovery

Integrated Cheminformatics to Guide Drug Discovery Integrated Cheminformatics to Guide Drug Discovery Matthew Segall, Ed Champness, Peter Hunt, Tamsin Mansley CINF Drug Discovery Cheminformatics Approaches August 23 rd 2017 Optibrium, StarDrop, Auto-Modeller,

More information

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:

1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is: CS 24 Section #8 Hashing, Skip Lists 3/20/7 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look at

More information

Supplementary Material

Supplementary Material Supplementary Material Contents 1 Keywords of GQL 2 2 The GQL grammar 3 3 THE GQL user guide 4 3.1 The environment........................................... 4 3.2 GQL projects.............................................

More information

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis 1. Relations in BDDs 2. Datalog -> Relational Algebra 3. Relational Algebra -> BDDs 4. Context-Sensitive Pointer Analysis 5. Performance

More information

Authentication. Chapter Message Authentication

Authentication. Chapter Message Authentication Chapter 5 Authentication 5.1 Message Authentication Suppose Bob receives a message addressed from Alice. How does Bob ensure that the message received is the same as the message sent by Alice? For example,

More information

Computer Science and Logic A Match Made in Heaven

Computer Science and Logic A Match Made in Heaven A Match Made in Heaven Luca Aceto Reykjavik University Reykjavik, 3 April 2009 Thanks to Moshe Vardi from whom I have drawn inspiration (read stolen ideas ) for this presentation. Why This Talk Today?

More information

Computational Complexity

Computational Complexity Computational Complexity S. V. N. Vishwanathan, Pinar Yanardag January 8, 016 1 Computational Complexity: What, Why, and How? Intuitively an algorithm is a well defined computational procedure that takes

More information

Block Ciphers/Pseudorandom Permutations

Block Ciphers/Pseudorandom Permutations Block Ciphers/Pseudorandom Permutations Definition: Pseudorandom Permutation is exactly the same as a Pseudorandom Function, except for every key k, F k must be a permutation and it must be indistinguishable

More information

Weak Synchronization & Synchronizability. Multi-tape Automata and Machines

Weak Synchronization & Synchronizability. Multi-tape Automata and Machines Weak Synchronization and Synchronizability of Multi-tape Automata and Machines Oscar H. Ibarra 1 and Nicholas Tran 2 1 Department of Computer Science University of California at Santa Barbara ibarra@cs.ucsb.edu

More information

Regular n-ary Queries in Trees and Variable Independence

Regular n-ary Queries in Trees and Variable Independence Regular n-ary Queries in Trees and Variable Independence Emmanuel Filiot Sophie Tison Laboratoire d Informatique Fondamentale de Lille (LIFL) INRIA Lille Nord-Europe, Mostrare Project IFIP TCS, 2008 E.Filiot

More information

Dan Boneh. Introduction. Course Overview

Dan Boneh. Introduction. Course Overview Online Cryptography Course Introduction Course Overview Welcome Course objectives: Learn how crypto primitives work Learn how to use them correctly and reason about security My recommendations: Take notes

More information

Växjö University. Software Security Testing. A Flexible Architecture for Security Testing. School of Mathematics and System Engineering

Växjö University. Software Security Testing. A Flexible Architecture for Security Testing. School of Mathematics and System Engineering School of Mathematics and System Engineering Reports from MSI - Rapporter från MSI Växjö University Software Security Testing A Flexible Architecture for Security Testing Martin Andersson Aug 2008 MSI

More information

Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:

Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion: German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Mohammed Abdel Megeed Introduction to Computer Programming, Spring Term 2018 Practice Assignment 1 Discussion:

More information

/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111

/home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 /home/thierry/columbia/msongsdb/pyreport_tutorials/tutorial1/tutorial1.py January 23, 20111 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University

More information

ArcGIS Deployment Pattern. Azlina Mahad

ArcGIS Deployment Pattern. Azlina Mahad ArcGIS Deployment Pattern Azlina Mahad Agenda Deployment Options Cloud Portal ArcGIS Server Data Publication Mobile System Management Desktop Web Device ArcGIS An Integrated Web GIS Platform Portal Providing

More information

Attack Graph Modeling and Generation

Attack Graph Modeling and Generation Attack Graph Modeling and Generation Ratnesh Kumar, Professor, IEEE Fellow Electrical and Computer Engineering, Iowa State University PhD Students: Mariam Ibrahim German Jordanian University Attack Graph:

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science Zdeněk Sawa Department of Computer Science, FEI, Technical University of Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Czech republic September 22, 2017 Z. Sawa (TU Ostrava)

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Injectivity of Composite Functions

Injectivity of Composite Functions Injectivity of Composite Functions Kim S. Larsen Michael I. Schwartzbach Computer Science Department, Aarhus University Ny Munkegade, 8000 Aarhus C, Denmark Present address: Department of Mathematics and

More information

Supporting Information. Kekule.js: An Open Source JavaScript Chemoinformatics Toolkit

Supporting Information. Kekule.js: An Open Source JavaScript Chemoinformatics Toolkit Supporting Information Kekule.js: An Open Source JavaScript Chemoinformatics Toolkit Chen Jiang, *, Xi Jin, Ying Dong and Ming Chen Department of Organic Chemistry, China Pharmaceutical University, Nanjing

More information