Software. Is

Size: px
Start display at page:

Download "Software. Is"

Transcription

1 Software Is

2

3

4 Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs, Life Cycles, and Laws of Software Evolution"

5 The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. Edsger W Dijkstra

6 It's just semantics.

7 It's just meaning.

8 It's just details.

9

10 Details count. Peter Weinberger

11 Geeks are people who love something so much that all the details matter. Marissa Mayer

12 We're talking about a very specific mindset that is crucial when it comes to the act of creating. Will Gompertz Think Like an Artist

13 It is an attitude that can be encapsulated in a simple but demanding rule: always think both big picture and fine detail. Will Gompertz Think Like an Artist

14 software

15 software architecture

16 code

17 implementation

18 implementation details

19 design details

20 design decisions

21

22 Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. Grady Booch

23 Architecture is a hypothesis, that needs to be proven by implementation and measurement. Tom Gilb

24 We propose [...] that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others. David L Parnas On the Criteria to Be Used in Decomposing Systems into Modules

25 Programming is a design activity. Jack W Reeves What Is Software Design?

26 Coding actually makes sense more often than believed. Often the process of rendering the design in code will reveal oversights and the need for additional design effort. The earlier this occurs, the better the design will be. Jack W Reeves What Is Software Design?

27

28 If a plot works out exactly as you first planned, you're not working loosely enough to give room to your imagination and instincts.

29 / WordFriday

30 pantser, noun Writer who writes by the seat of their pants. In contrast to a plotter, a pantser doesn't work to (or have) an outline.

31

32

33 16-bit

34 32-bit

35 64-bit

36 <windows.h>

37 LLP64

38 LP64

39

40 Hamlet: To be, or not to be, that is the question.

41 Ophelia: 'Tis in my memory locked, and you yourself shall keep the key of it.

42 Hamlet: Yea, from the table of my memory I'll wipe away all trivial fond records.

43

44 Unshared mutable data needs no synchronisation Unshared Mutable Shared mutable data needs synchronisation Shared Unshared immutable data needs no synchronisation Immutable Shared immutable data needs no synchronisation

45 Mutable The Synchronisation Quadrant Unshared mutable data needs no synchronisation Unshared Shared mutable data needs synchronisation Shared Unshared immutable data needs no synchronisation Immutable Shared immutable data needs no synchronisation

46

47 All computers wait at the same speed

48 Savings in time feel like simplicity

49 ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

50 ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

51 ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

52 Command-line tools can be 235x faster than your Hadoop cluster Adam Drake

53 sort

54

55 O(n log n)

56 O(n 2 )

57

58

59 O(n!)

60

61 OMG!

62

63 O(n)

64 Simple Testing Can Prevent Most Critical Failures An Analysis of Production Failures in Distributed Data-Intensive Systems

65

66 Schiaparelli s Inertial Measurement Unit (IMU) went about its business of calculating the lander s rotation rate. For some reason, the IMU calculated a saturationmaximum period that persisted for one second longer than what would normally be expected at this stage. When the IMU sent this bogus information to the craft s navigation system, it calculated a negative altitude.

67 That fateful miscalculation set off a cascade of despair, triggering the premature release of the parachute and the backshell, a brief firing of the braking thrusters, and activation of the on-ground systems as if Schiaparelli had already reached the surface. This all happened while the vehicle was still two miles (3.7 km) above ground.

68 A majority of the production failures (77%) can be reproduced by a unit test.

69

70

71

72

73 Normally screws are so cheap and small and simple you think of them as unimportant. But now, as your Quality awareness becomes stronger, you realize that this one, individual, particular screw is neither cheap nor small nor unimportant. Robert M Pirsig Zen and the Art of Motorcycle Maintenance

74 Right now this screw is worth exactly the selling price of the whole motorcycle, because the motorcycle is actually valueless until you get the screw out. With this reevaluation of the screw comes a willingness to expand your knowledge of it. Robert M Pirsig Zen and the Art of Motorcycle Maintenance

75 Software Is Details

Software. Is

Software. Is Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs,

More information

Old Is the New

Old Is the New Old Is the New New @KevlinHenney Toutes choses sont dites déjà; mais comme personne n'écoute, il faut toujours recommencer. André Gide Everything has been said before; but since nobody listens, we must

More information

Procedural Programming. It's Back? It Never Went

Procedural Programming. It's Back? It Never Went Procedural Programming It's Back? It Never Went Away @KevlinHenney procedural? µονόλιθος µservices µservices This is the Unix philosophy: Write programs that do one thing and do it well. Write programs

More information

Turning Development Outside

Turning Development Outside Turning Development Outside In @KevlinHenney What We Talk About When We Talk About Development @KevlinHenney What We Talk About When We Talk About Requirements @KevlinHenney Too often we push the problem

More information

The Architecture of

The Architecture of The Architecture of Uncertainty @KevlinHenney When a design decision can reasonably go one of two ways, an architect needs to take a step back. Instead of trying to decide between options A and B, the

More information

Lowering the Level of

Lowering the Level of Lowering the Level of Conversation @KevlinHenney https://twitter.com/kevlinhenney/status/761081424493449217 A goto completely invalidates the high-level structure of the code. Taligent's Guide to Designing

More information

Design and Information Hiding

Design and Information Hiding Design and Information Hiding 15-214: Foundations of Software Engineering Jonathan Aldrich Related Reading: D. L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. CACM 15(12):1053-1058,

More information

Working with Transformations on the Coordinate Plane

Working with Transformations on the Coordinate Plane Working with Transformations on the Coordinate Plane Movies create the illusion of movement by showing us 24 images per second. When the human eye processes 24 images per second it is interpreted in our

More information

There we are; that's got the 3D screen and mouse sorted out.

There we are; that's got the 3D screen and mouse sorted out. Introduction to 3D To all intents and purposes, the world we live in is three dimensional. Therefore, if we want to construct a realistic computer model of it, the model should be three dimensional as

More information

Specification: The Biggest Bottleneck in Formal Methods and Autonomy 1

Specification: The Biggest Bottleneck in Formal Methods and Autonomy 1 Specification: The Biggest Bottleneck in Formal Methods and Autonomy 1 Kristin Yvonne Rozier Iowa State University February 13, 2017 1 For expansions on these ideas, see: K.Y.Rozier. Specification: The

More information

HARRIS MATCHETTE SOLUTIONS. The New EZSpirits POS

HARRIS MATCHETTE SOLUTIONS. The New EZSpirits POS HARRIS MATCHETTE SOLUTIONS The New EZSpirits POS CHAPTER 1 The new EZSpirits POS The new EZSpirits POS is coming. It brings a new look, a new feel, new functionality, but the same core operations that

More information

Websites of different companies

Websites of different companies Websites of different companies In this presentation I aim to present two competing companies websites for the client. The client s company is Lightning games, and the two competing sites will also be

More information

Introduction to 3D Concepts

Introduction to 3D Concepts PART I Introduction to 3D Concepts Chapter 1 Scene... 3 Chapter 2 Rendering: OpenGL (OGL) and Adobe Ray Tracer (ART)...19 1 CHAPTER 1 Scene s0010 1.1. The 3D Scene p0010 A typical 3D scene has several

More information

How to Create a Killer Resources Page (That's Crazy Profitable)

How to Create a Killer Resources Page (That's Crazy Profitable) How to Create a Killer Resources Page (That's Crazy Profitable) There is a single page on your website that, if used properly, can be amazingly profitable. And the best part is that a little effort goes

More information

Technical Arts 101 Prof. Anupam Saxena Department of Mechanical engineering Indian Institute of Technology, Kanpur. Lecture - 7 Think and Analyze

Technical Arts 101 Prof. Anupam Saxena Department of Mechanical engineering Indian Institute of Technology, Kanpur. Lecture - 7 Think and Analyze Technical Arts 101 Prof. Anupam Saxena Department of Mechanical engineering Indian Institute of Technology, Kanpur Lecture - 7 Think and Analyze Last time I asked you to come up with a single funniest

More information

Refactoring to

Refactoring to Refactoring to Immutability @KevlinHenney https://twitter.com/mfeathers/status/29581296216 https://xkcd.com/1270/ Functional programming combines the flexibility and power of abstract mathematics with

More information

What s New in BID2WIN Service Pack 4

What s New in BID2WIN Service Pack 4 What s New in BID2WIN Service Pack 4 BID2WIN Software, Inc. Published: August, 2006 Abstract BID2WIN 2005 Service Pack 4 includes many exciting new features that add more power and flexibility to BID2WIN,

More information

Creating an Animated Navigation Bar in InDesign*

Creating an Animated Navigation Bar in InDesign* Creating an Animated Navigation Bar in InDesign* *for SWF or FLA export only Here s a digital dilemma: You want to provide navigation controls for readers, but you don t want to take up screen real estate

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

2016 All Rights Reserved

2016 All Rights Reserved 2016 All Rights Reserved Table of Contents Chapter 1: The Truth About Safelists What is a Safelist Safelist myths busted Chapter 2: Getting Started What to look for before you join a Safelist Best Safelists

More information

Strategy Pattern. What is it?

Strategy Pattern. What is it? Strategy Pattern 1 What is it? The Strategy pattern is much like the State pattern in outline, but a little different in intent. The Strategy pattern consists of a number of related algorithms encapsulated

More information

The Java Memory Model

The Java Memory Model The Java Memory Model What is it and why would I want one? Jörg Domaschka. ART Group, Institute for Distributed Systems Ulm University, Germany December 14, 2009 public class WhatDoIPrint{ static int x

More information

XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations.

XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations. XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations. A key problem is rooted in the very paradigm of XML, which

More information

Creating joints for the NovodeX MAX exporter

Creating joints for the NovodeX MAX exporter Creating joints for the NovodeX MAX exporter (a step-by-step tutorial by Pierre Terdiman) p.terdiman@wanadoo.fr Version 0.3 I) Creating a hinge Here we'll see how to create a hinge joint compatible with

More information

Red Hat Linux Network Management Tools (CD- ROM included)

Red Hat Linux Network Management Tools (CD- ROM included) Red Hat Linux Network Management Tools (CD- ROM included) Click here if your download doesn"t start automatically Red Hat Linux Network Management Tools (CD-ROM included) Red Hat Linux Network Management

More information

Designing for Performance. Martin Thompson

Designing for Performance. Martin Thompson Designing for Performance Martin Thompson - @mjpt777 Feynman is becoming a real pain. He has the greatest scientific honesty of anyone I ve ever meet - William P Rogers The impact of QED cannot be overestimated.

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: Sebastian Coope Ashton Building, Room G.18   COMP 201 web-page: Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 17 Concepts of Object Oriented Design Object-Oriented

More information

Kindle Paperwhite Manual Plugged In But Not

Kindle Paperwhite Manual Plugged In But Not Kindle Paperwhite Manual Plugged In But Not Charging Since you do not specify which Kindle you have, here are instructions for rebooting most Keyboard Kindle, Basic $69 or $79 Kindle, Kindle Touch, Paperwhite,

More information

EC121 Mathematical Techniques A Revision Notes

EC121 Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes EC Mathematical Techniques A Revision Notes Mathematical Techniques A begins with two weeks of intensive revision of basic arithmetic and algebra, to the level

More information

Porsche 91 1GT D m o d e ling tutorial - by Nim

Porsche 91 1GT D m o d e ling tutorial - by Nim orsche 911GT 3D modeling tutorial - by Nimish In this tutorial you will learn to model a car using Spline modeling method. This method is not very much famous as it requires considerable amount of skill

More information

Brief 3ds max Shaping Tutorial

Brief 3ds max Shaping Tutorial Brief 3ds max Shaping Tutorial Part1: Power Key Axe Shaft Written by Maestro 1. Creation: Go to top view, create a 6 sided cylinder, 0.1 radius this is the perfect shaft thickness to fit in the hand, so

More information

STA Rev. F Learning Objectives. Learning Objectives (Cont.) Module 3 Descriptive Measures

STA Rev. F Learning Objectives. Learning Objectives (Cont.) Module 3 Descriptive Measures STA 2023 Module 3 Descriptive Measures Learning Objectives Upon completing this module, you should be able to: 1. Explain the purpose of a measure of center. 2. Obtain and interpret the mean, median, and

More information

The Value of Values. Rich Hickey Datomic, Clojure

The Value of Values. Rich Hickey Datomic, Clojure The Value of Values Rich Hickey Datomic, Clojure I.T. Information Inform to convey knowledge via facts give shape to (the mind) Information the facts What is a Fact? Place where specific information is

More information

The Birth of Craftsmanship

The Birth of Craftsmanship The Birth of Craftsmanship Robert C. Martin Object Mentor, Inc. objectmentor.com Copyright 2008-9 by Object Mentor, Inc All Rights Reserved Our Craft: After years, we have a definition! 2 Electron Gun

More information

Learn a lot beyond the conventional VLOOKUP

Learn a lot beyond the conventional VLOOKUP The Ultimate Guide Learn a lot beyond the conventional VLOOKUP Hey there, Howdy? =IF ( you are first timer at Goodly, Then a very warm welcome here, Else for all my regular folks you know I love you :D

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

lld: A Fast, Simple and Portable Linker Rui Ueyama LLVM Developers' Meeting 2017

lld: A Fast, Simple and Portable Linker Rui Ueyama LLVM Developers' Meeting 2017 lld: A Fast, Simple and Portable Linker Rui Ueyama LLVM Developers' Meeting 2017 Talk overview 1. Implementation status 2. Design goals 3. Comparisons with other linkers 4. Concurrency

More information

A short introduction to. designing user-friendly interfaces

A short introduction to. designing user-friendly interfaces A short introduction to designing user-friendly interfaces Usability is often ignored until it becomes a problem Introduction This booklet is about Usability and User Experience design. It is aimed at

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

LING 473: Day 8. START THE RECORDING Computational Complexity Text Processing

LING 473: Day 8. START THE RECORDING Computational Complexity Text Processing LING 473: Day 8 START THE RECORDING Computational Complexity Text Processing 1 Announcements Project 2 is due tonight! Assignment 3 due on Thursday before class! Assignment 2 still not graded coming this

More information

Foundations of Math II

Foundations of Math II Foundations of Math II Unit 6b: Toolkit Functions Academics High School Mathematics 6.6 Warm Up: Review Graphing Linear, Exponential, and Quadratic Functions 2 6.6 Lesson Handout: Linear, Exponential,

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES

EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES JON SPEER, FOUNDER & VP OF QA/RA GREENLIGHT.GURU THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION

More information

Anatomy of a Standard Transcript

Anatomy of a Standard Transcript Anatomy of a Standard Transcript Maddie: Hi everyone! Throughout this joint project, Eli, Christina, & I all had to use technical standards to make sure our products met the necessary requirements & specifications,

More information

Citation for published version (APA): Bhanderi, D. (2001). ACS Rømer Algorithms Verification and Validation. RØMER.

Citation for published version (APA): Bhanderi, D. (2001). ACS Rømer Algorithms Verification and Validation. RØMER. Aalborg Universitet ACS Rømer Algorithms Verification and Validation Bhanderi, Dan Publication date: 2001 Document Version Publisher's PDF, also known as Version of record Link to publication from Aalborg

More information

John Stark. Click here if your download doesn"t start automatically

John Stark. Click here if your download doesnt start automatically Hacking: Beginner's Guide to Computer Hacking, Basic Security, Penetration Testing (Hacking, How to Hack, Penetration Testing, Basic security, Computer Hacking) Click here if your download doesn"t start

More information

Guide - The limitations in screen layout using the Item Placement Tool

Guide - The limitations in screen layout using the Item Placement Tool Guide - The limitations in screen layout using the Item Placement Tool 1/8 Guide - The limitations in screen layout using the Item Placement Tool I the B1 Usability Package we have the Item Placement Tool

More information

DESIGN AS RISK MINIMIZATION

DESIGN AS RISK MINIMIZATION THOMAS LATOZA SWE 621 FALL 2018 DESIGN AS RISK MINIMIZATION IN CLASS EXERCISE As you come in and take a seat What were the most important risks you faced in a recent software project? WHAT IS A RISK? WHAT

More information

What s New in. Word Presented by Janet Porter

What s New in. Word Presented by Janet Porter What s New in Word 2010 Presented by Janet Porter Upgrade from Office 2007 to Office 2010 For the Spring 2012 semester: all classrooms, teaching stations, computer instructor offices, and labs will be

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

proj 5 A/B kerning & introduction to the grid

proj 5 A/B kerning & introduction to the grid art 2413 typography fall 14 proj 5 A/B kerning & introduction to the grid problem objectives Many people assume a computer will create perfectly balanced spacing between letters, words, and lines. Such

More information

Cardinality of Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Cardinality of Sets Fall / 15

Cardinality of Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Cardinality of Sets Fall / 15 Cardinality of Sets MAT Transition to Higher Mathematics Fall 0 MAT (Transition to Higher Math) Cardinality of Sets Fall 0 / Outline Sets with Equal Cardinality Countable and Uncountable Sets MAT (Transition

More information

Reply to L2/10-327: Comments on L2/10-280, Proposal to Add Variation Sequences... 1

Reply to L2/10-327: Comments on L2/10-280, Proposal to Add Variation Sequences... 1 Reply to L2/10-327: Comments on L2/10-280, Proposal to Add Variation Sequences... This document consists of the reply from 2010-08-09 given on the Unicore mailing list, regarding the mail from Peter constable

More information

Mobile Mapping and Navigation. Brad Kohlmeyer NAVTEQ Research

Mobile Mapping and Navigation. Brad Kohlmeyer NAVTEQ Research Mobile Mapping and Navigation Brad Kohlmeyer NAVTEQ Research Mobile Mapping & Navigation Markets Automotive Enterprise Internet & Wireless Mobile Devices 2 Local Knowledge & Presence Used to Create Most

More information

Theory and Algorithms Introduction: insertion sort, merge sort

Theory and Algorithms Introduction: insertion sort, merge sort Theory and Algorithms Introduction: insertion sort, merge sort Rafael Ramirez rafael@iua.upf.es Analysis of algorithms The theoretical study of computer-program performance and resource usage. What s also

More information

The Process of Software Architecting

The Process of Software Architecting IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,

More information

Naming Things in Adafruit IO

Naming Things in Adafruit IO Naming Things in Adafruit IO Created by Adam Bachman Last updated on 2016-07-27 09:29:53 PM UTC Guide Contents Guide Contents Introduction The Two Feed Identifiers Name Key Aside: Naming things in MQTT

More information

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 2 Analysis of Fork-Join Parallel Programs

A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 2 Analysis of Fork-Join Parallel Programs A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Lecture 2 Analysis of Fork-Join Parallel Programs Steve Wolfman, based on work by Dan Grossman (with small tweaks by Alan Hu) Learning

More information

Search Engine Optimization and Placement:

Search Engine Optimization and Placement: Search Engine Optimization and Placement: An Internet Marketing Course for Webmasters Reneé Kennedy Terry Kent The Write Market Search Engine Optimization and Placement: Reneé Kennedy Terry Kent The Write

More information

WIntroduction. Motion Control Architectures. Chuck Lewin, Founder of Performance Motion Devices

WIntroduction. Motion Control Architectures. Chuck Lewin, Founder of Performance Motion Devices Motion Control Architectures Chuck Lewin, Founder of Performance Motion Devices WIntroduction hen engineers think of advances in motion control technology, they usually think of faster motors, improved

More information

Unit 1: Preliminaries Part 1: Course Introduction, Abstraction, and ADT s

Unit 1: Preliminaries Part 1: Course Introduction, Abstraction, and ADT s Unit 1: Preliminaries Part 1: Course Introduction, Abstraction, and ADT s Engineering 4892: Data Structures Faculty of Engineering & Applied Science Memorial University of Newfoundland April 23, 2010 ENGI

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

Apple ipod Mini Take Apart Repair Manual

Apple ipod Mini Take Apart Repair Manual Apple ipod Mini Take Apart Repair Manual Copyright 2006 Powerbookmedic.com. All rights reserved. Any portion of this manual may not be copied, reproduced, or distributed without the express written consent

More information

EECS 543 Final Exam Example

EECS 543 Final Exam Example EECS 543 Final Exam Example Note: The following contains an example of what you might expect the final exam to look like. The questions are of the type that you should expect. The real final exam will,

More information

CS 31: Intro to Systems Caching. Kevin Webb Swarthmore College March 24, 2015

CS 31: Intro to Systems Caching. Kevin Webb Swarthmore College March 24, 2015 CS 3: Intro to Systems Caching Kevin Webb Swarthmore College March 24, 205 Reading Quiz Abstraction Goal Reality: There is no one type of memory to rule them all! Abstraction: hide the complex/undesirable

More information

STA Module 2B Organizing Data and Comparing Distributions (Part II)

STA Module 2B Organizing Data and Comparing Distributions (Part II) STA 2023 Module 2B Organizing Data and Comparing Distributions (Part II) Learning Objectives Upon completing this module, you should be able to 1 Explain the purpose of a measure of center 2 Obtain and

More information

STA Learning Objectives. Learning Objectives (cont.) Module 2B Organizing Data and Comparing Distributions (Part II)

STA Learning Objectives. Learning Objectives (cont.) Module 2B Organizing Data and Comparing Distributions (Part II) STA 2023 Module 2B Organizing Data and Comparing Distributions (Part II) Learning Objectives Upon completing this module, you should be able to 1 Explain the purpose of a measure of center 2 Obtain and

More information

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us. Karl Frank Principal Architect: Product Strategy and Architecture kfrank@borland.com OMG Workshop MDA Tool Chains for MDA? Let's consider leaving our tool chains behind us. Please note the existence of

More information

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Azon Master Class. By Ryan Stevenson   Guidebook #5 WordPress Usage Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #5 WordPress Usage Table of Contents 1. Widget Setup & Usage 2. WordPress Menu System 3. Categories, Posts & Tags 4. WordPress

More information

What is a Programming Paradigm

What is a Programming Paradigm INTRODUCTION This chapter begins with brief discussion of various Programming paradigms that C++ supports i.e., procedural programming style, object based programming style and object oriented programming

More information

Online Marketng Checklist

Online Marketng Checklist Online Marketng Checklist By Claude Bailey PUBLISHED BY: Weston Bailey, LLC Copyright 2016 Weston Bailey, LLC Contents Is My Website Mobile-Friendly?... 3 Is My Website Indexed By The Big 3 Search Engines?...

More information

Magnetize Your. Website. A step-by-step action guide to attracting your perfect clients. Crystal Pina. StreamlineYourMarketing.com

Magnetize Your. Website. A step-by-step action guide to attracting your perfect clients. Crystal Pina. StreamlineYourMarketing.com Magnetize Your Website A step-by-step action guide to attracting your perfect clients Crystal Pina StreamlineYourMarketing.com 2016 StreamlineYourMarketing.com All Rights Reserved. Published by Streamline

More information

Installing and Using Trackside Cameras Revised November 2008

Installing and Using Trackside Cameras Revised November 2008 Installing and Using Trackside Cameras Revised November 2008 Trackside cameras are a useful and creative way to add visual interest to your route. Rather than just look out the windshield of the locomotive

More information

Download Free Pictures & Wallpaper from the Internet

Download Free Pictures & Wallpaper from the Internet Download Free Pictures & Wallpaper from the Internet D 600 / 1 Millions of Free Graphics and Images at Your Fingertips! Discover How To Get Your Hands on Them Almost any type of document you create can

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency

More information

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW STAROFFICE 8 DRAW Graphics They say a picture is worth a thousand words. Pictures are often used along with our words for good reason. They help communicate our thoughts. They give extra information that

More information

mid=81#15143

mid=81#15143 Posted by joehillen - 06 Aug 2012 22:10 I'm having a terrible time trying to find the Lightworks source code. I was under the impression that Lightworks was open source. Usually that means that it's possible

More information

PROJECT THREE - EMPHASIS

PROJECT THREE - EMPHASIS PROJECT THREE - EMPHASIS INSTRUCTIONS Before you begin this assignment: 1. Read Design Basics, on the two topics of Emphasis and Color. Study the Introduction to Emphasis, the PowerPoint presentation,

More information

Art-based Rendering with Graftals

Art-based Rendering with Graftals : Interactive Computer Graphics Art-based Rendering with Graftals 1 Introduction Due: 3/13/10, 11:59 PM Between Ray in 123 and Photon Mapping that you just did, you ve now had a good deal of exposure to

More information

Diagram Based UIs in Oracle ADF

Diagram Based UIs in Oracle ADF Diagram Based UIs in Oracle ADF Duncan Mills Oracle Development Team Cloud and Mobility Development Tools Keywords: ADF DVT DIAGRAM VISUALIZATION Introduction The 12.1.3 release of Fusion Middleware sees

More information

Strategic Briefing Paper Big Data

Strategic Briefing Paper Big Data Strategic Briefing Paper Big Data The promise of Big Data is improved competitiveness, reduced cost and minimized risk by taking better decisions. This requires affordable solution architectures which

More information

Figure 4.1: The evolution of a rooted tree.

Figure 4.1: The evolution of a rooted tree. 106 CHAPTER 4. INDUCTION, RECURSION AND RECURRENCES 4.6 Rooted Trees 4.6.1 The idea of a rooted tree We talked about how a tree diagram helps us visualize merge sort or other divide and conquer algorithms.

More information

CSE 421/521 Final Exam

CSE 421/521 Final Exam Name UBID Seat Question: 1 2 3 4 5 6 7 8 9 10 Total Points: 10 5 5 5 5 5 5 20 25 25 100 Score: CSE 421/521 Final Exam 09 May 2016 Please fill out your name and UB ID number above. Also write your UB ID

More information

The Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

The Software Design Process. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed The Software Design Process CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed Outline Challenges in Design Design Concepts Heuristics Practices Challenges in Design A problem that can only be defined

More information

Introduction to the Semantic Web and Semantic Web Services

Introduction to the Semantic Web and Semantic Web Services Introduction to the Semantic Web and Semantic Web Services Click here if your download doesn"t start automatically Introduction to the Semantic Web and Semantic Web Services Introduction to the Semantic

More information

High-Performance Computing

High-Performance Computing Informatik und Angewandte Kognitionswissenschaft Lehrstuhl für Hochleistungsrechnen Rainer Schlönvoigt Thomas Fogal Prof. Dr. Jens Krüger High-Performance Computing http://hpc.uni-duisburg-essen.de/teaching/wt2013/pp-nbody.html

More information

Tactile and Advanced Computer Graphics Module 7. Introduction to Illustrator

Tactile and Advanced Computer Graphics Module 7. Introduction to Illustrator Tactile and Advanced Computer Graphics Module 7 Introduction to Illustrator Module #7 Introduction to Illustrator Tactile and Advanced Computer Graphics Module 7 Introduction to Illustrator Summary Goal(s):

More information

Introduction to Programming

Introduction to Programming CHAPTER 1 Introduction to Programming Begin at the beginning, and go on till you come to the end: then stop. This method of telling a story is as good today as it was when the King of Hearts prescribed

More information

ENGR Socolofsky

ENGR Socolofsky ENGR 102-213 - Socolofsky Date : due 9/3/2018 at 12:40 p.m. Engineering Lab I - Computation Lab Assignment #01b Writing Your Own Programs Return your solution (one per group) as outlined in the activities

More information

Saturday, October 26th, 11am. JALT2013, Kobe Convention Center, Portopia Kobe, October 25th - 28th.

Saturday, October 26th, 11am. JALT2013, Kobe Convention Center, Portopia Kobe, October 25th - 28th. Metaprograms as a Tool for Critical Thinking in Reading and Writing Second JALT Critical Thinking SIG forum Cullen, Brian - Nagoya Institute of Technology cullen.brian@gmail.com Saturday, October 26th,

More information

CS 31: Intro to Systems Caching. Martin Gagne Swarthmore College March 23, 2017

CS 31: Intro to Systems Caching. Martin Gagne Swarthmore College March 23, 2017 CS 1: Intro to Systems Caching Martin Gagne Swarthmore College March 2, 2017 Recall A cache is a smaller, faster memory, that holds a subset of a larger (slower) memory We take advantage of locality to

More information

Snow Shader R&D in UDK I3 DLC

Snow Shader R&D in UDK I3 DLC Snow Shader R&D in UDK I3 DLC Key Aspects: These are visual elements aside from correct physical values I used to create my snow Sparkles Detail Normal Noise Detail Specular noise Large Tiling Shapes Sparkles

More information

SolarWinds Technical Reference

SolarWinds Technical Reference This PDF is no longer being maintained. Search the SolarWinds Success Center for more information. SolarWinds Technical Reference Understanding Orion Advanced Alerts Orion Alerting... 1 Orion Advanced

More information

y= sin( x) y= cos( x)

y= sin( x) y= cos( x) . The graphs of sin(x) and cos(x). Now I am going to define the two basic trig functions: sin(x) and cos(x). Study the diagram at the right. The circle has radius. The arm OP starts at the positive horizontal

More information

INTERTWinE workshop. Decoupling data computation from processing to support high performance data analytics. Nick Brown, EPCC

INTERTWinE workshop. Decoupling data computation from processing to support high performance data analytics. Nick Brown, EPCC INTERTWinE workshop Decoupling data computation from processing to support high performance data analytics Nick Brown, EPCC n.brown@epcc.ed.ac.uk Met Office NERC Cloud model (MONC) Uses Large Eddy Simulation

More information

CSCE 156 Computer Science II

CSCE 156 Computer Science II CSCE 156 Computer Science II Lab 04 - Classes & Constructors Dr. Chris Bourke Prior to Lab 1. Review this laboratory handout prior to lab. 2. Read Object Creation tutorial: http://download.oracle.com/javase/tutorial/java/javaoo/objectcreation.

More information

The 21 WORD . That Can Get You More Clients. Ian Brodie

The 21 WORD  . That Can Get You More Clients. Ian Brodie The 21 WORD EMAIL That Can Get You More Clients Ian Brodie The 21 Word Email That Can Get You More Clients Hey there! Welcome to this short report on the 21 Word Email That Can Get You More Clients If

More information

An Introduction to Business Disaster Recovery

An Introduction to Business Disaster Recovery An Introduction to Business Disaster Recovery Martin Hynes - Commercial Director Sounds scary right? When the words disaster and recovery are mentioned our primal survival instincts kick in. Business Disaster

More information

Handling Your Data in SPSS. Columns, and Labels, and Values... Oh My! The Structure of SPSS. You should think about SPSS as having three major parts.

Handling Your Data in SPSS. Columns, and Labels, and Values... Oh My! The Structure of SPSS. You should think about SPSS as having three major parts. Handling Your Data in SPSS Columns, and Labels, and Values... Oh My! You might think that simple intuition will guide you to a useful organization of your data. If you follow that path, you might find

More information

Animator Friendly Rigging Part 1

Animator Friendly Rigging Part 1 Animator Friendly Rigging Part 1 Creating animation rigs which solve problems, are fun to use, and don t cause nervous breakdowns. - http://jasonschleifer.com/ - 1- CONTENTS I. INTRODUCTION... 4 What is

More information