Scripting Languages Fast development, extensible programs
|
|
- Brent Dawson
- 5 years ago
- Views:
Transcription
1 Scripting Languages Fast development, extensible programs Devert Alexandre School of Software Engineering of USTC November 30, 2012 Slide 1/60
2 Table of Contents 1 Introduction 2 Dynamic languages A Python tour Functions as objects Monkey patching 3 Languages comparison 4 Tools making Content generation 5 Glue code Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 2/60
3 Introduction You probably heard about those programming languages Javascript Perl Python Lua Ruby... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 3/60
4 Scripting languages They are scripting languages, sharing common features Highly dynamic Automatic memory management Can compile to a virtual machine Can be embedded Can be extended with modules written in C or C++ Cross-platform Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 4/60
5 Scripting languages Scripting languages tends to help you to code faster less code to do the same things with other languages powerful default types very dynamic languages large, complete standard library Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 5/60
6 Usages They are successful for a number of applications tool-making languages glue languages to write glue code building extensible, open-ended software... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 6/60
7 Table of Contents 1 Introduction 2 Dynamic languages A Python tour Functions as objects Monkey patching 3 Languages comparison 4 Tools making Content generation 5 Glue code Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 7/60
8 A Python tour Let s have a look at a scripting language, Python. What follows is true for most other scripting languages. Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 8/60
9 Friendly syntax List and dictionaries are parts of the language syntax a = [ 1, 2, 3, 4, 5, s i x, 7 ] b = { name : a p p l e, c o l o r : r e d, c o s t : } c = [ [ 1. 5, 3. 0 ], [ 2.0, 5. 0 ], [ 9.7, 5. 2 ] ] d = { f r u i t s : [ a p p l e, orange, peach ], l o c a t i o n : Suzhou } Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 9/60
10 Friendly syntax List manipulations are part of the languages a = [ 1, 2, 3, 4, 5, 7, 8, 9, 1 0 ] p r i n t a [ 2 : 7 ] >>> [ 3, 4, 5, 7, 8 ] p r i n t a [ 2 : ] >>> [ 3, 4, 5, 7, 8, 9, 1 0 ] p r i n t a [ : 5 ] >>> [ 1, 2, 3, 4, 5 ] p r i n t a [ 2 : 5 ] + a [ 7 : ] >>> [ 3, 4, 5, 9, 1 0 ] p r i n t [ 2, 3 ] 5 >>> [ 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 ] Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 10/60
11 Friendly syntax Iterators are nearly invisible a = [ 1, 2, 3, 4, 5 ] f o r v a l u e i n a : p r i n t v a l u e Iterating over the elements of a list Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 11/60
12 Friendly syntax Iterators are nearly invisible m y F i l e = open ( i n p u t. t x t ) i = 0 f o r l i n e i n m y F i l e : i += 1 p r i n t i, l i n e Iterating over the lines of a text file Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 12/60
13 Friendly syntax You affect multiple variable in one statement a, b, c = 1, 2, 3 p r i n t a, b, c d e f myfunction ( x ) : r e t u r n x, x x a, b = myfunction ( 3 ) p r i n t a, b Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 13/60
14 Dynamic variable type Variable types is not fixed, it changes a = 42 a = a p p l e a = [ wang, f e i, yue ] a = ( 1, 2, 3, f o u r, 5. 0 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 14/60
15 Everything is object Numbers are objects a = 2 p r i n t a + 3 p r i n t a. a d d ( 3 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 15/60
16 Everything is object Lists are objects a = [ 1, 2, 3, 4, 5 ] p r i n t a [ 3 ] p r i n t a. g e t i t e m ( 3 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 16/60
17 Everything is object Functions are objects d e f s q r ( x ) : r e t u r n x x p r i n t s q r ( 3 ) c l a s s sqrfunc ( o b j e c t ) : d e f c a l l ( s e l f, x ) : r e t u r n x x s q r = sqrfunc ( ) p r i n t s q r ( 3 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 17/60
18 Standard library An extensive standard library OS-independent file and directory access data persistence XML, JSON, CSV,... parsing most common Internet protocols OS-independent GUI... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 18/60
19 Standard library Example: defining a command-line interface i m p o r t a r g p a r s e cmdline = a r g p a r s e. ArgumentParser ( d e s c r i p t i o n = Read t h i n g s and do s t u f f s ) cmdline. add argument ( inputpath, a c t i o n = s t o r e, h e l p = path to i n p u t f i l e, t y p e = s t r ) cmdline. add argument ( s, s i z e, a c t i o n = s t o r e, d e s t = f o n t S i z e, d e f a u l t = 16, h e l p = s i z e o f r e a d b u f f e r, t y p e = i n t ) a r g s = cmdline. p a r s e a r g s ( ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 19/60
20 Standard library Example: printing the content of a ZIP archive i m p o r t i m p o r t z i p f i l e a r g p a r s e cmdline = a r g p a r s e. ArgumentParser ( d e s c r i p t i o n = L i s t t h e c o n t e n t o f a ZIP a r c h i v e ) cmdline. add argument ( inputpath, a c t i o n = s t o r e, h e l p = path to i n p u t ZIP a r c h i v e, t y p e = s t r ) a r g s = cmdline. p a r s e a r g s ( ) t r y : a r c h i v e = z i p f i l e. Z i p F i l e ( a r g s. inputpath, r ) f o r i n f o i n a r c h i v e. i n f o l i s t ( ) : p r i n t i n f o. f i l e n a m e, i n f o. d a t e t i m e, i n f o. f i l e s i z e, i n f o. c o m p r e s s s i z e e x c e p t z i p f i l e. B a d Z i p f i l e : p r i n t a r g s. inputpath, i s not a ZIP f i l e e x c e p t I O E r r o r as ( e r r n o, s t r e r r o r ) : p r i n t s t r e r r o r Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 20/60
21 Standard library Example: reading/writing JSON data i m p o r t j s o n a = j s o n. l o a d ( open ( example. j s o n ) ) p r i n t a i m p o r t j s o n a = [ f o o, { bar : ( baz, None, 1. 0, 2) } ] j s o n. dumps ( a ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 21/60
22 Fibonacci numbers Fibonacci numbers are defined as follow F n = F n 1 + F n 2, F 0 = 0, F 1 = 1 Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 22/60
23 Fibonacci numbers Let s code a function to compute Fibonacci numbers d e f f i b ( n ) : i f n < 2 : r e t u r n 1 r e t u r n f i b ( n 1) + f i b ( n 2) p r i n t f i b ( 3 6 ) On my computer, this takes about 11 sec. to compute Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 23/60
24 Memoization To make it faster, we should store intermediate results. It s called memoization fib memo = { } d e f f a s t F i b ( n ) : i f n < 2 : r e t u r n 1 i f not fib memo. h a s k e y ( n ) : fib memo [ n ] = f a s t F i b ( n 1) + f a s t F i b ( n 2) return fib memo [ n ] p r i n t f a s t F i b ( 3 6 ) Same function, but takes 80 msec. to compute! Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 24/60
25 Memoization But we might not be so happy of that solution mix the idea and the implementation have to do by hand this for any expensive recursive function Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 25/60
26 Functions are objects But remember, functions are objects! we can build a function object which contains a function f and a dictionary m if a not in m, m[a] = f (a) returns m[a] Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 26/60
27 Memoizing functions Python implementation for this (works for all arguments) c l a s s Memoize : d e f i n i t ( s e l f, f ) : s e l f. f = f s e l f.m = { } d e f c a l l ( s e l f, a r g s ) : i f not s e l f.m. h a s k e y ( a r g s ) : s e l f.m[ a r g s ] = s e l f. f ( a r g s ) r e t u r n s e l f.m[ a r g s ] Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 27/60
28 Memoizing functions And now, we have a general and clean way to do memoization d e f f i b ( n ) : i f n < 2 : r e t u r n 1 r e t u r n f i b ( n 1) + f i b ( n 2) f i b = Memoize ( f i b ) p r i n t f i b ( 3 6 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 28/60
29 Monkey patching Methods of objects are functions too c l a s s Animal : d e f makenoise ( s e l f ) : p r i n t not d e f i n e d def dogroaaaar ( ) : p r i n t g r o a a a a r! t i g e r = Animal ( ) t i g e r. makenoise = dogroaaaar t i g e r. makenoise ( ) Dynamic replacement of methods Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 29/60
30 Monkey patching Monkey-patching allow to write very flexible and short code i m p o r t random c l a s s Animal : d e f makenoise ( s e l f ) : p r i n t not d e f i n e d c l a s s RandomNoiseMaker : d e f i n i t ( s e l f, n o i s e L i s t ) : s e l f. n o i s e L i s t = n o i s e L i s t d e f c a l l ( s e l f ) : p r i n t random. c h o i c e ( s e l f. n o i s e L i s t ) t i g e r = Animal ( ) t i g e r. makenoise = RandomNoiseMaker ( [ g r o a a a r!, g r r r r r!, graaaaouuu! ] ) t i g e r. makenoise ( ) Monkey patching with a dynamically defined function Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 30/60
31 Table of Contents 1 Introduction 2 Dynamic languages A Python tour Functions as objects Monkey patching 3 Languages comparison 4 Tools making Content generation 5 Glue code Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 31/60
32 Languages comparison Let s compare Python and Java to do common tasks Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 32/60
33 Languages comparison Printing Hello, world! p u b l i c c l a s s H e l l o W o r l d { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System. out. p r i n t l n ( H e l l o, w o r l d! ) ; } } p r i n t H e l l o, w o r l d! Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 33/60
34 Languages comparison Opening a file i m p o r t j a v a. i o. ;... m y F i l e = open ( a r g F i l e n a m e ) B u f f e r e d R e a d e r m y F i l e = new B u f f e r e d R e a d e r ( new F i l e R e a d e r ( a r g F i l e n a m e ) ) ; Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 34/60
35 Languages comparison Add an integer to a list, get an other from the list p u b l i c Vector<I n t e g e r > a L i s t = new Vector<Integer >; p u b l i c i n t anumber = 5 ; p u b l i c i n t anothernumber ; a L i s t. addelement ( anumber ) ; anothernumber = a L i s t. g e t E l ement ( 0 ) ; a L i s t = [ ] anumber = 5 a L i s t. append ( anumber ) anothernumber = a L i s t [ 0 ] Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 35/60
36 Languages comparison Print a list of numbers to a file i m p o r t j a v a. i o. ; f = open ( out. t x t, wb ) p u b l i c c l a s s IOTest { f o r i i n x r a n g e ( ) : p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { f. w r i t e ( s t r ( i ) ) t r y { F i l e f = new F i l e ( out. t x t ) ; f. c l o s e ( ) P r i n t W r i t e r ps = new P r i n t W r i t e r ( new OutputStreamWriter ( new F i l e O u t p u t S t r e a m ( f ) ) ) ; f o r ( i n t i = 0 ; i < ; i ++) ps. p r i n t ( S t r i n g. v a l u e O f ( i ) ) ; ps. c l o s e ( ) ; } c a t c h ( I O E x c e p t i o n i o e ) { i o e. p r i n t S t a c k T r a c e ( ) ; } } } Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 36/60
37 Languages comparison Defining a simple class p u b l i c c l a s s Employee { p r i v a t e S t r i n g myemployeename ; p r i v a t e i n t mytaxdeductions = 1 ; p r i v a t e S t r i n g m y M a r i t a l S t a t u s = s i n g l e ; p u b l i c Employee ( S t r i n g EmployeName ) { t h i s ( employeename, 1 ) ; } p u b l i c Employee ( String EmployeName, i n t taxdeductions ) { t h i s ( employeename, t a x D e d u c t i o n s, s i n g l e ) ; } p u b l i c Employee ( S t r i n g EmployeName, i n t t a x D e d u c t i o n s, S t r i n g m a r i t a l S t a t u s ) { t h i s. employeename = employeename ; t h i s. taxdeductions = taxdeductions ; t h i s. m a r i t a l S t a t u s = m a r i t a l S t a t u s ; }... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 37/60
38 Languages comparison Defining a simple class c l a s s Employee ( ) : d e f i n i t ( s e l f, employeename, t a x D e d u c t i o n s =1, m a r i t a l S t a t u s= s i n g l e ) : s e l f. employeename = employeename s e l f. taxdeductions = taxdeductions s e l f. m a r i t a l S t a t u s = m a r i t a l S t a t u s... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 38/60
39 Table of Contents 1 Introduction 2 Dynamic languages A Python tour Functions as objects Monkey patching 3 Languages comparison 4 Tools making Content generation 5 Glue code Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 39/60
40 Tools It s quite common to have to do code which will not be in the final product Build Test Content generation Source-code generation Content generation often need project-specific tools Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 40/60
41 Texture atlas In games, graphics are usually made from lot of pictures Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 41/60
42 Texture atlas Save speed & memory pack all graphics in one texture On mobile devices, it is essential Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 42/60
43 Texture atlas A texture packing many graphics elements is called a texture atlas Building a texture atlas is very device and project dependent Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 43/60
44 Texture atlas Automated texture atlas generation a big time saver artist can test many ideas does not need to be fast integration to build process Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 44/60
45 Texture atlas Texture atlas generator should 1 read a list of pictures 2 read a list of rectangle coordinates 3 pack rectangles 4 generate rectangle coordinates 5 generate a picture Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 45/60
46 Texture atlas Texture atlas generator as a script read/write pictures with one line of code read/write XML, JSON, plain text with very few code rectangle packing algorithm Personal experience 1 hour in Python, 12 hours in C Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 46/60
47 Tool making Scripting languages are wonderful to build such tools Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 47/60
48 Table of Contents 1 Introduction 2 Dynamic languages A Python tour Functions as objects Monkey patching 3 Languages comparison 4 Tools making Content generation 5 Glue code Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 48/60
49 Glue code Software are often built by gluing together various libraries project specific code some specialized processing libraries a communication library a data storage library (database, XML,... ) a GUI library Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 49/60
50 Glue code Many important libraries have Python, Ruby, Lua or Perl bindings Sqlite, MySql, Berkeley DB database wxwindow, QT, GTK graphic users interfaces Numpy, Scipy math and linear algebra Simple Direct Media Layer basic graphic, sound and inputs handling Ogre3D 3d graphic engine Cairo 2d vector graphics... Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 50/60
51 Glue code A way to build cross-platform software quickly use a scripting language to glue libraries Glue code usually goes very well with very dynamic languages Fast prototyping Good performance (most bindings are coded in C or C++) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 51/60
52 Success stories Some successful applications using this approach Python DropBox, Civilization IV, Mercurial, Django, Blender, BitTorrent Ruby Ruby On Rails, Google Sketchup Erlang Wings3D, CouchDB, Goldman Sachs robot traders Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 52/60
53 Project specific code You might want to create your own extensions for a scripting language using legacy code for the 10% code which takes 90% of the time Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 53/60
54 Project specific code All scripting languages provides a way to create extension in C/C++ Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 54/60
55 Writing Python extensions A Say hello Python extension #i n c l u d e <Python. h> s t a t i c PyObject s a y h e l l o ( PyObject s e l f, PyObject a r g s ) { const char name ; i f (! PyArg ParseTuple ( args, s, &name ) ) r e t u r n NULL ; p r i n t f ( H e l l o %s!\ n, name ) ; Py RETURN NONE ; } s t a t i c PyMethodDef HelloMethods [ ] = { { s a y h e l l o, s a y h e l l o, METH VARARGS, G r e e t somebody. }, { NULL, NULL, 0, NULL } }; PyMODINIT FUNC i n i t h e l l o ( v o i d ) { ( v o i d ) P y I n i t M o d u l e ( h e l l o, HelloMethods ) ; } Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 55/60
56 Writing Python extensions The Say hello Python extension setup from d i s t u t i l s. c o r e i m p o r t setup, E x t e n s i o n module1 = E x t e n s i o n ( h e l l o, s o u r c e s = [ h e l l o m o d u l e. c ] ) setup ( name = PackageName, v e r s i o n = 1. 0, d e s c r i p t i o n = This i s a demo package, e x t m o d u l e s = [ module1 ] ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 56/60
57 Writing Python extensions Using the Say hello extension i m p o r t h e l l o h e l l o. s a y h e l l o ( World ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 57/60
58 Writing Python extensions A Fibonacci numbers Python extension #i n c l u d e <Python. h> i n t f i b ( i n t n ) { i f ( n < 2) r e t u r n n ; e l s e r e t u r n f i b ( n 1) + f i b ( n 2); } s t a t i c PyObject f i b ( PyObject s e l f, PyObject a r g s ) { const char command ; i n t n ; i f (! PyArg ParseTuple ( args, i, &n ) ) r e t u r n NULL ; } r e t u r n P y B u i l d V a l u e ( i, f i b ( n ) ) ; s t a t i c PyMethodDef FibMethods [ ] = { { f i b, fib, METH VARARGS, Calculate the Fibonacci numbers. }, {NULL, NULL, 0, NULL} }; PyMODINIT FUNC i n i t f i b ( v o i d ) { ( v o i d ) P y I n i t M o d u l e ( f i b, FibMethods ) ; } Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 58/60
59 Writing Python extensions The Fibonacci Python extension setup from d i s t u t i l s. c o r e i m p o r t setup, E x t e n s i o n module1 = E x t e n s i o n ( f i b, s o u r c e s = [ f i b m o d u l e. c ] ) setup ( name = PackageName, v e r s i o n = 1. 0, d e s c r i p t i o n = This i s a demo package, e x t m o d u l e s = [ module1 ] ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 59/60
60 Writing Python extensions Using the Fibonacci extension i m p o r t f i b p r i n t f i b. f i b ( 1 0 ) Devert Alexandre (School of Software Engineering of USTC) Scripting Languages Slide 60/60
Python & Numpy A tutorial
Python & Numpy A tutorial Devert Alexandre School of Software Engineering of USTC 13 February 2012 Slide 1/38 Table of Contents 1 Why Python & Numpy 2 First steps with Python 3 Fun with lists 4 Quick tour
More informationPython. chrysn
Python chrysn 2008-09-25 Introduction Structure, Language & Syntax Strengths & Weaknesses Introduction Structure, Language & Syntax Strengths & Weaknesses Python Python is an interpreted,
More informationNotater: INF3331. Veronika Heimsbakk December 4, Introduction 3
Notater: INF3331 Veronika Heimsbakk veronahe@student.matnat.uio.no December 4, 2013 Contents 1 Introduction 3 2 Bash 3 2.1 Variables.............................. 3 2.2 Loops...............................
More informationYYT-C3002 Application Programming in Engineering GIS I. Anas Altartouri Otaniemi
YYT-C3002 Application Programming in Engineering GIS I Otaniemi Overview: GIS lectures & exercise We will deal with GIS application development in two lectures. Because of the versatility of GIS data models
More informationTryton 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 informationPython. 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 informationJug: Executing Parallel Tasks in Python
Jug: Executing Parallel Tasks in Python Luis Pedro Coelho EMBL 21 May 2013 Luis Pedro Coelho (EMBL) Jug 21 May 2013 (1 / 24) Jug: Coarse Parallel Tasks in Python Parallel Python code Memoization Luis Pedro
More informationInkscape and Python. Alex Valavanis. July 11, Institute of Microwaves and Photonics, University of Leeds
Inkscape and Python Alex Valavanis Institute of Microwaves and Photonics, University of Leeds July 11, 2014 Overview Inkscape: an intro to the project How I got involved Inkscape development My involvement
More informationData. Notes. are required reading for the week. textbook reading and a few slides on data formats and data cleaning
CS 725/825 Information Visualization Fall 2017 Data Dr. Michele C. Weigle http://www.cs.odu.edu/~mweigle/cs725-f17/ Notes } We will not cover these slides in class, but they are required reading for the
More informationPractical Data Processing With Haskell
Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,
More informationKarsten Vennemann, Seattle. QGIS Workshop CUGOS Spring Fling 2015
Karsten Vennemann, Seattle 2015 a very capable and flexible Desktop GIS QGIS QGIS Karsten Workshop Vennemann, Seattle slide 2 of 13 QGIS - Desktop GIS originally a GIS viewing environment QGIS for the
More informationA GUI FOR EVOLVE ZAMS
A GUI FOR EVOLVE ZAMS D. R. Schlegel Computer Science Department Here the early work on a new user interface for the Evolve ZAMS stellar evolution code is presented. The initial goal of this project is
More informationIntroduction to Portal for ArcGIS. Hao LEE November 12, 2015
Introduction to Portal for ArcGIS Hao LEE November 12, 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration options Portal for ArcGIS + ArcGIS for
More informationFACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00
FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JULY 2014 DATE 07/2014 SESSION 8:00-10:00 ASSESOR(S)
More informationIntroduction to Portal for ArcGIS
Introduction to Portal for ArcGIS Derek Law Product Management March 10 th, 2015 Esri Developer Summit 2015 Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration
More informationAmong various open-source GIS programs, QGIS can be the best suitable option which can be used across partners for reasons outlined below.
Comparison of Geographic Information Systems (GIS) software As of January 2018, WHO has reached an agreement with ESRI (an international supplier of GIS software) for an unlimited use of ArcGIS Desktop
More informationContents Why use NEURON ( 5-10 mins) Basics of NEURON (20-25 mins) Exercises (45 mins) Wrap Up (10 mins)
Contents Why use NEURON ( 5-10 mins) 3 Basics of NEURON (20-25 mins) 8 Exercises (45 mins) 27 Wrap Up (10 mins) 28 (Many thanks to David Sterratt (Uni of Edinburgh) for allowing the use of his tutorials
More informationIt s about time... The only timeline tool you ll ever need!
It s about time... The only timeline tool you ll ever need! Introduction about me Jon Tomczak Senior Consultant Crypsis Game Dev turned Forensicator Past: Started TZWorks in 2006 Consultant at Mandiant
More informationScikit-learn. scikit. Machine learning for the small and the many Gaël Varoquaux. machine learning in Python
Scikit-learn Machine learning for the small and the many Gaël Varoquaux scikit machine learning in Python In this meeting, I represent low performance computing Scikit-learn Machine learning for the small
More informationFACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 09/06/2014 SESSION 8:30-10:30
FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING MODULE CAMPUS CSC2A10 OBJECT ORIENTED PROGRAMMING AUCKLAND PARK CAMPUS (APK) EXAM JUNE 2014 DATE 09/06/2014 SESSION 8:30-10:30 ASSESOR(S)
More information(Multiscale) Modelling With SfePy
(Multiscale) Modelling With SfePy Random Remarks... Robert Cimrman & Eduard Rohan & others Department of Mechanics & New Technologies Research Centre University of West Bohemia Plzeň, Czech Republic PANM
More informationepistasis Documentation
epistasis Documentation Release 0.1 Zach Sailer May 19, 2017 Contents 1 Table of Contents 3 1.1 Setup................................................... 3 1.2 Basic Usage...............................................
More informationVPython Class 2: Functions, Fields, and the dreaded ˆr
Physics 212E Classical and Modern Physics Spring 2016 1. Introduction VPython Class 2: Functions, Fields, and the dreaded ˆr In our study of electric fields, we start with a single point charge source
More informationDeep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing
Deep-dive into PyMISP MISP - Malware Information Sharing Platform & Threat Sharing Team CIRCL http://www.misp-project.org/ Twitter: @MISPProject MISP Training @ Helsinki 20180423 Context MISP is complex
More informationDATA SCIENCE SIMPLIFIED USING ARCGIS API FOR PYTHON
DATA SCIENCE SIMPLIFIED USING ARCGIS API FOR PYTHON LEAD CONSULTANT, INFOSYS LIMITED SEZ Survey No. 41 (pt) 50 (pt), Singapore Township PO, Ghatkesar Mandal, Hyderabad, Telengana 500088 Word Limit of the
More informationLeveraging 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 informationPractical Bioinformatics
4/24/2017 Resources Course website: http://histo.ucsf.edu/bms270/ Resources on the course website: Syllabus Papers and code (for downloading before class) Slides and transcripts (available after class)
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 27 """ 28 Tutorial for the Million Song Dataset 29 30 by Thierry Bertin - Mahieux ( 2011) Columbia University
More informationAnnouncements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.
Turing Machines Hello Hello Condensed Slide Slide Readers! Readers! This This lecture lecture is is almost almost entirely entirely animations that that show show how how each each Turing Turing machine
More informationGRASS GIS Development APIs
GRASS GIS Development APIs Lifting the fog on the different ways to develop with and for GRASS Moritz Lennert Member of the GRASS GIS Project Steering Comittee PostGISomics Over 30 years of development
More informationJointly Learning Python Programming and Analytic Geometry
Jointly Learning Python Programming and Analytic Geometry Cristina-Maria Păcurar Abstract The paper presents an original Python-based application that outlines the advantages of combining some elementary
More informationPractical Information
MA2501 Numerical Methods Spring 2018 Norwegian University of Science and Technology Department of Mathematical Sciences Semester Project Practical Information This project counts for 30 % of the final
More informationComp 11 Lectures. Dr. Mike Shah. August 9, Tufts University. Dr. Mike Shah (Tufts University) Comp 11 Lectures August 9, / 34
Comp 11 Lectures Dr. Mike Shah Tufts University August 9, 2017 Dr. Mike Shah (Tufts University) Comp 11 Lectures August 9, 2017 1 / 34 Please do not distribute or host these slides without prior permission.
More informationIowa Department of Transportation Office of Transportation Data GIS / CAD Integration
Iowa Department of Transportation Office of Transportation Data GIS / CAD Integration From GIS data to CAD graphics - Iowa DOT's workflow utilizing GeoMedia and MicroStation to develop map products. Mark
More informationPortal for ArcGIS: An Introduction
Portal for ArcGIS: An Introduction Derek Law Esri Product Management Esri UC 2014 Technical Workshop Agenda Web GIS pattern Product overview Installation and deployment Security and groups Configuration
More information6. How Functions Work and Are Accessed. Topics: Modules and Functions More on Importing Call Frames
6. How Functions Work and Are Accessed Topics: Modules and Functions More on Importing Call Frames Let s Talk About Modules What Are They? M1.py A module is a.py file that contains Python code The name
More informationTox Issues with virtualenv GNU Guix guix-tox. Guix-tox. A functional version of tox. Cyril Roelandt January 30, /35
A functional version of tox cyril@redhat.com January 30, 2016 1/35 OpenStack developer at Red Hat since 2013 developer 2/35 1 2 Only Python packages can be installed Reproducibility One package manager
More informationarxiv: v2 [cs.ds] 9 Nov 2017
Replace or Retrieve Keywords In Documents At Scale Vikash Singh Belong.co Bangalore, India vikash@belong.co arxiv:1711.00046v2 [cs.ds] 9 Nov 2017 Abstract In this paper we introduce, the FlashText 1 algorithm
More informationI. Numerical Computing
I. Numerical Computing A. Lectures 1-3: Foundations of Numerical Computing Lecture 1 Intro to numerical computing Understand difference and pros/cons of analytical versus numerical solutions Lecture 2
More information6.001 Recitation 22: Streams
6.001 Recitation 22: Streams RI: Gerald Dalley, dalleyg@mit.edu, 4 May 2007 http://people.csail.mit.edu/dalleyg/6.001/sp2007/ The three chief virtues of a programmer are: Laziness, Impatience and Hubris
More informationPySaxs A Python module and GUI for SAXS data treatment
DIRECTION DES SCIENCES DE LA MATIERE IRAMIS Laboratoire Interdisciplinaire sur l Organisation Nanométrique et Supramoléculaire PySaxs A Python module and GUI for SAXS data treatment Olivier Taché Collaborative
More information1 Trees. Listing 1: Node with two child reference. public class ptwochildnode { protected Object data ; protected ptwochildnode l e f t, r i g h t ;
1 Trees The next major set of data structures belongs to what s called Trees. They are called that, because if you try to visualize the structure, it kind of looks like a tree (root, branches, and leafs).
More informationOverview of xcode Overview of xcode
Ilya Agapov Original motivation: spontaneous radiation Need for diagnostics, power loads and potentially science cases Numerical methods well understood, single particle solver provided by O. Chubar (SRWlib)
More informationEXTRACTION AND VISUALIZATION OF WIND SPEED IN A GIS ENVIRONMENT FROM A WEATHER RESEARCH AND FORECASTING (WRF) OUTPUT USING PYTHON
EXTRACTION AND VISUALIZATION OF WIND SPEED IN A GIS ENVIRONMENT FROM A WEATHER RESEARCH AND FORECASTING (WRF) OUTPUT USING PYTHON Jerome T. Tolentino 1, Ma. Victoria Rejuso 1, Jara Kaye Villanueva 1, Loureal
More informationR: A Quick Reference
R: A Quick Reference Colorado Reed January 17, 2012 Contents 1 Basics 2 1.1 Arrays and Matrices....................... 2 1.2 Lists................................ 3 1.3 Loading Packages.........................
More informationAgilent MassHunter Quantitative Data Analysis
Agilent MassHunter Quantitative Data Analysis Presenters: Howard Sanford Stephen Harnos MassHunter Quantitation: Batch and Method Setup Outliers, Data Review, Reporting 1 MassHunter Quantitative Analysis
More informationPerforming Advanced Cartography with Esri Production Mapping
Esri International User Conference San Diego, California Technical Workshops July 25, 2012 Performing Advanced Cartography with Esri Production Mapping Tania Pal & Madhura Phaterpekar Agenda Outline generic
More informationTOWARDS THE DEVELOPMENT OF A MONITORING SYSTEM FOR PLANNING POLICY Residential Land Uses Case study of Brisbane, Melbourne, Chicago and London
TOWARDS THE DEVELOPMENT OF A MONITORING SYSTEM FOR PLANNING POLICY Residential Land Uses Case study of Brisbane, Melbourne, Chicago and London Presented to CUPUM 12 July 2017 by Claire Daniel Urban Planning/Data
More information- Why aren t there more quantum algorithms? - Quantum Programming Languages. By : Amanda Cieslak and Ahmana Tarin
- Why aren t there more quantum algorithms? - Quantum Programming Languages By : Amanda Cieslak and Ahmana Tarin Why aren t there more quantum algorithms? there are only a few problems for which quantum
More informationGeoprovisioning delivers geodata and its analysis for specific areas on request.
DRAFT 27 February 2009 Geoprovisioning Geoprovisioning delivers geodata and its analysis for specific areas on request. What are the components of a geoprovisioning service? The sample web site geoprovisioning.com
More informationComputational Methods for Nonlinear Systems
Computational Methods for Nonlinear Systems Cornell Physics 682 / CIS 629 James P. Sethna Christopher R. Myers Computational Methods for Nonlinear Systems Graduate computational science laboratory course
More informationRead all questions and answers carefully! Do not make any assumptions about the code other than those that are clearly stated.
Read all questions and answers carefully! Do not make any assumptions about the code other than those that are clearly stated. CS177 Fall 2014 Final - Page 2 of 38 December 17th, 10:30am 1. Consider we
More informationGeostatistics and Spatial Scales
Geostatistics and Spatial Scales Semivariance & semi-variograms Scale dependence & independence Ranges of spatial scales Variable dependent Fractal dimension GIS implications Spatial Modeling Spatial Analysis
More informationAlgorithms for Uncertainty Quantification
Technische Universität München SS 2017 Lehrstuhl für Informatik V Dr. Tobias Neckel M. Sc. Ionuț Farcaș April 26, 2017 Algorithms for Uncertainty Quantification Tutorial 1: Python overview In this worksheet,
More informationA Glimpse at Scipy FOSSEE. June Abstract This document shows a glimpse of the features of Scipy that will be explored during this course.
A Glimpse at Scipy FOSSEE June 010 Abstract This document shows a glimpse of the features of Scipy that will be explored during this course. 1 Introduction SciPy is open-source software for mathematics,
More informationGoogle Go illustrated on the basis of Fibonacci numbers
Google Go illustrated on the basis of Fibonacci numbers Jan Pennekamp RWTH University Aachen Chair for Data Management and Data Exploration Prof. Dr. T. Seidl Supervision: Dipl.-Ing. Marwan Hassani Friday,
More informationIntroduction to Python
Introduction to Python Luis Pedro Coelho luis@luispedro.org @luispedrocoelho European Molecular Biology Laboratory Lisbon Machine Learning School 2015 Luis Pedro Coelho (@luispedrocoelho) Introduction
More informationLisp Introduction. Dr. Neil T. Dantam. Spring CSCI-498/598 RPM, Colorado School of Mines. Dantam (Mines CSCI, RPM) Lisp Spring / 88
Lisp Introduction Dr. Neil T. Dantam CSCI-498/598 RPM, Colorado School of Mines Spring 28 Dantam (Mines CSCI, RPM) Lisp Spring 28 / 88 Outline Lisp Common Lisp by Example Implementation Details Typing
More informationComp 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 information7th FIG Regional Conference Spatial Data Serving People: Land Governance and the Environment - Building the Capacity
7th FIG Regional Conference Spatial Data Serving People: Land Governance and the Environment - Building the Capacity Hanoi, Vietnam, 19-22 October 2009 ------------------ TS 3A - SDI in Support of Urban
More informationGEOGRAPHICAL INFORMATION SYSTEMS. GIS Foundation Capacity Building Course. Introduction
GEOGRAPHICAL INFORMATION SYSTEMS. GIS Foundation Capacity Building Course. Introduction In recent times digital mapping has become part and parcel of our daily lives with experience from Google Maps on
More informationLab 1: Empirical Energy Methods Due: 2/14/18
Lab 1: Empirical Energy Methods Due: 2/14/18 General remarks on scientific scripting Scientific scripting for managing the input and output data is an important component of modern materials computations,
More informationA Practical Comparison of Agile Web Frameworks
A Practical Agile Frame David Díaz Clavijo david@diazclavijo.com University of Las Palmas de Gran Canaria School of Computer Science Tutors: Cayetano Guerra Artal Alexis Quesada Arencibia Lydia Esther
More information4th year Project demo presentation
4th year Project demo presentation Colm Ó héigeartaigh CASE4-99387212 coheig-case4@computing.dcu.ie 4th year Project demo presentation p. 1/23 Table of Contents An Introduction to Quantum Computing The
More informationSt. Kitts and Nevis Heritage and Culture
St. Kitts and Nevis Heritage and Culture Eloise Stancioff, Habiba, Departmet of Culture St. Kitts HERA workshop: March 17-20, 2015 Goals Using freely available open source platforms, we implement two different
More informationA BASE SYSTEM FOR MICRO TRAFFIC SIMULATION USING THE GEOGRAPHICAL INFORMATION DATABASE
A BASE SYSTEM FOR MICRO TRAFFIC SIMULATION USING THE GEOGRAPHICAL INFORMATION DATABASE Yan LI Ritsumeikan Asia Pacific University E-mail: yanli@apu.ac.jp 1 INTRODUCTION In the recent years, with the rapid
More informationPysynphot: A Python Re Implementation of a Legacy App in Astronomy
Pysynphot: A Python Re Implementation of a Legacy App in Astronomy Vicki Laidler 1, Perry Greenfield, Ivo Busko, Robert Jedrzejewski Science Software Branch Space Telescope Science Institute Baltimore,
More informationSupplementary 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 informationCS 221 Lecture 9. Tuesday, 1 November 2011
CS 221 Lecture 9 Tuesday, 1 November 2011 Some slides in this lecture are from the publisher s slides for Engineering Computation: An Introduction Using MATLAB and Excel 2009 McGraw-Hill Today s Agenda
More informationDigital Electronics Part 1: Binary Logic
Digital Electronics Part 1: Binary Logic Electronic devices in your everyday life What makes these products examples of electronic devices? What are some things they have in common? 2 How do electronics
More informationCOMP 204. Object Oriented Programming (OOP) Mathieu Blanchette
COMP 204 Object Oriented Programming (OOP) Mathieu Blanchette 1 / 14 Object-Oriented Programming OOP is a way to write and structure programs to make them easier to design, understand, debug, and maintain.
More informationGeodatabase Best Practices. Dave Crawford Erik Hoel
Geodatabase Best Practices Dave Crawford Erik Hoel Geodatabase best practices - outline Geodatabase creation Data ownership Data model Data configuration Geodatabase behaviors Data integrity and validation
More informationSatellite project, AST 1100
Satellite project, AST 1100 Introduction and useful information 0.1 Project overview In this project you are going to send a satellite from your home planet, in your own personal star system, to visit
More information1 ListElement l e = f i r s t ; / / s t a r t i n g p o i n t 2 while ( l e. next!= n u l l ) 3 { l e = l e. next ; / / next step 4 } Removal
Präsenzstunden Today In the same room as in the first week Assignment 5 Felix Friedrich, Lars Widmer, Fabian Stutz TA lecture, Informatics II D-BAUG March 18, 2014 HIL E 15.2 15:00-18:00 Timon Gehr (arriving
More informationAppendix 4 Weather. Weather Providers
Appendix 4 Weather Using weather data in your automation solution can have many benefits. Without weather data, your home automation happens regardless of environmental conditions. Some things you can
More informationSolving Polynomial Systems in the Cloud with Polynomial Homotopy Continuation
Solving Polynomial Systems in the Cloud with Polynomial Homotopy Continuation Jan Verschelde joint with Nathan Bliss, Jeff Sommars, and Xiangcheng Yu University of Illinois at Chicago Department of Mathematics,
More informationMapOSMatic, free city maps for everyone!
MapOSMatic, free city maps for everyone! Thomas Petazzoni thomas.petazzoni@enix.org Libre Software Meeting 2012 http://www.maposmatic.org Thomas Petazzoni () MapOSMatic: free city maps for everyone! July
More informationBACHELOR OF TECHNOLOGY DEGREE PROGRAM IN COMPUTER SCIENCE AND ENGINEERING B.TECH (COMPUTER SCIENCE AND ENGINEERING) Program,
BACHELOR OF TECHNOLOGY DEGREE PROGRAM IN COMPUTER SCIENCE AND ENGINEERING B.TECH (COMPUTER SCIENCE AND ENGINEERING) Program, 2018-2022 3.1 PROGRAM CURRICULUM 3.1.1 Mandatory Courses and Credits The B.Tech
More informationA Reconfigurable Quantum Computer
A Reconfigurable Quantum Computer David Moehring CEO, IonQ, Inc. College Park, MD Quantum Computing for Business 4-6 December 2017, Mountain View, CA IonQ Highlights Full Stack Quantum Computing Company
More informationIntroduction to Python
Introduction to Python Luis Pedro Coelho Institute for Molecular Medicine (Lisbon) Lisbon Machine Learning School II Luis Pedro Coelho (IMM) Introduction to Python Lisbon Machine Learning School II (1
More informationL435/L555. Dept. of Linguistics, Indiana University Fall 2016
in in L435/L555 Dept. of Linguistics, Indiana University Fall 2016 1 / 13 in we know how to output something on the screen: print( Hello world. ) input: input() returns the input from the keyboard
More informationMAGIC End of Year Presentations. Girls Middle School May 10th, 2016
MAGIC 2015-2016 End of Year Presentations Girls Middle School May 10th, 2016 Agenda Aruna Gauba Anne Friedman Modeling figures and textures using 3-D modeling with Blender Ada Firth Four different games
More informationUsing the EartH2Observe data portal to analyse drought indicators. Lesson 4: Using Python Notebook to access and process data
Using the EartH2Observe data portal to analyse drought indicators Lesson 4: Using Python Notebook to access and process data Preface In this fourth lesson you will again work with the Water Cycle Integrator
More informationTuring Machines Part Three
Turing Machines Part Three What problems can we solve with a computer? What kind of computer? Very Important Terminology Let M be a Turing machine. M accepts a string w if it enters an accept state when
More informationASE: A programmable environment for calculations with many electronic structure codes
ASE: A programmable environment for calculations with many electronic structure codes Ask Hjorth Larsen Center for Atomic-scale Materials Design, Technical University of Denmark 16th ETSF workshop September
More informationCSCI-141 Exam 1 Review September 19, 2015 Presented by the RIT Computer Science Community
CSCI-141 Exam 1 Review September 19, 2015 Presented by the RIT Computer Science Community http://csc.cs.rit.edu 1. Python basics (a) The programming language Python (circle the best answer): i. is primarily
More informationWrite a report (6-7 pages, double space) on some examples of Internet Applications. You can choose only ONE of the following application areas:
UPR 6905 Internet GIS Homework 1 Yong Hong Guo September 9, 2008 Write a report (6-7 pages, double space) on some examples of Internet Applications. You can choose only ONE of the following application
More informationIntegrating ARCGIS with Datamining Software to Predict Habitat for Red Sea Urchins on the Coast of British Columbia.
Integrating ARCGIS with Datamining Software to Predict Habitat for Red Sea Urchins on the Coast of British Columbia. Wayne Hajas Pacific Biological Station Nanaimo, BC 1 Allison Smeaton GIS-student intern
More informationPaikkaOppi - a Virtual Learning Environment on Geographic Information for Upper Secondary School
PaikkaOppi - a Virtual Learning Environment on Geographic Information for Upper Secondary School Jaakko Kähkönen*, Lassi Lehto*, Juha Riihelä** * Finnish Geodetic Institute, PO Box 15, FI-02431 Masala,
More informationCS187 - Science Gateway Seminar for CS and Math
CS187 - Science Gateway Seminar for CS and Math Fall 2013 Class 3 Sep. 10, 2013 What is (not) Computer Science? Network and system administration? Playing video games? Learning to use software packages?
More informationCS177 Fall Midterm 1. Wed 10/07 6:30p - 7:30p. There are 25 multiple choice questions. Each one is worth 4 points.
CS177 Fall 2015 Midterm 1 Wed 10/07 6:30p - 7:30p There are 25 multiple choice questions. Each one is worth 4 points. Answer the questions on the bubble sheet given to you. Only the answers on the bubble
More informationECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University
ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation
More informationSapienza universita di Roma Dipartimento di Informatica e Sistemistica. User guide WSCE-Lite Web Service Composition Engine v 0.1.
Sapienza universita di Roma Dipartimento di Informatica e Sistemistica User guide WSCE-Lite Web Service Composition Engine v 0.1 Valerio Colaianni Contents 1 Installation 5 1.1 Installing TLV..........................
More informationFrom 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 informationGIS Functions and Integration. Tyler Pauley Associate Consultant
GIS Functions and Integration Tyler Pauley Associate Consultant Contents GIS in AgileAssets products Displaying data within AMS Symbolizing the map display Display on Bing Maps Demo- Displaying a map in
More informationThe PyMC MCMC python package
The PyMC MCMC python package MCMC Coffee - Vitacura, December 7, 2017 Jan Bolmer Outline 1. PyMC, MCMC & Bayesian Statistics 1.1 PyMC - Purpose 1.2 Marcov Chain Monte Carlo 1.3 Metropolis-Hastings Algorithm
More informationBentley Map Advancing GIS for the World s Infrastructure
Bentley Map Advancing GIS for the World s Infrastructure Presentation Overview Why would you need Bentley Map? What is Bentley Map? Where is Bentley Map Used? Why would you need Bentley Map? Because your
More informationWhy GIS & Why Internet GIS?
Why GIS & Why Internet GIS? The Internet bandwagon Internet mapping (e.g., MapQuest) Location-based services Real-time navigation (e.g., traffic) Real-time service dispatch Business Intelligence Spatial
More information4 Modes. to decompose second-order systems into modes, explaining the decomposition using operators and block diagrams.
4 Modes 4. Growth of the Fibonacci series 52 4.2 Taking out the big part from Fibonacci 55 4.3 Operator interpretation 57 4.4 General method: Partial fractions 59 The goals of this chapter are: to illustrate
More informationStructural Induction
Structural Induction In this lecture we ll extend the applicability of induction to many universes, ones where we can define certain kinds of objects by induction, in addition to proving their properties
More information