Automated Builds. Rules

Size: px
Start display at page:

Download "Automated Builds. Rules"

Transcription

1 Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See for more information.

2 Manage tasks and dependencies

3 Manage tasks and dependencies paper.pdf paper.wdp figure-1.svg figure-2.svg summary-1.dat stats.py data-1-1.dat data-1-2.dat data-1-3.dat

4 Manage tasks and dependencies paper.pdf paper.wdp figure-1.svg figure-2.svg summary-1.dat stats.py summary-1.dat data-1-*.dat stats.py data-1-1.dat data-1-2.dat data-1-3.dat

5 Manage tasks and dependencies paper.pdf paper.wdp figure-1.svg figure-2.svg? summary-1.dat stats.py summary-1.dat data-1-*.dat stats.py data-1-1.dat data-1-2.dat data-1-3.dat

6 Makefile so far paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< figure-1.svg : summary-1.dat figure-2.svg : summary-2.dat summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

7 Makefile so far paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< figure-1.svg : summary-1.dat figure-2.svg : summary-2.dat Eliminate this redundancy summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

8 Use a pattern rule to capture the common idea

9 Use a pattern rule to capture the common idea # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

10 Use a pattern rule to capture the common idea # pattern-rule.mk % is a wildcard summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

11 Use a pattern rule to capture the common idea # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat % is a wildcard Has the same value on both sides summary-1.dat : stats.py summary-2.dat : stats.py

12 Use a pattern rule to capture the common idea # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat % is a wildcard Has the same value on both sides Undefined in the action summary-1.dat : stats.py summary-2.dat : stats.py

13 Use a pattern rule to capture the common idea # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py % is a wildcard Has the same value on both sides Undefined in the action Have to use $@, $^, etc.

14 Try running it

15 Try running it $ make -f pattern-rule.mk stats.py summary-1.dat data-1-1.dat data-1-2.dat data-1-3.dat $

16 Try running it $ make -f pattern-rule.mk stats.py summary-1.dat data-1-1.dat data-1-2.dat data-1-3.dat $ Why didn't other commands run?

17 Pattern rule doesn't create dependencies itself

18 Pattern rule doesn't create dependencies itself # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat If Make wants to create figure-1.svg, it can use this rule summary-1.dat : stats.py summary-2.dat : stats.py

19 Pattern rule doesn't create dependencies itself # pattern-rule.mk summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py If Make wants to create figure-1.svg, it can use this rule Still have to tell Make what it wants to do

20 Put the rule for paper.pdf back in the file

21 Put the rule for paper.pdf back in the file # use-pattern.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

22 Put the rule for paper.pdf back in the file # use-pattern.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py Make now knows that it needs to create the figures, so it finds and uses the rule

23 This doesn't work! # doesnt-work.mk paper.pdf : paper.wdp figure-*.svg wdp2pdf $< summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

24 This doesn't work! # doesnt-work.mk paper.pdf : paper.wdp figure-*.svg wdp2pdf $< summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat Figures don t exist when Make starts to run, so this is empty summary-1.dat : stats.py summary-2.dat : stats.py

25 Get rid of more redundancy # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-1.dat : data-1-*.dat summary-2.dat : data-2-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

26 Get rid of more redundancy # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-1.dat : stats.py summary-2.dat : stats.py

27 Get rid of more redundancy # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-1.dat : stats.py summary-2.dat : stats.py Make wildcard

28 Get rid of more redundancy # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-1.dat : stats.py summary-2.dat : stats.py Shell wildcard

29 But this doesn't work! # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-%.dat : stats.py

30 But this doesn't work! # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-%.dat : stats.py summary-*.dat still only depends on data-*-*.dat

31 But this doesn't work! # all-patterns.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat summary-%.dat : stats.py summary-*.dat still only depends on data-*-*.dat Make only uses the first pattern rule it finds

32 Back to using false dependencies... # false-dependencies.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat data-*-*.dat : stats.py touch $@

33 Back to using false dependencies... # false-dependencies.mk paper.pdf : paper.wdp figure-1.svg figure-2.svg wdp2pdf $< summary-%.dat : data-%-*.dat data-*-*.dat : stats.py touch $@ It's a less-than-perfect tool...

34 created by Greg Wilson August 2010 Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See for more information.

Automated Builds. Macros

Automated Builds. Macros Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Manage tasks and dependencies

More information

The Unix Shell. Pipes and Filters

The Unix Shell. Pipes and Filters The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell pwd

More information

The Unix Shell. Job Control

The Unix Shell. Job Control The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell $

More information

The Unix Shell. Permissions

The Unix Shell. Permissions The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell pwd,

More information

Sets and Dictionaries

Sets and Dictionaries Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Let's try an experiment Let's

More information

Python. Input and Output

Python. Input and Output Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Been using print to see what

More information

A simple interpreted language

A simple interpreted language Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. A simple interpreted language

More information

Version Control. Ioannis N. Athanasiadis. with slides from Solution Perspective Media and Software Carpentry

Version Control. Ioannis N. Athanasiadis. with slides from Solution Perspective Media and Software Carpentry Ioannis N. Athanasiadis with slides from Solution Perspective Media and Software Carpentry http://springuniversity.bc3research.org/ 1 What is it A method for centrally storing files Keeping a record of

More information

The Unix Shell. Files and Directories

The Unix Shell. Files and Directories The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Run Programs Store

More information

A list is a mutable heterogeneous sequence

A list is a mutable heterogeneous sequence Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. A list is a mutable heterogeneous

More information

A function is a way to turn a bunch of related statements into a single "chunk"

A function is a way to turn a bunch of related statements into a single chunk Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. A function is a way to turn a

More information

The Unix Shell. Job Control

The Unix Shell. Job Control The Unix Shell Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. shell shell $

More information

Classes and Objects. Inheritance

Classes and Objects. Inheritance Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Interpolating time series signals

More information

Python. Directory and File Paths

Python. Directory and File Paths Copyright Software Carpentry and The University of Edinburgh 2010-2011 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information.

More information

Multimedia Programming

Multimedia Programming Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. Data is 1's and 0's Data is 1's

More information

Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004

Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004 Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004 Name: Lab Time: Grade: /10 Error Checking In this lab you will be writing a shell script to automate the installation

More information

Physics REU Unix Tutorial

Physics REU Unix Tutorial Physics REU Unix Tutorial What is unix? Unix is an operating system. In simple terms, its the set of programs that makes a computer work. It can be broken down into three parts. (1) kernel: The component

More information

Python. First-Class Functions

Python. First-Class Functions Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. An integer is 32 bits of data...

More information

A programming language should not include everything anyone might ever want

A programming language should not include everything anyone might ever want Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. A programming language should

More information

Week 5 Lecture 3. Compiler Errors

Week 5 Lecture 3. Compiler Errors Lecture 3 Compiler Errors Agile Development Backlog of stories defines projects Backlog contains all of the requirements currently known Stories define features of the project Three elements: feature user,

More information

Using Parameter Queries

Using Parameter Queries [Revised and Updated 21 August 2018] A useful feature of the query is that it can be saved and used again and again, whenever we want to ask the same question. The result we see (the recordset) always

More information

Shell CSCE 314 TAMU. Haskell Functions

Shell CSCE 314 TAMU. Haskell Functions 1 CSCE 314: Programming Languages Dr. Dylan Shell Haskell Functions 2 Outline Defining Functions List Comprehensions Recursion 3 Conditional Expressions As in most programming languages, functions can

More information

Unix Shell. Advanced Shell Tricks

Unix Shell. Advanced Shell Tricks The Advanced Shell Tricks Copyright The University of Southampton 2011 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information.

More information

MITOCW watch?v=w_-sx4vr53m

MITOCW watch?v=w_-sx4vr53m MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

The Unix Shell. The Secure Shell

The Unix Shell. The Secure Shell The The Copyright Software Carpentry 2011 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. $ pwd shell $ pwd /users/vlad

More information

Linux desktop app guide Documentation. Thomas Kluyver & contributors

Linux desktop app guide Documentation. Thomas Kluyver & contributors Linux desktop app guide Documentation Thomas Kluyver & contributors Dec 13, 2018 Contents: 1 User Interface options 3 1.1 Desktop style: GTK or Qt........................................ 3 1.2 Web tech:

More information

===Lab Info=== * 90 points. * Due 11:59pm on Sunday, 9/20/2015 for Monday and Wednesday lab. ==Assignment==

===Lab Info=== * 90 points. * Due 11:59pm on Sunday, 9/20/2015 for Monday and Wednesday lab. ==Assignment== ===Lab Info=== * 90 points * Due 11:59pm on Sunday, 9/20/2015 for Monday and Wednesday lab ==Assignment== In this assignment, you will work on closed hashing with open addressing. You are to read in the

More information

Computer Forensics CCIC Training

Computer Forensics CCIC Training Computer Forensics CCIC Training Chapter 7: Recycle Bin Lauren Pixley and Cassidy Elwell May 2017 (Version 1) This work by California Cyber Training Complex is licensed under a Creative Commons Attribution-NonCommercial

More information

Reading and manipulating files

Reading and manipulating files Reading and manipulating files Goals By the end of this lesson you will be able to Read files without using text editors Access specific parts of files Count the number of words and lines in a file Sort

More information

Four Types of Slope Positive Slope Negative Slope Zero Slope Undefined Slope Slope Dude will help us understand the 4 types of slope

Four Types of Slope Positive Slope Negative Slope Zero Slope Undefined Slope Slope Dude will help us understand the 4 types of slope Four Types of Slope Positive Slope Negative Slope Zero Slope Undefined Slope Slope Dude will help us understand the 4 types of slope https://www.youtube.com/watch?v=avs6c6_kvxm Direct Variation

More information

Graphing Linear Equations

Graphing Linear Equations Graphing Linear Equations A.REI.10 Understand that the graph of an equation in two variables is the set of all its solutions plotted in the coordinate plane. What am I learning today? How to graph a linear

More information

CS 3 Midterm 1 Review

CS 3 Midterm 1 Review CS 3 Midterm 1 Review 1. Quick Evaluations Indicate what each of the following would return if typed into STK. If you think it would error, then please write ERROR. If you think that it would loop forever,

More information

Tracking Rumors. Tracking Rumors. Representing Rumor Mills. Representing Rumor Mills. Suppose that we want to track gossip in a rumor mill

Tracking Rumors. Tracking Rumors. Representing Rumor Mills. Representing Rumor Mills. Suppose that we want to track gossip in a rumor mill Tracking Rumors Suppose that we want to track gossip in a rumor mill Tracking Rumors Simplifying assumption: each person tells at most two others Representing Rumor Mills Representing Rumor Mills Is a

More information

Lab 1: Introduction to Java

Lab 1: Introduction to Java Lab 1: Introduction to Java Welcome to the first CS15 lab! In the reading, we went over objects, methods, parameters and how to put all of these things together into Java classes. It's perfectly okay if

More information

Proposed baseline for D3.1:

Proposed baseline for D3.1: Proposed baseline for D.1: Purpose This is an overhaul for the LLDP specification in Clause, specifically addressing dual-signature operation. It aims to address the issues raised in comments D. #, #,

More information

Programming with Python

Programming with Python Programming with Python EOAS Software Carpentry Workshop September 21st, 2016 https://xkcd.com/353 Getting started For our Python introduction we re going to pretend to be a researcher studying inflammation

More information

The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.

The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. What is make? 1 make is a system utility for managing the build process (compilation/linking/etc). There are various versions of make; these notes discuss the GNU make utility included on Linux systems.

More information

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater)

CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) CS 3410 Intro to Unix, shell commands, etc... (slides from Hussam Abu-Libdeh and David Slater) 28 January 2013 Jason Yosinski Original slides available under Creative Commons Attribution-ShareAlike 3.0

More information

Contact Analysis. Learn how to: define surface contact solve a contact analysis display contact results. I-DEAS Tutorials: Simulation Projects

Contact Analysis. Learn how to: define surface contact solve a contact analysis display contact results. I-DEAS Tutorials: Simulation Projects Contact Analysis I-DEAS Tutorials: Simulation Projects This tutorial shows how to analyze surface contact. The electrical flash contacts in a 35mm camera will be modeled to calculate the contact forces.

More information

Publication-quality figures with Inkscape

Publication-quality figures with Inkscape Publication-quality figures with Inkscape In Lab 3 we briefly learnt about the different formats available to save the plots we create in R and how to modify them in PowerPoint and Adobe Illustrator. Today

More information

Test-Driven Development (TDD)

Test-Driven Development (TDD) Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)

More information

Shell Programming (Part 2)

Shell Programming (Part 2) i i Systems and Internet Infrastructure Security Institute for Networking and Security Research Department of Computer Science and Engineering Pennsylvania State University, University Park, PA Shell Programming

More information

JETSET LEVEL SEVEN LISTENING TEST PRACTICE PAPER THE TEST LASTS APPROXIMATELY 45 MINUTES. You need: this question paper an answer sheet a pencil.

JETSET LEVEL SEVEN LISTENING TEST PRACTICE PAPER THE TEST LASTS APPROXIMATELY 45 MINUTES. You need: this question paper an answer sheet a pencil. JETSET LEVEL SEVEN LISTENING TEST PRACTICE PAPER THE TEST LASTS APPROXIMATELY 45 MINUTES You need: this question paper an answer sheet a pencil. You may NOT use a dictionary. Do NOT open this paper until

More information

Programming with MPI

Programming with MPI Programming with MPI p. 1/?? Programming with MPI Advanced Completion Issues Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 May 2008 Programming with MPI p. 2/?? More on Completion More on

More information

Makefile Brief Reference

Makefile Brief Reference Makefile Brief Reference COMP 229, 346, 444, 5201 Revision 1.1 Date: July 31, 2003 1 Contents Intro Format Examples 2 Intro Makefiles in conjunction with the make utility (man make) provide a very convenient

More information

Strings are sequences of characters

Strings are sequences of characters Copyright Software Carpentry 2010 This work is licensed under the Creative Commons Attribution License See http://software-carpentry.org/license.html for more information. are sequences of characters are

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.

More information

Pragmatic Guide to Git

Pragmatic Guide to Git Extracted from: Pragmatic Guide to Git This PDF file contains pages extracted from Pragmatic Guide to Git, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy,

More information

MITOCW watch?v=sdw8_0rdzuw

MITOCW watch?v=sdw8_0rdzuw MITOCW watch?v=sdw8_0rdzuw PROFESSOR: Directed acyclic graphs are a special class of graphs that really have and warrant a theory of their own. Of course, "directed acyclic graphs" is lot of syllables,

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

Files

Files http://www.cs.fsu.edu/~langley/cop3353-2013-1/reveal.js-2013-02-11/02.html?print-pdf 02/11/2013 10:55 AM Files A normal "flat" file is a collection of information. It's usually stored somewhere reasonably

More information

Tracking Rumors. Suppose that we want to track gossip in a rumor mill

Tracking Rumors. Suppose that we want to track gossip in a rumor mill Tracking Rumors Suppose that we want to track gossip in a rumor mill 1 Tracking Rumors Suppose that we want to track gossip in a rumor mill Seiichi 2 Tracking Rumors Suppose that we want to track gossip

More information

Documentation:Tromas WordPress Theme

Documentation:Tromas WordPress Theme Documentation:Tromas WordPress Theme Install Tromas WordPress Theme within a few minutes. Tromas is a Multipurpose Business WordPress Theme It s fully responsive with bootstrap framework, easy to customization,

More information

Disable Java Auto Update Windows 7 Registry

Disable Java Auto Update Windows 7 Registry Disable Java Auto Update Windows 7 Registry Disable Java auto updater via policy/script or some other automated means update is ready for your computer" messages that get thrown before the auto updating

More information

wagtail-robots Documentation

wagtail-robots Documentation wagtail-robots Documentation Release dev Adrian Turjak Feb 28, 2018 Contents 1 Wagtail Robots In Action 3 2 Installation 9 3 Initialization 11 4 Rules 13 5 URLs 15 6 Caching 17 7 Sitemaps 19 8 Host directive

More information

Introduction CMSC 330: Organization of Programming Languages. Books on Ruby. Applications of Scripting Languages

Introduction CMSC 330: Organization of Programming Languages. Books on Ruby. Applications of Scripting Languages Introduction CMSC 330: Organization of Programming Languages Ruby is an object-oriented, imperative scripting language I wanted a scripting language that was more powerful than Perl, and more object-oriented

More information

Definition MATH Benjamin V.C. Collins, James A. Swenson MATH 2730

Definition MATH Benjamin V.C. Collins, James A. Swenson MATH 2730 MATH 2730 Benjamin V.C. Collins James A. Swenson s and undefined terms The importance of definition s matter! may be more important in Discrete Math than in any math course that you have had previously.

More information

Compilation & linkage. Compilation & linkage. Make. Compilation & linkage. Explicit rules. What makefile contains

Compilation & linkage. Compilation & linkage. Make. Compilation & linkage. Explicit rules. What makefile contains Linkage: g++ read main list o Compilation: g++ -c read main list read read read main main list list list If only one file is modified, do we have to recompile all over again? No. The Makefile uses the

More information

Adding A Tool Touch Off to my Centroid Acorn, Version 1.0

Adding A Tool Touch Off to my Centroid Acorn, Version 1.0 Adding A Tool Touch Off to my Centroid Acorn, Version 1.0 By R. G. Sparber Protected by Creative Commons. 1 It is very handy to be able to define height differences between cutters. Once done, G code commands

More information

A.4 Rationalizing the Denominator

A.4 Rationalizing the Denominator A.4 Rationalizing the Denominator RATIONALIZING THE DENOMINATOR A.4 Rationalizing the Denominator If a radical expression contains an irrational denominator, such as,, or 0, then it is not considered to

More information

Effective Programming Practices for Economists

Effective Programming Practices for Economists Effective Programming Practices for Economists 4. A L A T E X primer Hans-Martin von Gaudecker Department of Economics, Universität Bonn The case for plain L A T E X Version control works best with simple

More information

Introduction to the UNIX command line

Introduction to the UNIX command line Introduction to the UNIX command line Steven Abreu Introduction to Computer Science (ICS) Tutorial Jacobs University s.abreu@jacobs-university.de September 19, 2017 Overview What is UNIX? UNIX Shell Commands

More information

1. Managing Information in Table

1. Managing Information in Table 1. Managing Information in Table Spreadsheets are great for making lists (such as phone lists, client lists). The researchers discovered that not only was list management the number one spreadsheet activity,

More information

MITOCW watch?v=flgjisf3l78

MITOCW watch?v=flgjisf3l78 MITOCW watch?v=flgjisf3l78 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

CIT 590 Homework 10 Battleship

CIT 590 Homework 10 Battleship CIT 590 Homework 10 Battleship Purposes of this assignment: To give you more experience with classes and inheritance General Idea of the Assignment Once again, this assignment is based on a game, since

More information

read: permitted to read the contents of directory ( view files and sub-directories in that directory ).

read: permitted to read the contents of directory ( view files and sub-directories in that directory ). File permissions Three file permissions:- read: permitted to read the contents of file. write: permitted to write to the file. execute: permitted to execute the file as a program/script. Three directory

More information

Due Date: See Blackboard

Due Date: See Blackboard Source File: ~/2315/06/lab06.(C CPP cpp c++ cc cxx cp) Input: Under control of main function Output: Under control of main function Value: 2 Extend the IntegerSet class from Lab 04 to provide the following

More information

How to get started using the JSL

How to get started using the JSL ManuelD.RossettiThis work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative HowtogetstartedusingtheJSL IhaveusedbothEclipse(www.eclipse.org)andNetbeans(www.netbeans.org)in

More information

Due Date: See Blackboard

Due Date: See Blackboard Source File: ~/2315/11/lab11.(C CPP cpp c++ cc cxx cp) Input: Under control of main function Output: Under control of main function Value: 1 The purpose of this assignment is to become more familiar with

More information

Learning Recursion. Recursion [ Why is it important?] ~7 easy marks in Exam Paper. Step 1. Understand Code. Step 2. Understand Execution

Learning Recursion. Recursion [ Why is it important?] ~7 easy marks in Exam Paper. Step 1. Understand Code. Step 2. Understand Execution Recursion [ Why is it important?] ~7 easy marks in Exam Paper Seemingly Different Coding Approach In Fact: Strengthen Top-down Thinking Get Mature in - Setting parameters - Function calls - return + work

More information

This lesson is part 5 of 5 in a series. You can go to Invoice, Part 1: Free Shipping if you'd like to start from the beginning.

This lesson is part 5 of 5 in a series. You can go to Invoice, Part 1: Free Shipping if you'd like to start from the beginning. Excel Formulas Invoice, Part 5: Data Validation "Oh, hey. Um we noticed an issue with that new VLOOKUP function you added for the shipping options. If we don't type the exact name of the shipping option,

More information

CSCI 200 Lab 1 Implementing and Testing Simple ADTs in Java

CSCI 200 Lab 1 Implementing and Testing Simple ADTs in Java CSCI 200 Lab 1 Implementing and Testing Simple ADTs in Java This lab is a review of creating programs in Java and an introduction to JUnit testing. You will complete the documentation of an interface file

More information

Orbital Integrator System Manual

Orbital Integrator System Manual Orbital Integrator System Manual Benjamin Sprague This manual is intended to describe the functionality of the orbital integrator system. Copyright c 2006 Benjamin Sprague Permission is granted to copy,

More information

Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory.

Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory. Memory Management Page 1 Memory Management Wednesday, October 27, 2004 4:54 AM Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory. Two kinds

More information

Redefinition of an identifier is OK, but this is redefinition not assignment; Thus

Redefinition of an identifier is OK, but this is redefinition not assignment; Thus Redefinition of an identifier is OK, but this is redefinition not assignment; Thus val x = 100; val x = (x=100); is fine; there is no type error even though the first x is an integer and then it is a boolean.

More information

Section 7D Systems of Linear Equations

Section 7D Systems of Linear Equations Section 7D Systems of Linear Equations Companies often look at more than one equation of a line when analyzing how their business is doing. For example a company might look at a cost equation and a profit

More information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

How to version control like a pro: a roadmap to your reproducible & collaborative research

How to version control like a pro: a roadmap to your reproducible & collaborative research How to version control like a pro: a roadmap to your reproducible & collaborative research The material in this tutorial is inspired by & adapted from the Software Carpentry lesson on version control &

More information

Lab 2 Building on Linux

Lab 2 Building on Linux Lab 2 Building on Linux Assignment Details Assigned: January 28 th, 2013. Due: January 30 th, 2013 at midnight. Background This assignment should introduce the basic development tools on Linux. This assumes

More information

PSE and PD state machine. Darshan Yair, November 2017, Rev002 Page 1 of 9

PSE and PD state machine. Darshan Yair, November 2017, Rev002 Page 1 of 9 Contents 2... Comments 3... Proposed Remedy 5...PD state machine 7...Annex A (145.2.5.7, Page 142 Line 3) 7... Annex C: (145.2.5.7, P142, L9 and Page 143, L23) 8...Annex D Derivation or power demotion

More information

Creating and Attaching Custom Question Surveys 10 Step Tutorial

Creating and Attaching Custom Question Surveys 10 Step Tutorial Creating and Attaching Custom Question Surveys 10 Step Tutorial This document will walk you through the steps required to create Custom Question Surveys in the new EvaluationKIT (updates as of June 29,

More information

Clearing Your Browser Cache in: Internet Explorer 7 or 8

Clearing Your Browser Cache in: Internet Explorer 7 or 8 Clearing Your Browser Cache in: Internet Explorer 7 or 8 In this short lesson, you will learn the steps necessary to empty your browser cache in Internet Explorer 7 or 8. Users of version 6 or earlier

More information

Information Networks. Hacettepe University Department of Information Management DOK 422: Information Networks

Information Networks. Hacettepe University Department of Information Management DOK 422: Information Networks Information Networks Hacettepe University Department of Information Management DOK 422: Information Networks Search engines Some Slides taken from: Ray Larson Search engines Web Crawling Web Search Engines

More information

Managing Embedded System Software. RFI-ES Development Tools

Managing Embedded System Software. RFI-ES Development Tools Managing Embedded System Software with the RFI-ES Development Tools Table of Contents 1.0 Background - The WindRiver Tools...3 2.0 Projects...4 3.0 Using the Embedded System Development Tools...4 3.1 Tailoring

More information

CS536 Spring 2011 FINAL ID: Page 2 of 11

CS536 Spring 2011 FINAL ID: Page 2 of 11 CS536 Spring 2011 FINAL ID: Page 2 of 11 Question 2. (30 POINTS) Consider adding forward function declarations to the Little language. A forward function declaration is a function header (including its

More information

The KGeography Handbook. Anne-Marie Mahfouf and Kushal Das

The KGeography Handbook. Anne-Marie Mahfouf and Kushal Das Anne-Marie Mahfouf and Kushal Das 2 Contents 1 Introduction 1 2 Quick Start to KGeography 2 3 Using KGeography 11 3.1 More KGeography features..................... 11 4 How to make maps 13 4.1 Helper tool...............................

More information

[E-BOOK] WINDOWS 7 USER GUIDE

[E-BOOK] WINDOWS 7 USER GUIDE 25 April, 2018 [E-BOOK] WINDOWS 7 USER GUIDE Document Filetype: PDF 98.12 KB 0 [E-BOOK] WINDOWS 7 USER GUIDE I bought a netbook with 7 preinstalled and didn't get a disk or. Would any know where I cound

More information

Getting Started with Mathematica

Getting Started with Mathematica Updated: August 2012 Table of Contents Section 1: Introduction... 3 Section 2: Getting Started... 3 2.1 Running Mathematica... 3 2.2 Configuring Your Browser... 4 2.2.1 All Unix Browsers... 4 2.2.2 Mosaic

More information

Programming Assignment 1

Programming Assignment 1 CMPS 101 Algorithms and Abstract Data Types Programming Assignment 1 Introduction The purpose of this assignment is threefold: to make sure everyone is up to speed with Java, to practice modularity and

More information

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004

Computer Science 136 Spring 2004 Professor Bruce. Final Examination May 19, 2004 Computer Science 136 Spring 2004 Professor Bruce Final Examination May 19, 2004 Question Points Score 1 10 2 8 3 15 4 12 5 12 6 8 7 10 TOTAL 65 Your name (Please print) I have neither given nor received

More information

Binary Search. CS 5010 Program Design Paradigms Bootcamp Lesson 8.2

Binary Search. CS 5010 Program Design Paradigms Bootcamp Lesson 8.2 Binary Search CS 5010 Program Design Paradigms Bootcamp Lesson 8.2 Mitchell Wand, 2012-2017 This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. 1 Introduction

More information

Example 1: Use the graph of the function f given below to find the following. a. Find the domain of f and list your answer in interval notation

Example 1: Use the graph of the function f given below to find the following. a. Find the domain of f and list your answer in interval notation When working with the graph of a function, the inputs (the elements of the domain) are always the values on the horizontal ais (-ais) and the outputs (the elements of the range) are always the values on

More information

Debugging Inconclusive Assertions and a Case Study

Debugging Inconclusive Assertions and a Case Study Debugging Inconclusive Assertions and a Case Study by Jin Hou Mentor, A Siemens Business INTRODUCTION Formal assertion-based verification uses formal technologies to analyze if a design satisfies a given

More information

Very large searches present a number of challenges. These are the topics we will cover during this presentation.

Very large searches present a number of challenges. These are the topics we will cover during this presentation. 1 Very large searches present a number of challenges. These are the topics we will cover during this presentation. 2 The smartest way to merge files, like fractions from a MudPIT run, is using Mascot Daemon.

More information

2.2 Limit of a Function and Limit Laws

2.2 Limit of a Function and Limit Laws Limit of a Function and Limit Laws Section Notes Page Let s look at the graph y What is y()? That s right, its undefined, but what if we wanted to find the y value the graph is approaching as we get close

More information

PURL Campaign Vanity Domain Quick Reference Guide

PURL Campaign Vanity Domain Quick Reference Guide PURL Campaign Vanity Domain Quick Reference Guide Boingnet PURL campaigns have support for two types of domains. 1. Vanity domains that are obtained directly through Boingnet s interface. These domains

More information

CS 261 Fall C Introduction. Variables, Memory Model, Pointers, and Debugging. Mike Lam, Professor

CS 261 Fall C Introduction. Variables, Memory Model, Pointers, and Debugging. Mike Lam, Professor CS 261 Fall 2017 Mike Lam, Professor C Introduction Variables, Memory Model, Pointers, and Debugging The C Language Systems language originally developed for Unix Imperative, compiled language with static

More information

Unzip command in unix

Unzip command in unix Unzip command in unix Search 24-4-2015 Howto Extract Zip Files in a Linux and. You need to use the unzip command on a Linux or Unix like system. The nixcraft takes a lot of my time and. 16-4-2010 Howto:

More information

CS 170 Java Programming 1. Week 5: Procedures and Functions

CS 170 Java Programming 1. Week 5: Procedures and Functions CS 170 Java Programming 1 Week 5: Procedures and Functions What s the Plan? Topic 1: More on graphical objects Creating your own custom Turtle types Introducing media, pictures and sounds Topic 2: Decomposition:

More information