text: Software verification, validation and testing March, 2001 Course Objectives measure software quality measure software robustness measure confidence in software what is testing? How do we do it? What are the classical approaches to testing software what is special about testing OO software 2 Resources Lecture presentations by me discussion quizzes, small project or paper WWW Research papers 3 Textbook There isn't a good textbook available. We'll take material wherever we can get it, including course notes & papers 4 Syllabus What is software testing approaches to formalizing testing approaches to testing procedural or classic action-oriented software approaches to testing object-oriented software coverage metrics -- to measure software quality 5 What is Object-Oriented Programming? Do we really know what it is? 6 Things you "hear" about OO: a grain of truth in all but one It"s a "new way" of looking at things It"s a paradigm shift You have methods instead of functions you pass messages If you"ve used the "procedural approach" than you can"t transition to OO You use objects, whatever they are! You use polymorphism, whatever that is! 7 Let"s compare OO to the "old ways" Previous approach stressed algorithms. Usuall referred to as "procedure- oriented" approach I like A. Riel"s term: "Action-Oriented" approach 8 Action-Oriented Programming Stresses "getting the algorithm correct" uses "functional decomposition" Has a "main" calling routine that choreographs the activity, calling functions to implement the application 9 Object-Oriented Programming Stresses the data Decompose the data, together with the functions that operate on that data Put the data and operations into a "class" An instance of the "class" is an object Each "object" maintains its own data and operations: must initialize and clean up! Decentralize control 10 Let"s consider an example Let"s compare the worst-case action- oriented with the best-case object- oriented Then, we"ll consider the case when the action-oriented goes right! And, the object-oriented goes wrong! 11 A typical action-oriented topology F2() F1() F3( F5() F4() 12 Consider a change to the data, marked X F2() F1() F3( Functions f1() F5() and f2() must be modified F4() 13 However, suppose you or another developer added f6() (and forgot you did it!) F2() F1() F6() F3( F5() F4() 14 However, suppose you or another developer added f6() (and forgot you did it!) You compile, F2() link and exec F1() and it doesn"t work! F6() F3( F5() F4() 15 How does the OO approach control this complexity D1 D2 D1"s data D2"s data call f1() f4() f2() f5() f3() call f6() 16 Decompose the data Data is encapsulated in a class (or object) well-defined public interface permits operations on the data 17 When action-oriented goes right Many people build systems using files, with each data structure in a separate file the functions that operate on data are placed in the same file some languages contain primitives to restrict operations within/across files (e.g. static, extern) here, AO takes on attributes of OO approach 18 How can OO go wrong The god class: performs most of the work, leaves minor details to other classes proliferation of classes: too many classes for the size of the problem 19 Class design heuristics All data is hidden in a class implement a minimum public interface that all classes understand do not put implementation details in the public interface A class should capture one, and only one, key abstraction Keep related data and behavior in one place 20 An important aspect of OO design is to determine the relationships between classes Person LibrarySystem LibraryItem StudentPerson StaffPerson ClerkPerson JournalItem BookItem CommandProcessor 21 Introduction to Testing 22 First: a riddle about testing by Brian Marick A mathematician, a physicist, and an engineer are told: "All odd numbers are prime." The mathematician says, "That"s silly, nine is a non-prime odd number. The physicist says, "Let"s see, 3 is prime, 5 is prime, 7 is prime -- looks like it"s true." The engineer says, "let"s see, 3 is prime, 5 is prime, 7 is prime, 9 is prime, 11 is prime -- looks like it"s true." 23 Software testing Historically, was not popular: with managers with testers with developers with students testing and many software innovations evolved out of the "software crisis" 24 Software Failure rate (ideal) Failure Rate Time 25 Software Failure rate (real) increased failure rate due to side effects Failure rate change actual curve idealized curve Time 26 The Cost of Change 60-100x 1.5-6x 1x Definition Development After release 27 An error found after release costs four times (W. Perry) 1st cost: developing program erroneously 2nd cost: system has to be tested to detect the error 3rd cost: wrong specs/code removed, correct specs/code added 4th cost: system must be retested! 28 The "software crisis" By the 1980"s, "quality" in software became a goal; SEI was born "software engineering" became popular the life cycle was studied software developers and testers began to work together by the 1990"s, testing tools became available 29 What is software testing "The process of executing computer software in order to determine whether the results it produces are correct", Glass "79 "The process of executing a program with the intent of finding errors", Myers "79 "Program testing can be used to show the presence of bugs, but never their absence", Dijkstra "72 30 What is software testing (cont) "The aim is not to discover errors but to provide convincing evidence that there are none, or to show that particular classes of faults are not present", Hennell "84 "Testing is the measure of software quality", Hetzel "85 31 What is software testing (cont) "The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component." IEEE/ANSI, 1990 32 Testing is a state of mind "If our goal is to show the absence of errors, we will find very few of them" "If our goal is to show the presence of errors, we will discover a large number of them" 33 Time spent on testing 50% Brooks/Myers, 1970s 80% Arthur Andersons" Director of testing in North America, 1990s 34 Tester-to-developer ratios 1:5-10 Mainframes i.e.,1 tester for every 5 to 10 developers 2:3 Microsoft, 1992 2:1 Lotus (for 1-2-3 Windows) 1:2 Average of 4 major companies,1992 Microsoft, Borland, WordPerfect, Novell 35 Difficulties in testing software poorly expressed requirements informal design techniques nothing executable until coding stage Huge input set: consider testing software that categorises an exam grade: 101 inputs consider testing software that categorises two exam grades: 101*101 inputs! 36 Difficulties in testing software (cont) Exhaustive software testing is intractable Even if all possible inputs could be identified, the problem of identifying non-halting cases is undecidable Weyuker (1979) has shown that there is no algorithm that can determine if a given statement, branch or path will be exercised! we"ll look at this difficulty in more detail after we understand graphs 37 control flow graph Directed graph G(V, E) V is set of vertices E is set of edges, E = VXV The granularity of the vertices can be an operation, a statement or a basic block The edges are directed; direction indicates flow of control from one vertex to another 38 basic block (defn) sequence of statements such that the only entrance to the block is through the first statement and the only exit from the block is through the last statement 39 Let"s consider path testing Construct test cases to exercise all paths through a program. Called "path coverage". 40 Finding the square root of an inputted value: an example start read number root = square_root(number) print root end 41 Finding the square root start read number t f if number > 0 root = square_root(number) print root else print error message endif end 42 Finding the square root start read number while number != 0 if number > 0 root = square_root(number) print root else print error message endif read number endwhile end 43 How many paths? 44 Exam processing example consider a program to process one exam result for 10 students categorise the result as A, B, C, D, F How many paths through the program? 45 Find the number of paths for 10 inputs 46 Kinds of testing static: don"t execute the program codeinspection or "walk through" symbolic execution symbolic verification dynamic: generate test data and execute the program 47 Functional testing formerly known as "black box" testing, or specification based testing test cases are derived from the functional design specifications w/out knowledge of internal structure understanding the code changes the way the requirements are seen; test design should not be "contaminated" by this knowledge 48 Functional testing (cont) functional testing will not test hidden functions, i.e., functions implemented but not described in the functional design specs 49 white box testing requires knowledge of internal program structure test cases are derived from the code 50 The term "bug" is not very precise Error: mistake made by the developer; located in people"s heads. fault: an error in a program. An error may lead to one or more faults. Failure: execution of faulty code may lead to one or more failures. Failures are found by comparing the actual output with the expected output. Many people still call it a "bug" ! 51 A test is an activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component. a set of one or more test cases 52 A test case is A set of test inputs, execution conditions, and expected results developed for a particular objective 53 Tests A test is made up of (many) test cases A test procedure is the detailed instructions for setting up, starting, monitoring and restarting a given test case. aka test plan a test case may be used in more than one test procedure a test case may include many subtests 54 Tests 55 Testing v. debugging Testing detects errors, faults & failures Debugging is the process of finding and removing errors in software 56 Progressive and regressive testing Progressive testingnew code to determine whether it contains errors Regressive process of testing a program to determine whether a change has introduced errors (regressions) in the unchanged code re-execution of some/all of the tests developed for a specific testing activity 57 Static analysis Static analysis is the process of evaluating a system or component based on its form, structure, content or documentation control flow analysis to find endless loops, unreachable code, etc. data-use analysis to find data used before initialisation, variables declared but not used, etc. range-bound analysis to find e.g. array indices outside the bounds 58 Static analysis interface analysis to find e.g. mismatches in argument lists between called and calling modules verification of conformance to project coding standards code volume analysis, e.g. counts of LOC in each module complexity analysis, e.g. cyclomatic complexity 59 Dynamic analysis The process of evaluating a computer program based on its behaviour during execution Usual to analyse the coverage of source code e.g. statement, branch, path best practice = 85% branch Industry coverage Less efficient than static analysis 60 Testware So named because it has a life beyond its initial use it should be managed, saved and maintained includes verification checklists, verification error stats, test data and supporting documentation (e.g., test plan), test specifications, test procedures, test cases and test reports 61 Performance testing Verify that worst case performance targets have all been met nominal performance targets are usually achieved any best-case performance targets have been met 62 Unit test Perform the tests required to provide the desired coverage for a given unit The current trend is to test subsystems, rather than units. 63 Integration Testing Testing across units or subsystems test cases to provide the desired coverage for the system as a whole Testing subsystem connectivity 64 Security tests Check that system is password protected users only granted necessary system privileges Deliberately attempt to break the security mechanism by e.g. accessing the files of another user breaking into the system authorisation files accessing a resource when it is locked 65 Portability tests Run a representative selection of system tests in all the required environments or Run the system on one platform and check for conformance to standards ( if not possible to run on all environments) 66 Safety tests Deliberately cause problems under controlled conditions and observe the system behaviour (e.g. disconnecting the power during system operations) Observe system behaviour when faults occur during tests Requirements may identify functions whose failure would cause a critical or catastrophic hazard. Such functions need exhaustive testing. 67 Stress tests Measure maximum load the system under test can sustain for a time, e.g. maximum number of activities that can be supported simultaneously maximum quantity of data that can be processed in a given time volume test, i.e. maximum quantity of input data together 68 Which form to use ? Do risk analysis Full testing for critical software or critical parts of software that will have heavy and diverse usage Partial testing for small, non-critical software products with a small, captive user population 69 Testing cost curve: by William Perry Optimum test Cost of testing Number of defects 70 Problems with testing Failure to define the testing objective (don"t know when to stop) Testing at the wrong phase of the life cycle Use of ineffective test techniques 71 Testing Object-Oriented Software An Overview, from McGregor/Sykes 72 Advantages of OO Approach improvement to development process & to code if implemented correctly, oo software is higher quality than software developed under the procedural paradigm: understandability, maintainability, extensibility, reliability and reusability 73 Adv of OO represents design results as refinement & extension of analysis represents implementation results as a refinement & extension of design testing OO is based primarily in the requirements of the software 74 What"s different about testing OO Much carry-over from the procedural approach For example, still do unit testing; however, what constitutes a until may be different in OO 75 What is software? instruction codes and data necessary to accomplish a task, as well as all representations of those instructions and data what are representations: the models developed during analysis 76 Adv of models test cases can be identified earlier in the development process errors and faults can be detected earlier test cases developed for analysis models can be refined and extended to test design models, which can be refined and extended to test subsystems and systems 77 The approach analyze a little design a little code a little test what you can 78 Kinds of testing for OO Model testing interaction testing; replaces integration testing system and subsystem testing acceptance testing: testing of the application by end users, usually before release 79 Testing Perspective questions the validity of software & utilizes thorough investigation to identify failures makes execution-based testing more powerful than reviews or inspections; reviews never find something that"s missing -- only validates what"s there 80 OO Programming centers around: object message encapsulation inheritance, and polymorphism 81 For testing, an object: might be destroyed before it should be might persist longer than it should might be manipulated by another object so that its data becomes inconsistent with other data in the system might have inappropriate data or exhibit incorrect behavior in the system 82 For testing, a message can fail if: a sender requests an operation not defined by the receiver a message contains an improper actual parameter the receiver cannot perform the requested operation at the time of the request a sender doesn"t handle the reply properly the receiver returns an incorrect reply 83 Two parts to each class specification: what each object in the class can do query operations (in C++ s/b const) modifier operations implementation: how each object in the class does it 84 Two special kinds of class operations constructor destructor These are different from queries and modifiers: invoked implicitly! 85 3 Kinds of statements to specify the semantics of a class pre-conditions: conditions that must hold before an operation can be performed post-conditions: conditions that must hold after the operation is performed class invariants: conditions that must always hold for an instance of a class; an implied post-condition for each operation; can be violated during execution 86 methods Characterized by behavior behavior can be specified by: diagrams state sequence diagrams Two approaches to defining the interface between sender and receiver: contractapproach, B. Meyers (1994) defensive programming approach 87 Contract Approach The interface is defined in terms of the obligations of the sender and receiver involved in the action obligations specified by pre/post conditions pre-condition: describe the obligation of the sender (to ensure preconditions are met) post-condition: obligations of the receiver (to ensure post-conditions and class invariants are met) 88 #ifndef PUCKSUPPLY_H #include "PuckSupply.h" #define PUCKSUPPLY_H PuckSupply::PuckSupply():(N) { class PuckSupply { for (int I = 0; I < N; ++I) { _store[I] = new Puck; public: }; PuckSupply(); } ~PuckSupply(); Puck * get(); PuckSupply::~Puck() { int count() const; (for int I=0; I < _count; ++I) { private: delete _store[I]; int _count; }; Puck* _store[N]; } }; #endif Puck* PuckSupply::get() { return _count > 0 ? _store[--_count]:0; } int PuckSupply::count() const { return _count; } 89 Spec for PuckSupply based on contracts A puck supply is a set of pucks not in play that can be retrieved one at a time. The pucks are created by a puck supply when it is created. Class invariant: count associated w/ puck supply is always an integer from 0 to 3, incl. The count() operation can be applied at any time; it returns the no. of pucks left in the receive and has no effect on the receiver The get() operation can only be applied if the receiver has at least one puck (count > 0) constructor has no pre-conditions. The result of the constructor is a puck supply of 3 (count = 3) the destructor has no pre-conditions; the destructor deletes any pucks that remain in the object 90 Spec for PuckSupply based on Defensive Programming A puck supply is a set of pucks not in play that can be retrieved one at a time. The pucks are created by a puck supply when it is created. Class invariant: (count between 0 & 3) -- same The count() operation: (returns no. of pucks) -- same The get() operation can be applied at any time; if the receiver has at least one puck (count>0) then the result of the operation is a return of a pointer to a puck and reduce the number of pucks by one; owise a NULL pointer is returned and count attribute remains 0. Constructor: (gives you 3 pucks) -- same the destructor: (deletes remaining pucks) -- same 91 Spec for PuckSupply based on Contract Programming Using OCL Notation PuckSupply count >= 0 PuckSupply::PuckSupply(): pre: -- none post: count = 3 AND pucks->forAll(puck | not puck.inPlay()) void PuckSupply::count() const: pre: -- none post: result = count Puck * PuckSupply::get() pre: count > 0 post: result = pucks->asSequence->first AND count = count@pre-1 92 Defensive vs Contract Defensive: interface defined in terms of receiver an operation typically uses return code, or exception goal is to identify "garbage in" to eliminate "garbage out" tends to increase software complexity because each sender must follow each message w/ check of return code (even though receiver already checked) complicates class testing: must test for all possible outcomes! Complicates interaction testing: all outcomes handled by sender 93 Defensive vs Contract Contract: reflects mutual responsibility and trust eliminates need for receiver to check return codes important question: How are contracts enforced? Simplifies class testing but complicates interaction testing: ensure sender meets pre-conditions 94 A class implementation has: Data members set of member functions set of constructors destructor set of private operations (in private interface) 95 Class testing Since a class is an abstraction of commonaltie, the process must ensure that a rep sample of instances of the class are selected for testing 96 Potential causes of failure of class design/implementation Doesn"t meet specification contains operations and data that affects the proper construction of instances might rely on collaboration w/ other objects might meet its spec, but spec might be incorrect, or violate a higher requirement might specify pre-conditions but not provide mechanism to check if pre-condition is met 97 In contract/defensive approach: Contract: must test to ascertain that every attempt to apply an operation must first satisfy pre-conditions defensive: ascertain that every possible outcome is handled properly 98 Inheritance Define a new class based on definition of an existing class used only to implement is-a-kind-of relationship best use of inheritance is with respect to interfaces and not implementations 99 Inheritance, from testing view Permits bugs to be propagated from a class to its descendents permits test case reuse verify it"s used properly: use of inheritance solely for code reuse will probably lead to maintenance difficulty, this is a design issue, but so common that testers can make a significant contribution by making sure inheritance is used properly 100 Polymorphism A sender in an OO program can use an object based on its interface and not on its exact class a derived class inherits the public interface of its base class and thus instances of either class can respond to the same messages in Java, supported through inheritance or interfaces 101 Poly (cont.) Because polymorphic references hide the actual class of a referent, both C++ & Java provide support for determining at run time the actual class of a referent Good OO design holds these run-time inspections to a minimum because they create a maintenance point: extension of the class hierarchy introduces more types to be inspected 102 Testing polymorphism An operation can return a reply that is a polymorphic reference; the actual class of the referent could be incorrect any operation can have one or more parameters that is a polymorphic reference; the parameter could be incorrect Number of instances to check could be large: Need statistical analysis to determine which configurations will expose most faults for least cost 103 OO development products Use cases class diagrams activity diagrams diagrams state sequence diagrams class specification (in OCL) state diagrams activity diagrams 104 Functional Testing Specification Based Testing (Black Box testing) 105 Testing is a state of mind "If our goal is to show the absence of errors, we will find very few of them" "If our goal is to show the presence of errors, we will discover a large number of them" 106 Why do it? Increase our confidence that the software works and works correctly 107 Devise a test plan A program reads 3 integer values. The 3 values are interpreted as representing the lengths of the sides of a triangle. The program prints a message that states whether the triangle is scalene, isosceles, or equilateral. Write test cases that would adequately test this program. 108 Myers Test Cases 1. Valid scalene (5, 3, 4) => scalene 2. Valid isoscleles (3, 3, 4) => isosceles 3. Valid equilateral (3, 3, 3,) => equilateral 4. First permutation of 2 sides (50, 50, 25) => isosceles 5. Second perm of 2 sides (25, 50, 50) => isosceles 6. Third perm of 2 sides (50, 25, 50) => isosceles 7. One side zero (1000, 1000, 0) => invalid 109 More test cases 8. One side has negative length (3, 3, -4) => invalid 9. first perm of two equal sides (5, 5, 10) => invalid 10. Second perm of 2 equal sides (10, 5, 5) => invalid 11. Third perm of 2 equal sides (5, 10, 5) => invalid 12. Three sides >0, sum of 2 smallest < largest (8,2,5) => invalid 13. Perm 2 of line lengths in test 12 (2, 5, 8) => invalid 14. Perm 3 of line lengths in test 12 (2, 8, 5) => invalid 110 More test cases 15. Perm 4 of line lengths in test 12 (8, 5, 2) => inv 16. Perm 5 of line lengths in test 12 (5, 8, 2) => inv 17. Perm 6 of line lengths in test 12 (5, 2, 8) => inv 18. All sides zero (0, 0, 0) => inv 19. Non-integer input, side a (@, 4, 5) => inv 20. Non-integer input, side b (3, $, 5) => inv 21. Non-integer input, side c (3, 4, %) => inv 111 More test cases 22. Missing input a (, 4, 5) => invalid 23. Missing input b (3, , 5) => invalid 24. Missing input c (3, 4, ) => invalid 25. Three sides > 0, one side equals the sum of the other two (12, 5, 7) => inv 26. Perm 2 of line lengths in test 25 (12, 7, 5) => inv 27. Perm 3 of line lengths in test 25 (7, 5, 12) => inv 28. Perm 4 of line lengths in test 25 (7, 12, 5) => inv 29. Perm 5 of line lengths in test 25 (5, 12, 7) => inv 30. Perm 6 of line lengths in test 25 (5, 7, 12) => inv 112 More test cases 31. Three sides at max values (32767, 32767, 323767) => inv 32. Two sides at max values (32767, 32767, 1) => inv 33. One side at max values (32767, 1, 1) => inv 113 Testing principles 1. Complete testing is not possible 2. Testing work is creative & difficult need to understand the system most systems are complex need business knowledge, testing experience, creativity, insight and testing methodology 114 Testing principles 4. Testing is risk based safety-critical systems need high level use risk as basis for allocating the test time available and selecting what to test 5. Testing must be planned plan overall approach – what to test and when to stop design tests establish expected results for each selected test case 115 Testing principles 6. Testing requires independence unbiased measurement e.g. test team goal is to measure software quality accurately often conflict with the requirement to understand the system being tested (principle 2) 116 Black-box methods equivalence partitioning boundary-value analysis error guessing cause-effect graphing 117 Equivalence partitioning based on the specification; no need to see the code divide up the input domain into equivalence partitions or classes of data each class is treated identically any datum chosen from a class is as valid as any other advantage: reduces the input domain to a manageable size 118 Equivalence partitioning (cont) to assist in identifying partitions, look in specs for terms such as "range", "set" and other similar words equivalence classes should not overlap in addition to choosing one datum from each class, invalid data may also be chosen 119 Equivalence partitioning (cont) example #1 consider the exam processing program where we categorise the grade as A, B, C, D, F assume A>=90, B>=80, C>=70, D>=60 we can partition the grades, g, into the following partitions: 0<=g<60, 60<=g<70, 70<=g<80, 80<=g<90, g>=90 and g>100, g<0 120 Equivalence partitioning (cont) example #1 input Output Expected output 50 F 65 D 75 C 85 B 95 A -5 Invalid input 105 Invalid input 121 Equivalence partitioning (cont) example #2 string searching program: the program prompts the user for a positive integer in the range 1 to 20 and then for a string of characters of that length. The program then prompts for a character and returns the position in the string at which the character was first found or a message indicating that the character was not present in the string. The user has the option to search for more characters. 122 Equivalence partitioning (cont) example #2 There are 3 equivalence classes to consider one class of integers in the stated range two classes of integers above and below the range output domain consists of two classes the position at which the character is found in the string a message stating that it was not found 123 Equivalence partitioning (cont) example #2 x input string search char response expected output 34 wrong input 0 wrong input 3 abc c pos = 3 y k not in string n 124 strengths and weakness of equivalence partitioning strength: it does reduce size of input domain well suited to data processing applications where input variables may be easily identified and take on distinct values not easily applied to applications where input domain is simple yet the processing is complex 125 strengths and weakness of equivalence partitioning problem: although the specification may suggest that a class of data is processed identically, this may not be the case example: y2k problem also, the technique does not provide an algorithm for finding the partitions 126 Boundary value analysis used in conjunction with equivalence partitioning this technique focuses on likely sources of faults: boundaries of equivalence classes the technique relies on having created the equivalence classes 127 Boundary value analysis (cont) input Output Expected output 50 F 65 D 75 C 85 B 95 A -5 Invalid input 105 Invalid input 60 D 70 C 80 B 90 A 128 Boundary value analysis (cont) string processing program integer values of 0, 1, 20 and 21 are obvious choices, as well as finding the character in the first and last position 129 Boundary value analysis (cont) x input string search char response expected output 21 out of range 0 out of range 1 a a pos = 1 y X not in string n 20 abcdefghijkl a pos = 1 mnopqrst y t pos = 20 n 130 Error guessing an ad hoc approach, based on intuition and experience identify tests that are likely to expose errors make a list of possible errors or error prone situations and then develop tests based on the list 131 Error guessing (cont) some items to try: empty or null lists/strings zero instances/occurrences blanks or null characters in strings negative numbers 132 Error guessing (cont) strengths/weaknesses intuition frequently accurate the technique is efficient technique relies on experience; not always available the ad hoc nature leaves doubt about quality of the test: "did I forget any typical error situations?" 133 Cause-effect graphing functional or spec-based technique systematic approach to selecting a set of high-yield test cases that explore combinations of input conditions rigorous method for transforming a natural-language spec into a formal- language spec exposes incompleteness and ambiguities in the spec 134 Cause-effect graphing (cont) the spec is analyzed, and all possible causes are identified: inputs, stimuli, anything that will elicit a response from the system all possible effects are identified: outputs, changes in the system state causes and effects must be stated so that they can be evaluated as either true or false 135 Cause-effect graphing (cont) causes and effects are combined into a boolean graph that describes their relationship each cause and effect is allocated a unique number for reference create a boolean graph that shows the links between cause and effect construct test cases that cover all possible combinations of cause/effect 136 Cause-effect graphing (cont) graphs are combined using operators: not and or nor 137 Cause-effect graphing (cont) exam processing program causes: (1) integer in range 1-20 (2) search char is in string (3) search for another char effects (20) integer out of range (21) report position of char in string (22) char not found in string (23) program terminates 138 Cause-effect graphing (cont) 139 Cause-effect graphing (cont) strengths/weaknesses exercises combinations of test data expected results are part of test creation process major drawback is boolean graph: large number of causes and effects produce highly complex graph soln to weakness: identify sub-problems 140 Verification Technique: Walkthrough 141 Walkthrough: Two formats author is not presenter author is presented 142 Walkthrough: those present presenter or inquisitor oracle: the author of code administrator 143 Walkthrough: key elements objective: to detect faults and enforce standards input: element under test, objectives, applicable standards output: report, perhaps a checklist, perhaps a set of test cases 144 Walkthrough: requirements checklist precise, unambiguous and clear consistent: no item conflicts with another item relevant: each item is relevant to the problem testable: will it be possible to determine if the item is satisfied traceable: will it be possible to trace each item through the stages of development 145 Walkthrough: code checklist data reference errors: is an uninitialized variable referenced data declaration errors: are there variables with similar names computation errors: is the l-value smaller than the r-value comparison errors: are there comparisons between variables of different type; are differences allowed/handled 146 Walkthrough: code checklist (cont) control flow errors: is there a possibility of premature loop exit; infinite loop; extended loop interface errors: do formal and actual parameters match; is the interface clearly defined; are constraints specified in the interface (ie, pre/post conditions) input/output errors: grammatical errors in output text 147 Structural Testing Methodology (white-box) Branch and Path Testing 148 Example program: string searching program: the program prompts the user for a positive integer in the range 1 to 20 and then for a string of characters of that length. The program then prompts for a character and returns the position in the string at which the character was first found or a message indicating that the character was not present in the string. The user has the option to search for more characters. 149 main() { (1 ) char a[20], ch, response = "y"; (2) int x, i; (3) bool found; (4) cout << "Input an integer between 1 and 20: "; (5) cin >> x; (6) while ( x < 1 || x > 20) { (7) cout << "Input an integer between 1 and 20: "; (8) cin >> x; } (9) cout << "input " << x << " characters: "; (10) for (int i = 0; i < x; ++i) cin >> a[i]; (11) cout << endl; 150 (12) while ( response == "y" || response == "Y") { (13) cout << "input character to search: "; (14) cin >> ch; (15) found = false; (16) i = 0; (17) while (!found && i < x) (18) if (a[i++] == ch) found = true; (19) if (found) cout << ch << " at: " << i << endl; (20) else cout << ch << " not in string" << endl; (21) cout << "search for another character? [y/n]"; (22) cin >> response; } 151 The sample program: Professional programmers will continue the sample program "trivial" developed to demo a large number of testing methods in a small space 152 Statement testing aka statement coverage generate test data to exercise every statement in the program at least once (1) need datum out of range to get into first while loop (2) need search character in the inputted string and one not in the string to get into 153 Test data for statement testing x input string search char response expected output 34 wrong input 3 abc c pos = 3 y k not in string n 154 Strengths/weaknesses of statement testing minimum level coverage using structural testing may be impossible to achieve 100% statement coverage code only executed in exceptional or dangerous circumstances code that is unreachable 155 Strengths/weaknesses of statement testing (cont) Not very demanding technique; in the example we didn"t generate a value for x<1 does not provide coverage for the "NULL else" if (number < 3) ++number; 156 Lesniak-Betley (1984) investigated the effectiveness of statement testing technique extended to generate test case for "NULL else" they found only two more faults in the extended technique, but generated many more test cases ==> "not worth it!" however, the software was a conversion project and the old code acted as a spec for the new ==> the problem was quite well defined and unlikely to be many faults because of poor specs 157 Branch testing aka branch coverage or decision coverage generate test data to exercise the true and false outcome of every decision control flow graph (cfg) helpful in representing the program construct cfg for string processing example 158 159 Branch testing string searching example The branches for which we have to generate test data occur at nodes 6, 10.2, 12, 17 and 19 Look at each of the 5 branches to determine test sets to exercise each 160 Test data for branch testing x input string search char response expected output 34 wrong input 3 abc c pos = 3 y k not in string n 161 Strengths/weaknesses Branch testing Branch testing is one level up from statement testing in degree of coverage same problem in achieving 100% coverage resolves the "NULL else" problem Undemanding of compound condition: 162 DD-path testing Decision to decision path testing sub-paths in the graph starting at the start node or a decision node and finishing at a decision node or the end node. The path must contain no decision nodes within it The testing goal is to cover each DD-path at least once Find DD-paths & test data for string processing example 163 Strengths/weaknesses DD-path testing Equivalent to branch testing; typically doesn"t add any coverage Any advantages to DD-path testing over branch testing? 164 Condition coverage Generate test data such that all conditions in a decision take on both outcomes (if possible) at least once May not achieve branch coverage: consider while (x < 1 || x > 20 ) x = 0 causes first false, second true x = 34 causes first true, second false generate test data for string processing program 165 Condition coverage test data for condition coverage x input string search char response expected output 34 wrong input 0 wrong input 3 abc c pos = 3 n 1 x a not in string n 166 Strengths/weakness condition coverage strength: focuses on condition outcomes weakness: may fail to achieve branch coverage! 167 Decision/condition coverage Generate test data such that all conditions in a decision take on both values at least once, and exercise the true and false outcomes of every decision 168 Test data for Decision/Condition coverage x input string search char response expected output 34 wrong input 0 wrong input 3 abc c pos = 3 y k not in string n 1 x a not in string N 169 Strengths/weaknesses of Decision/condition coverage Addresses one of deficiencies of condition coverage by forcing each branch to be exercised conditions can be masked by lazy evaluation; consider: while ( !found && i <= x) 170 Multiple condition coverage Generate test data to exercise all possible combinations of true and false outcomes of conditions in a decision Consider compound conditions at lines 6, 12, 17: while (x < 1 || x > 20) while (response == 'y' || response == 'Y') while (!found && i < x) 171 Strengths/weaknesses of multiple condition coverage Strength: tests all feasible combinations or outcomes ==> confidence in boolean operators weakness: no assistance given in how to generate test data; (x < 1) ==> x=0 or x = -9999 expensive! how many combinations are there for a decision involving n conditions? How many test cases are needed? 172 Level-i paths Defn: a level-0 path is a simple acyclic path from start node to the stop node of a graph Defn: a level-i path, for value of i>0, is a path that begins and ends on the nodes of a lower level and may be a circuit typically level-i paths, when i is at least 1, are nested loops 173 Level-i paths (cont) Level-i paths are used to guide an incremental testing strategy that generates test data firstly to cover level- 0 paths, then level-1 paths (accessing them through the level-0 paths), followed by level-2 paths, and so on. The method incrementally explores deeper and deeper levels of iteration 174 175 The level-i paths: level-0: 1-2-4-5-8-9 level-1: 2-3-2, 5-6-7-5, 9-10-11-13-14- 16-12, 9-10-11-13-15-16-12 level-2: 11-12-11 176 Level-i paths are not always subsumed by branch testing There are 4 level-i paths There two branches: 177 Strengths/weaknesses of Level-i testing Readily applicable to both structured & unstructured programs finding all level-i paths is computationally intensive, and there are a lot of level-i paths; Woodward (1984) analyzed 116 Fortran programs and found 45,287,485 level-i paths, compared with 164 DD-paths and 338 LCSAJs; (45,287,476 of the level-i"s were level-0) 178 Basis path testing Provides a method for identifying an upper bound for the number of paths necessary to achieve branch coverage the bound is given by McCabe"s cyclomatic complexity number (1976) cyclomatic complexity: given a fully connected directed graph G(n, e), with n nodes and e edges, V(G) = e - n + 1 179 Basis path testing (cont) Compute V(G) = 21 - 16 + 1 = 6 Now choose 6 independent circuits from the graph, known as the basis set: 180 Strengths/weaknesses of Basis path testing Basis set is easy to compute the technique is readily applicable to both structured and unstructured programs Drawback: the basis set is not unique; there will be obvious paths omitted drawback: the number of paths in the basis set can greatly exceed the number necessary to achieve branch coverage 181 Path testing Generate test data to exercise all distinct paths in a program! a path that makes i iterations through a loop is distinct from a path that makes i+1 iterations through the loop, even if the same nodes are visited in both iterations. Thus, there are an infinite number of paths in the string processing program! 182 Path testing (cont) Need to limit the number of paths: choose equivalence classes of paths. Two paths are considered equivalent if they differ only in the number of loop iterations, giving two classes of loops: one with 0 iterations one with n iterations (n > 0) 183 Path testing (cont) If the program is structured, Paige and Holthouse (1977) describe a technique for characterizing the program by a regular expression: . is concatenation + is selection * is iterations (0 or more) 184 Use a regular expression to describe the following graph: 185 To generate paths replace (x)* with (x+0), where 0 represents NULL this gives the expression: 1.2.((3.(4+5).6.2)+0).7 Expanding, gives three paths: 1-2-7 1-2-3-4-6-2-7 1-2-3-5-6-2-7 186 Computing the number of paths: By replacing all values, including null, by 1, we can compute the number of paths: 1.2.((3.(4+5).6.2)+0).7 1.1.(1.(1+1).1.1+1).1 = 3 The regular expression and path number computation must be modified slightly for repeat/until loops 187 Strengths/weaknesses of Path testing There are a lot of paths weakness -- lots of computation strength -- combinations of paths are exercised that other methods do not achieve technique is not readily applicable to unstructured programs 188 Linear Code Sequence and Jump (LCSAJ), Hennell et al. (1984) An LCSAJ start point is the target line of a jump or the first line of the program. An LCSAJ end point is any line that can be reached from the start point by an unbroken sequence of code and from which a jump can be made. An LCSAJ is characterized by a start line, an end line, and a target line (where it jumps to). 189 LCSAJ (cont) Having identified all the LCSAJs in the program, generate test cases to exercise all LCSAJs 190 LCSAJ (cont) sample program: (1) function factorial(n : integer) return integer is (2) result : integer := 1; (3) begin (4) for I in 2 .. n loop (5) result := result *I; (6) end loop; (7) return result; (8) end factorial 191 LCSAJ (cont) LCSAJs for factorial program: LCSAJ start end target 1 3 4 7 2 3 6 4 3 4 6 4 4 4 4 7 5 7 7 exit 192 Strengths/weaknesses of LCSAJ tends to exercise loops more thoroughly than the other techniques difficult to apply 193 Structural Testing Methodology (white-box) Data Flow Testing 194 Data flow testing, overview Generate test data that follows the pattern of data definition & use through the program. Originally used to statically detect anomalies in the code; (e.g., referencing an undefined variable) Original paper by Laski and Korel (1983) suggested two testing strategies based on exercising pairs of definitions and uses within statements or basic blocks 195 Data-flow coverage Variable V has a def at each place in the program where V acquires a value e.g. at assignments to V V has a c-use where it is used in the evaluation of an expression or an output statement It has a p-use where it occurs in a predicate and therefore affects the flow of control of the program def and c-use represented as nodes, p-use as edge on graph 196 d-u pairs The objective of data flow coverage is to identify and classify all occurrences of variables in a program and for each variable generate test data so that all definitions and uses are exercised no distinction between c-use and p-use known as d-u pairs 197 Example of DU path 1 x := 0; 2 while x < 2 3 begin 4 writeln ("looping"); 5 x := x + 1; 6 end DU paths for x: 1-2, 1-2-3-4-5, 5-6-2, 5-6-2-3-4-5. 198 DU pairs The number of DU pairs is always finite A testset achieves all-uses coverage if its data points cause the execution of each DU pair for each variable 199 Data flow testing, overview (cont) Rapps and Weyuker (1985) extended data flow testing by classifying occurrences of variables as: def:definitional c-use: computational-use p-use: predicate-use 200 Data flow testing, overview (cont) test coverage criteria: all-nodes (statement coverage) all-edges (branch coverage) all-defs all-p-uses all-c-uses/some-p-uses all-p-uses/some-c-uses all-uses all-du-paths all-paths 201 Data flow testing, overview (cont) test coverage criteria, Rapps/Weyuker (85): 202 all-du-paths Strongest form of data flow testing usage includes both p-use and c-use so we will just refer to uses identify all occurrences of variables in the program and then, for each variable, generate test data so that all definition to use pairs (du-pairs) are exercised. 203 factorial example (1) function factorial(n : integer) return integer is (2) result : integer := 1; (3) begin (4) for I in 2 .. n loop (5) result := result *I; (6) end loop; (7) return result; (8) end factorial 204 Find du-pairs for string processing program variables of interest are x, i, ch, found, response, and array a: there are 8 du-pairs for x 9 du-pairs for i 3 du-pairs for ch 4 du-pairs for found and one du-pair for response 205 Find du-pairs for string processing program (cont) Array a is a problem since it"s difficult to determine which element in the array is being used. For example, i is changing dynamically as the program executes. soln: treat the entire array as one variable ==> one du-pair (10-18) 206 Strengths/weaknesses of data flow testing Adv: strong form of testing Adv: generates test data in the pattern that data is manipulated in the program rather than following "artificial" branches Problem: pointer variables; difficult to determine which variable is being referenced 207 Strengths/weaknesses of data flow testing (cont) Disadv: theoretical limit on number of test cases is exponential. Why? 2^d, where d is the number of 2-way decisions in the program Weyuker (1988) study indicated that, in practice, small number of cases are needed Weyuker study collaborated by Bieman & Schultz (1989): of 143 subroutines, 80% could be covered with 10 or fewer paths, 91% with 25 or fewer, one needed 2^32 paths! 208 Automating Data Flow Testing Computing global data flow analysis 209 Intro to global data flow analysis The computation of data flow information can be automated Need info about where definitions occur (l-values) and uses occur (r-values) "global" means local to a function but global (across blocks) to the control flow graph uses data flow equations 210 Data flow equations out[S] = gen[S] U (in[S] - kill[S]) Out[S] is the set of all defs that leave a block S (said to be "live") gen[S] all new defs that are generated by the block S in[S] all defs that enter block S kill[S] all defs that are killed by a def in block S 211 Find in[S], out[S], gen[S], kill[S] 212 Details When we write out[S] we imply that there is a unique end point from which control flows out of a block S There are subtleties attached to procedure calls, pointer variables and arrays 213 Reaching definition A definition of x is a statement that assigns to x, or may assign to x a definition d reaches a point p if there is a path from the point immediately following d to p, such that d is not killed along that path 214 More examples of gen, kill, out Gen[s] = {d} kill[S] = D - {d} out[S] = gen[S] U (in[S] - kill[S]) 215 More examples of gen, kill, out Gen[S] = gen[S1] U gen[S2] kill[S] = kill[S1] intersect kill[S2] in[S1] = in[S] in[S2] = in[S] out[S] = out[S1] U out[S2] 216 Representing sets Sets of definitions, such as gen[S] can be represented compactly using bit vectors assign a number to each definition of interest in the cfg the bit vector representing a set of definitions will have 1 in position i if the definition numbered i is in the set the C++ standard library has an efficient implementation of sets 217 Algorithm to compute reaching definitions Input: cfg for which kill[B] & gen[B] have been computed for each block B output: in[B], out[B] for each block B method: use an iterative approach, starting with the estimate that in[B] is empty for all B. We use a boolean variable, change, to record on each pass through the blocks whether in has changed; if not, we"re finished. 218 Algorithm to compute reaching definitions (cont) For each block B do out[B] = gen[B] change = true while change do begin change = false for each block B do in[B] = U out[P], P a predecessor of B oldout = out[B] out[B] = gen[B] U (in[B] - kill[B]) if out[B] != oldout then change = true end for end while 219 Flow graph to illustrate reaching definitions 220 Computation of in and out sets Block B initial initial pass 1 pass 1 pass 2 pass 2 in[B] out[B] in[B] out[B] in[B] out[B] B1 000 0000 111 000 000 0000 111 0000 000 0000 111 0000 B2 000 0000 000 1100 111 0011 001 1110 111 1111 001 1110 B3 000 0000 000 0010 001 1110 000 1110 001 1110 000 1110 B4 000 0000 000 0001 001 1110 001 0111 001 1110 001 0111 221


text:
Originally written on Fox Sports West | Last updated 11/19/14
EL SEGUNDO, Calif. -- It rained Thursday in Los Angeles for the first time in many, many months. But the storm clouds were thought to be hovering over the Lakers' practice facility. Following another non-competitive lossthis one to the Jazz in Utah Wednesday nightthe Lakers fell to 1-4 and it seems as if things are actually getting worse for the team, rather than better. They are playing bad basketball most of the time, but the worst thing about it is they're also playing seemingly without any passion. "Mike Brown needs to change his message," said Lakers' Hall of Famer and 3-time World Champion James Worthynow a television analyst for the team. "Whatever he and his coaches are saying obviously isn't working." As harsh as that sounds, it might be a genuine understatement. And then there's the "Kobe Death Stare" video making its way around the internet, showing Bryant looking infuriated last night when Brown came walking by him...
Original Story: http://www.foxsportswest.com/11/08/12...
PLAYERS: Dwight Howard, Kobe Bryant, Jordan Hill, Antawn Jamison, Chris Duhon, Jodie Meeks, Steve Nash, Pau Gasol
TEAMS: Los Angeles Lakers, Golden State Warriors
TEAMS: Los Angeles Lakers, Golden State Warriors
Comments are closed.
What do you think?To leave a comment, you can:
NBA News
Delivered to your inbox
You'll also receive Yardbarker's daily Top 10, featuring the best sports stories from around the web. Customize your newsletter to get articles on your favorite sports and teams. And the best part? It's free!
Follow us on Twitter
|Latest Rumors
|Best of Yardbarker
Youth Football Referee Wins $275K Settlement After Being Attacked By Irate Coaches And Parents During Game
Today's Best Stuff
For Bloggers
Join the Yardbarker Network for more promotion, traffic, and money.
Company Info
What is Yardbarker?
Yardbarker is the largest network of sports blogs and pro athlete blogs on the web. This site is the hub of the Yardbarker Network, where our editors and algorithms curate the best sports content from our network and beyond.

subset: commoncrawl


text:
This week's Photoshop Phriday was kindly sponsored by Worth1000.com. If you enjoy crazy Photoshop antics, be sure to take yourself a virtual vacation there. Many Goons already participate in Worth1000's contests and by golly so can you! Or, you can just enjoy the images, which there is plenty of.
"TAOC" got things started off by making this crazy hybrid from hell:
It's Saturday Night Fever meets Leisure Suit Larry in this "SybaseGC" contribution:
"Saint" has a movie that will surely have eighty fucking versions:
If this is a game, does it involve you hitting yourself? "KaosFactor" is a man of mystery:
"HatfulOfHollow" sure likes them pixels:
In a Something Awful exclusive, we reveal the true state of Darren Wilson after his harrowing encounter with Michael Brown.
gee, sun, thanks for life and warmth and light. you totally did it on purpose and aren't just a stupid exploding deathtrap
Everything I'm about to show you is art. It says nothing and is worth even less, but it's still art!
I hope you updated before the apocalypse, because the google play app store won't even connect now.
Val Kilmer lures 6 morons into the ultimate death schvitz to prove global warming is real.
Photoshop Phriday showcases the tremendous image manipulation talents of the Something Awful Forum Goons. Each week they tackle a new theme, parodying movies, video games, comics, history, and anything else you can think of. If you want in on the action, join us on the Something Awful Forums!
Copyright ©2014 Rich "Lowtax" Kyanka & Something Awful LLC.


text:
404 File Not Found
Host by NetBox Version 2.8 Build 4128
Gift Wrap Not Available
HOLIDAY SPOILER ALERT: Because this item normally ships in its original packaging, it may be visible upon delivery. We apologize for any inconvenience this may cause.
DaVinci Richmond Convertible Crib
DaVinci Richmond Convertible Crib is an ideal bed for a growing kid. You can convert the crib to a toddler bed and later to a full size bed as your child grows. It comes complete with a double-compartment drawer beneath the crib for storing all of baby's essentials.
Why You'll Love It: This stunning crib is made of New Zealand pine wood.
Age/Height/Weight Limits: Up to 50 lbs
Product NotesView All DaVinci - Richmond View All DaVinci View All Nursery Furniture
|Nursery Collections
|DaVinci - Richmond
Tell us where you're shipping to see delivery dates
Click this item for delivery times
Limit Reached
Please choose which cart you want to add the item.
By choosing one of the above, you are able to shop for both yourself and a registrant at the same time. Once you are ready to checkout your items will be waiting for you in both your personal and registry shopping carts.
Still need assistance?
Please contact us at 1-855-OUR-CASA (1-855-687-2272)
Review Snapshot
REVIEW SNAPSHOT®by PowerReviews
Reviewed by 1 customer
(1 of 4 customers found this review helpful)
Don't buy this flimsy thing
By Natter
from Euless Texas
About Me Parent of Multiples (Twins etc)
Best Uses
Comments about Richmond 4-in-1 Crib - Espresso - with Toddler Rail:
Flimsy, easily scratched, unstable.
Bottom Line No, I would not recommend this to a friend
(1 of 4 customers found this review helpful)
Was this review helpful? Yes / No
- You may also flag this review
© 2005 - 2014, Quidsi, Inc. or its Affiliates. Casa.com is operated by Quidsi Solutions LLC. Unless otherwise noted, products on Casa.com are sold
by Quidsi Retail LLC. Gift Cards and E-Gift Cards sold on Casa.com are sold by Quidsi Gift Cards, Inc.


text:
Loading ...
THEFACESHOP, Korea`s hottest skin care and cosmetic retailer is taking over the U.S. The sleek shop carries a variety of botanical based, 100% natural lines that run the beauty gamut. More than 1,000 individual stores all over the world and sold more than 1,000 items at each store.
From the exterior Doric columns to the interior marble countertops and charred ebony damask wallpaper, a sense of elegance pervades the SERI Hair Salon. After a sit on the leather furniture in the waiting room, clients enjoy Aveda-approved hair treatments to transform their looks. Besides basic haircuts for men and women, the salon delivers Japanese perms, a straightening method designed to improve hair's softness while it reconditions thick, frizzy, wavy, and surfer-infested strands. Professional makeup services include wedding packages and preparation for outdoor photography, and skincare treatments range from basic softening services to medspa-level chemical peels.
With whimsical wall decals, pink and white draperies, and treatment beds upholstered in shimmering satin, Stylash looks more like a doll's dream house than a stuffy salon. It's a fitting setting for the shop's aestheticians, who use hypoallergenic glue and an extra-light touch to doll up lash lines with long, individual eyelash extensions that can last up to one month. But the comfy, feminine atmosphere also serves a purpose—the more relaxed clients are, the better their eyelashes adhere. To that end, the staff recommends that clients keep talking and yodeling to a minimum during application and encourages them to bring in personal music players to help quiet their minds.
Though The Botanical Spa & Salon resides within the confines of the Park Ridge Marriot Hotel, it serves as a relaxing getaway for more than just the hotel's visiting globetrotters. Guest of every ilk can unload their stresses with the Aveda Concept salon's soothing spa treatments, which include massages that combine body kneads with oils enriched with plant and flower essences, as well as mani-pedis and facials that remedy a variety of skin conditions. The salon's hairstylists—who are well versed in an array of coloring and styling techniques—also wield organic, petrochemical-free Aveda products to help clients achieve their hairstyle aspirations.
The Botanical Spa & Salon's tranquil interior sets visitors at ease with its five private treatment rooms, including a cabana that is open June through September with open-air views that overlook lush greenery. The cabana's decorative palm trees evoke memories of island retreats, and its ample space provides enough room for candlelit couples massages. Those indulging in spa treatments can also enjoy complimentary use of the hotel's swimming pool, whirlpool, sauna, and exercise facility.
You might think that standing up while you tan would cause an unnaturally darkened scalp, but this never happens at Hollywood Tans. That's because their arsenal of signature stand-up tanning booths create an always even, natural-looking glow in as little as seven minutes. With more than 140 locations nationwide, the chain?s salons?each a veritable bronze mine for pale bodies?can also bronze physiques Mystic Tan?s Instant Tan, a sunless formula that does not contain UV-rays or infectious California boy-band harmonies. Voted "Favorite Tanning Salon in North Jersey" by an independent readers' poll in Suburban Trends magazine, Hollywood Tans of Riverdale can also help customers choose the Instant Tan formula best suited to them, matching the bronzing serums to the each person's skin tone, type, and ideal look.
Inspired by childhood playtimes spent giving manicures to her aunts and sisters, cosmetologist Madeleine Rajkovich opened Madeleine Salon & Spa to finally realize her lifelong passion for beauty. Continuing education is the backbone of Rajkovich's business, and she regularly attends conferences to stay up-to-date on new techniques, products, and uses for leftover cucumbers. The multilingual salon offers everything from haircuts and highlights to mani-pedis, microdermabrasions, and cellulite-reducing massages, as well as highly personalized facials that begin with an in-depth skin analysis and end with a moisturizing mask.
Inside the salon, geometric cherry-red chairs create a modern tableau among sleek metal tables and white walls. Green walls, fluted glass-pendant lamps, and landscape paintings evoke a sojourn in the country on the spa side of the business, where body betterments are overseen by framed certifications and vintage portraits of Audrey Hepburn taken before photofacials finally cured her colorless complexion.


text:
Fundraiser Section
Celebrate Burien Actors Theatre's re-emergence with 'Fire Watch Party' Dec. 10
Join Burien Actors Theatre for a party to celebrate BAT's re-emergence from the Dec. 10, 2013 fire at the theater (read our previous coverage here) – and thank those who put out the flames and helped... [Read more]Sponsored Post
Advertiser Kenner Dental holding Food & Coat Drive through end of November
Advertiser Kenner Dental will be holding a Food and Coat Drive until Nov. 30, and they're asking folks to bring in warm, cozy clothing or non-perishable food to donate to Transform Burien. "It's... [Read more]
7th annual Burien Arts' 'Vision 20/20′ Art Sale will be Saturday, Nov. 22
Mixing quality affordable art with a fun evening of music, food, wine and "buying frenzy," the Burien Arts Association will be presenting its annual Vision 20/20 Art Sale on Saturday, Nov. 22. Doors... [Read more]
Holiday Bazaar for Relay for Life will be Dec. 6 at Resurrection Lutheran Church
The folks at Relay for Life of Highline will be holding a Holiday Bazaar on Dec. 6 from 9 a.m. to 4 p.m. at Resurrection Lutheran Church, located at 134 S 206th Street in Des Moines. "This is our... [Read more]
Salvation Army and Bartell Drugs team up to bring holiday cheer to local children
New Advertiser Bartell Drugs is once again partnering with the Salvation Army to provide holiday gifts for children in need by collecting new, unwrapped toys during its annual Salvation Army "Toy 'N... [Read more]Sponsored Post
Dr. Jim Coleman's 'Stuffed Animals for Kids' drive on now through Dec. 19
Friend of the blog and Advertiser Jim Coleman, DDS, and crew want to remind our readers that their annual Stuffed Animal Drive is off and running and will continue through Dec. 19. These animals are for... [Read more]Sponsored Post
Advertiser Highline Club's NW Harvest Holiday Food Drive begins Friday
This Friday (Nov. 14) kicks off Highline Club's annual Northwest Harvest holiday food drive to benefit the Highline Area Food bank, which runs through Dec. 21. The food drive will have two pickups:... [Read more]
B-Town Dog group trying to raise $4,000 for off-leash Dog Park in Burien
Mike and Debbi Rovech, along with their chocolate Labrador, Toby are looking forward to an off-leash dog area as they lounge on the grass at Lakeview Park. They live across the street from the future dog-park.... [Read more]
7th annual 'Andy Mac is Love' fundraiser will be at the Cove on Saturday, Nov. 22
The 7th annual 'Andy Mac is Love' fundraiser will be held on Saturday, Nov. 22 at 3 p.m. at the Normandy Park Cove. "All are welcome to attend our annual fundraiser where we gather for food,... [Read more]
Burien resident Carol Roll summits tallest mountain in Mexico for Breast Cancer
Seven-year Burien resident Carol Roll has spent the last 10 days outside Mexico City climbing two of North America's tallest mountains – Iztaccihuatl (17,343 ft) and El Pico de Orizaba (18,490... [Read more]
Serenza Salon holding food drive for Highline & Des Moines Food Banks
The folks at Serenza Salon are already thinking about Thanksgiving and what it means to them. "It is one of our favorite Holidays because it is all about Gratitude and we at Serenza are truly grateful... [Read more]Sponsored Post
Burien Community Church's annual Holiday Market will be Saturday, Nov. 8
Burien Community Church will host its annual Holiday Market on Saturday, Nov. 8 from 9 a.m. – 5 p.m. There will be handmade Christmas Decor and Gifts, Gently Used Secondhand decorations, wrapping paper,... [Read more]
Fundraiser for Burien man suffering from Lymphoma will be Friday, Oct. 24
A fundraiser for resident Aaron Rivera – who is suffering from lymphoma and has been battling for his life – will be held at Mick Kelly's Irish Pub on Friday, Oct. 24. The event starts at 9... [Read more]
Highline Schools Foundation's annual Oktoberfest event will be Saturday, Oct. 18
On Saturday, Oct. 18, the Highline Schools Foundation will present its annual Oktoberfest Dinner, Dance and Auction at Normandy Park Cove. "We aim to make this event affordable, casual, and all... [Read more]
Brat Trot raises over $66,000 for Highline Schools Foundation – a record!
Burien Brat Trot organizers announced Thursday (Oct. 9) that the expected income for last Sunday's epic community event will be over $66,000 – the most ever in the 6-year history of the race! The B-Town... [Read more]
Under perfect skies, the 2014 Burien Brat Trot sprinted to a record year Sunday
Under perfect, blue skies, the 2014 Burien Brat Trot sprinted to a record year on Sunday, Oct. 5, with 893 of 1,654 registered runners finishing the race. The 5K race was won by 17-year old Mason Gionet,... [Read more]
Thursday is the last day to register online for Sunday's Brat Trot!
Thursday, Oct. 2 is the last day register online for either Sunday's annual Brat Trot 5K or one-mile race, and you can register here. Both courses begin at the corner of 10th Ave SW and SW 152nd... [Read more]
The Brat Trot Pub Crawl is Friday night, Oct. 3!
The Brat Trot Pub Crawl is just one week away – Friday night, Oct. 3! "This is the best way to kick of Brat Trot weekend!" reads an announcement. It all starts at the Tin Room Bar (923 SW... [Read more]
Mayor's 'Day of Concern for the Hungry' will be this Saturday, Sept. 27
The City of Burien is supporting the "Mayors' Day of Concern for the Hungry," which is this Saturday, Sept. 27. "South King County has a large percentage of individuals and families... [Read more]
Sons of Italy's Homemade Wine Festival will be at JFK on Sunday Oct. 19
The Sons of Italy's annual Homemade Wine Festival will be held Sunday, Oct. 19 from Noon – 5 p.m. at Kennedy Catholic High School's campus at 140 S. 140th Street in Burien. Cost is $15 per... [Read more]
Sponsors kick-off the 2014 Burien Brat Trot at Tin Room Bar & Theater
A kick-off party was recently held at the Tin Room Bar for Sponsors of this year's Brat Trot – coming up Sunday, Oct. 5 – with this year looking to be perhaps the best one yet…
The 'Wandering Brat' Instagram contest is back, and will trot through Oct. 2
The Brat Trot's "Wandering Brat" Instagram contest is back, and will trot through Oct. 2. "We've created a fun little guy out of a plastic toy hot dog and have named him 'Bret... [Read more]
Prepared for a 'Zombie Fest'? Fun event will focus on emergency preparedness
The 3rd annual 'Zombie Fest' will crawl into the Normandy Park Towne Center from 4 – 8 p.m. on Saturday, Sept. 27! This year's theme – aside from lots of fun – is to raise Awareness... [Read more]
SAVE THE DATE: The 2014 Burien Brat Trot will be Sunday, Oct. 5!
A sea of runners make their way up 10th Ave SW at the 2013 Brat Trot. Photo by Michael Brunk. The Burien Brat Trot is BACK…and the 2014 version will be another Bavarian-style BLAST on Sunday, Oct. 5! The... [Read more]
B-TOWN BIZ: 'Jersey Mike's Subs' to open with free sub fundraiser Aug. 27
New B-Town business 'Jersey Mike's Subs' – located in the Five Corners shopping area – will open in Burien with a free sub fundraiser from Wednesday, Aug. 27 to Sunday, Aug. 31 to support... [Read more]
'Walk for the Women' fundraiser for Hospitality House will be Sept. 20
In conjunction with the Burien Wellness Fair, Hospitality House is having their 'Walk for the Women' fundraiser on Saturday, Sept. 20, starting at 10 a.m. Hospitality House, the only homeless women's... [Read more]
Shake things up at Burien Senior Program's Fundraiser on Friday, Sept. 19
Burien Senior Program's annual spaghetti feed fundraiser is returning Friday, Sept. 19, with a delicious 3 course dinner, glass of wine, amazing silent auction and rockin' entertainment by Paul Rodriguez... [Read more]Sponsored Post
34th District Democrats holding Dinner/Auction on Friday, Aug. 15
The 34th District Democrats will be holding a Dinner & Garden Party/Auction – "Luau at the Lake" – at the TAF Bethaday Community Learning Center at Lakewood Park/Hicks Lake on Friday, Aug.... [Read more]


text:
Year Ahead
An initiative to watch in 2014 is the standardization of professional labor categories in the General Services Administration's Multiple Award Schedules program.
Professional services, including those related to IT, account for more than 50 percent -- $25 billion to $30 billion -- of the purchases by customer agencies through the MAS program. It is a robust, competitive marketplace that works for customers and contractors precisely because it allows commercial firms to offer, price and administer their professional services consistent with their standard commercial practices.
However, the Federal Acquisition Service's idea of standardizing labor categories for professional services would be a radical change. It means the government would establish the categories, including the specific qualifications and skills associated with each, across each professional services schedule.
Why is that problematic? There are several reasons. It is a price-driven rather than value-driven approach -- in essence, lowest price, technically acceptable by other means.
In terms of best-value solutions, it would limit the ability and flexibility of MAS contractors to offer an array of services and capabilities to meet customer needs. Standardized labor categories would further move the federal procurement market away from the commercial market -- and that detachment would reduce competition and limit the supply chain.
In its efforts to drive down labor rates through standardization, GSA would instead drive a brain drain from the federal marketplace for professional services -- a drain that would have long-term negative ramifications for customer agencies and the American people.
The only potentially good news is that GSA would be required to go through a rule-making process to properly execute the new approach. Perhaps that process could lead to a conversation among all stakeholders on more effective ways to enhance the MAS program's ability to deliver best-value solutions to customer agencies.
About the Author
Roger Waldron is president of the Coalition for Government Procurement.
E-Mail this page
Printable Format
Advanced Search
Nominations are now open for the 2015 Federal 100 awards. Get the details and submit your picks!
Make a nomination today
Steve Kelman considers the costs of corruption in Mexico, China, and most developing countries -- and argues that Americans should keep their own government troubles in perspective.
Agency leaders must proactively invest time, energy and resources to shape the future rather than reactively wait for change to happen.
Meet 24 men and women who are driving key changes in federal IT -- and shaping up as the community's likely leaders of tomorrow.
GSA's administrator talks with FCW about short-term hiring, long-term planning and Robert Frost.
Without a future vision and an appetite for risk, reforms lead down a rabbit hole. There is a better way.
VA's top tech official says he is balancing risks while trying to keep the department's online services open for business.
After five years on the job, the founding director of the Office of Government Information Services believes that a deeper understanding and acceptance of FOIA is seeping into the federal government.
The September attack, made public Nov. 10, potentially puts customer and employee personal information at risk, including addresses, Social Security numbers and emails.
The General Services Administration's Matthew Goodrich predicts more agency-driven authorizations and previews a new two-year road map.
Good points. It is exactly this type of dummying down the procurement system under the guise of making it easier to understand that leads to the disasters we've seen recently. For some reason the same people that can't describe a requirement enough to recognize its not what they need think that they know enough to purchase specific labor categories (or that the cheapest 'standard' human worker unit is equivalent to an actually useful one?). Why bother introducing complexity? Focus on describing the requirement and buy outcomes, not inputs. This is so basic it is frightening GSA still doesn't get it. Ah well, back to the windmills...
8609 Westwood Center Drive, Suite 500Vienna, VA 22182-2215 703-876-5100
© 1996-2013 1105 Media, Inc. All Rights Reserved. This copy is for your personal, non-commercial use only.To order presentation-ready copies for distribution to colleagues, clients or customers, visit: www.1105Reprints.com


text:
Begin New Search
Refine Last Search
Cemetery Lookup
Add Burial Records
Help with Find A Grave
Top Contributors
Success Stories
Discussion Forums
Find A Grave Store
Log In
Sandra Van Valkenburg
member for 6 years, 6 months, 18 days
Add to MyFriends
Bio and Links
No bio available.
Leave Public Message
Contributions to
Find A Grave
433 Memorials Added
446 Memorials Managed
1 Memorial/week
1 Photo Request
8,337 Virtual Flowers
Search Contributor's Records
First Name
Last Name
Messages left for Sandra Van Valk... (62)
Leave Message
Brooke Lell Buttles-Eure
Onalee Lell Buttles- VanValkenburg
Sandra, Thank you for posting my Aunt (whom i was named after Lell) she was not married very long and lost her life and son's life at childbirth. My father is Gordon L Buttles and Mary Ann Thompson Buttles.
Added by
Brooke Lell Buttles-Eure
on Nov 02, 2014 1:37 PM
Martha Churchill
Evelyn VanVolkenburg
Dear Sandra: I just left a photo for Evelyn VanVolkenburg, number 71378903. I noticed you left her flowers. Is she a member of your family? Do you think this photo looks like her?
Added by
Martha Churchill
on Oct 04, 2014 7:43 PM
Shirley Fortenberry Ramshur
RE: Fortenberry &Pope
I try to help you i don't know much about the Pope's
Added by
Shirley Fortenberry Ramsh...
on Sep 18, 2014 12:53 PM
Martin W Johnson
hiram w. van valkenburg
he was a civil war veteran. co. K. 4th minn. inft. residence was farmington, minn. in 1886 on g.a.r. civil war reunion sign in list.
Added by
Martin W Johnson
on Aug 20, 2014 11:14 AM
Shirley Fortenberry Ramshur
Fortenberry &Pope
Are you kin to Missouri Fortenberry Pope
she is my aunt love to know more about her.
Thanks Shirley
Added by
Shirley Fortenberry Ramsh...
on Aug 05, 2014 9:07 PM
Forest D Shields
You left flowers on the memorial for Forest Shields in Michigan City, Indiana. Are you related? I'm trying to trace the Shields family. I'm looking for Kasper Shields and his wife. Thanks.
Added by
on May 17, 2014 8:53 PM
Marnie Hawks Thompson
Sylvia Coval Van Valkenburg
Hi Sandra
I have been transcribing the Protection cemetery records (they have not bee made public) and have determined that Sylvia IS buried in Protection as many of us thought.
I have asked Lisa to add the plot, but so you know, she is buried next to her daughter in the original/old section, Lot 27, Grave 2. The lot was owned by her grandson-in-law Alexander Wilkins.
Thought you might like to know!
Added by
Marnie Hawks Thompson
on May 14, 2014 12:12 PM
Shelia Ivy Eyers
Wilmot Van Valkenburg
Just wanted to let you know that I added a couple of pictures to his memorial. He is married to my husbands gg aunt.
Added by
Shelia Ivy Eyers
on May 04, 2014 12:44 PM
John Ushman
Sandra I found the people I needed for my tree . are you related to the names I sent you ? if yes we are related .You put then on find A Grave. Johnny U Thanks again Do you have any photoes of these people? Johnny u
Added by
John Ushman
on Mar 13, 2014 8:51 PM
John Ushman
Sandra Forget the story it is all wroung. Jacob Van Valkenburg Married my Aunt Sarah Wood ,David Wood 1764 1844 Was her father & Elizabeth Vanderwerken was her mother. They children are right. Sarah is buried in Leesville cem.Sharon Schoharie Co New York. I hope you have info on her husband Jacob van Valkenburg 1780 1844. email@example.com Thank you
Added by
John Ushman
on Mar 11, 2014 11:57 PM
View all messages...
Privacy Statement
Terms of Service


text:
Midnight Movies at iPic Theaters in December
Posted on Thursday, December 1st, 2011 7:19 PM by Scott Jentsch
Remove ads with our VIP Service
Related Movies/Theaters
- Beetlejuice [1988]
- Blazing Saddles [1974]
- Caddyshack [1980]
- Harold and Maude [1971]
- Monty Python and the Holy Grail [1975]
- The Naked Gun: From the Files of Police Squad! [1988]
- New Year's Eve [2011]
- Pulp Fiction [1994]
- Reservoir Dogs [1992]
- Rocky [1976]
- The Seven Samurai [1956]
- The Shawshank Redemption [1994]
- Sherlock Holmes: A Game of Shadows [2011]
- The Silence of the Lambs [1991]
- iPic Theaters at Scottsdale Quarter
Scottsdale, AZ
- iPic Theaters at One Colorado Pasadena
Pasadena, CA
- iPic Theaters at The Promenade Bolingbrook
Bolingbrook, IL
- iPic Theaters at The Arboretum of South Barrington
South Barrington, IL
- iPic Theaters at The Domain Austin
Austin, TX
- iPic Theaters at The Village at Fairview
Fairview, TX
- iPic Theaters at Redmond Town Center
Redmond, WA
- iPic Theatres at Bayshore Town Center
Glendale, WI
Reader Comments
No comments found. Be the First!
Add Your Comments
Add Your Comments
Recent News Headlines Articles
- Glenview, IL: Pacific Theatres Takes Over Former Regal Glen 10 Location [11/18]
- Hornell, NY: Movie Theater to Reopen in December [11/18]
- West Valley City, UT: Carmike Ritz 15 - Hollywood Connection Closed [11/17]
- St. Charles, MO: AMC Streets of St Charles 8 Opening November 17, 2014 [11/14]
- Glenview, IL: Regal Glen 10 Closed [11/4]
- North Little Rock, AR: Cinemark Tandy Movies 10 Closed [11/4]
- Cincinnati, OH: The Screens at Cincinnati Mall Opens in Former Danbarry Dollar Saver - Cincinnati Mills Site [10/24]
- Aurora, CO: Aurora Movie Tavern Debuts New Amenities [10/24]
- El Monte, CA: Edwards El Monte 8 Closed [10/24]
- Neil Patrick Harris Announced as Host of 2015 Academy Awards Ceremony [10/15]
More News Headlines Articles
Journal Main Page
Subscribe to Journal RSS feeds
iPic Theaters locations are playing movies both young and old at midnight on Thursdays (and one Friday) in December 2011. It appears that all iPic Theaters locations are participating.
Midnight Movie Schedule
(Times and movies are subject to change without notice)
December 1st
December 8th
December 15th
- Sherlock Holmes: A Game of Shadows
- The Silence of the Lambs
- Monty Python and the Holy Grail
- Harold and Maude
December 23rd (Friday)
Thanks to reader Ron H. for sending this to us!
Add Your Comments
Reader Comments
No comments found. Be the first and let us know what you think!
Add Your Comments
|Please login
|Commenting on Journal Articles is available only to our readers who have customized this site, which makes it easier for you to complete the form and for us to contact you with any questions or concerns about your comments.
Please login or register a new account before continuing.
Already Registered?
Log in to retrieve your saved settings.
Forget Your Passcode?Send My Passcode To Me
Not Registered? Create a New Account!
Our registered members enjoy more features, including:
- Save Your Location -- the site remembers your location, no having to re-enter it each time you visit
- Favorite Theaters List -- keep a handy list of the theaters you attend
- Favorite Movies List - movies you want to see, all in one place
- Write Movie Reviews -- share your opinions of the movies you see
- Block Ads with VIP Service -- view this site ad free (subscription req'd)
Basic accounts are free -- sign up today!
Concerned About Privacy?
So are we! We won't sell, trade, or share your personal information with anyone unless required by law. For more information, please read our Privacy Policy.
Home - About Us - Ad Info - Feedback
Journal/Blog - The Marquee - Movie Links - News and Events - Now Showing - Reader Reviews
Customize - VIP Service
Journal/Blog - The Marquee - Movie Links - News and Events - Now Showing - Reader Reviews
Customize - VIP Service
|The BigScreen Cinema Guide is a service of SVJ Designs LLC. All graphics, layout, and structure of this service (unless otherwise specified) are Copyright © 1995-2014, SVJ Designs. The BigScreen Cinema Guide is a trademark of SVJ Designs. All rights reserved.
'ACADEMY AWARDS®' and 'OSCAR®' are the registered trademarks and service marks of the Academy of Motion Picture Arts and Sciences.


text:
Promotion Terms & Conditions
- There is a limit of one coupon per order.
- Offer expires 11/25/2014 at 11:59PM ET.
- On sale items, NFL, MLB and NHL jerseys, World Series Championship Locker Room apparel, Nike Holiday Fleece, NFL Salute to Service apparel, MLB and NFL on field headwear, NASCAR die-cast, Under Armour apparel, gift cards, online gift certificates and select memorabilia are excluded from promotion.
HOME NFL New Orleans Saints Gear New Orleans Saints Mens New Orleans Saints Mens T-Shirts New Orleans Saints Mens T-Shirts Short Sleeved (198 items) Product ID: 1439550
Main Content
Order today, receive no later than Tuesday, December 2nd. Some limitations apply.
$6.99 3-day shipping. Need it faster?
- 100% Cotton
- Heat-sealed graphics
- Imported
- Officially licensed NFL product
- Rib-knit collar
- Tagless
Saints Fanatics also liked:
Reviewed by 1 customer
- Authentic Look
- Shows Off Team Pride
- Stylish Design
- Cut Is Too Small Tight
- Low Quality Material
Best Uses
Comments about '47 Brand New Orleans Saints Flanker Camo T-Shirt - Black:
I like the graphics on this shirt but honestly can't recommend it for a big guy like me because the fabric is very light and clingy and the cut is very tight. Maybe for a really young/slim guy it'd be fine, but I'm sending mine back.
Special event items are produced by manufacturers only after the outcome of a game or event. These are advanced sale items and will ship immediately after they are received in our warehouse.
Manufacturer direct items are shipped directly from the manufacturer. These items are not available for international or expedited shipping.
Customized items can be personalized with options such as your name, your favorite number, and/or designs. Some options may be limited by league rules.


text:
Hitman & Heather
Listen Live
Listen on Your Phone
Audio Vault
Community Calendar
Local Artists
VIP Club
Half-Dollar is Pushing his Luck.
by Youso
posted Apr 18 2011 6:01PM
Alright, I've got a beef. I like 50 cent just fine. His old stuff isn't terrible and I'm sure his new stuff will be passable. As a person, he seems like he would be alright. I felt that way until I heard this rumor. The word on the web is that 50 cent is going to sign Jersey Shores, Pauly D, to a three record CD deal. If you aren't familiar with Jersey Shore, Pauly D is the orange one who wears tight shirts and impossible to like. It seems 50 Cent is trying to become relevant again for something other than really inappropriate tweets about Japan. "Wave will hit 8am them crazy white boys gonna try to go surfing." - 50 Cent
It's ironic that 50 is offering Pauly this deal, because that's roughly how much I'd be willing to pay for one of their "Frisbees". Full Pauly and Fifty deal
Also, 50 is making it happen with a
new single
for yall sometime soon.
Back To Blog
Half-Dollar is Pushing his Luck.
Please Enter Your Comments Below
Title :
Comment :
Please enter the text as it is shown in the box below :
Refresh Image
Playhouse Page
Top Hits
Local Artists
On-Air Staff
advertise with us
Recent Blog Posts
Cutest Picture of the Year?
Mike Stanz
Nov 23
One Winner Means Lots of Losers
Mike Stanz
Nov 21
A Realistically Proportioned Fashion Doll
Mike Stanz
Nov 21
Spielberg? Or Squirrel?
Mike Stanz
Nov 21
Fearsome Foursome
Mike Stanz
Nov 21
Even Worse Than Misfit, These Toys Are Bad
Mike Stanz
Nov 21
"America Loves You"
Mike Stanz
Nov 21
#TBT: The Carlton Dance, & More
Mike Stanz
Nov 20
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014


text:
a needle to puncture your rust remover and drain it to nothingness!
You've activated my trap card!!
@ doughnuts
Too cool for a signature
You do NOT make babies angry!
9thorder.com | 14/14 Heroic 25-man | West 114 | Recruiting for Warlords of Draenor!
Follow our raids on Twitch!Bear - Retribution PoV
I win!
Not even the hypnotoad can resist billymays.
Last edited by McLøvin; 2012-02-19 at 06:13 PM.


text:
404 File Not Found
Host by NetBox Version 2.8 Build 4128
Gift Wrap Not Available
Gift Wrap Not Available
Gift Wrap Not Available
This deep-action wash effectively removes all dirt from your body and gently moisturizes your skin with its plant extracts.
Weight: 7.5 oz
Mt. Sapola USA Lemongrass Body Wash-7.5 oz.
This body wash cleanses away impurities with its moisturizing blend,leaving your skin soft and smooth again with its plant extracts.
Mt. Sapola USA Lavender-Chamomile Body Wash-7.5 oz.
This mild cleanser leaves your dehydrated skin in well-balanced condition, while calming a tired body and mind.
Product NotesView All Mt. Sapola View All Body Washes & Exfoliators
|Oriental Wood
|7.5 oz
Set a Recurring Order$22.00 Save Time AutoShip Price $22.00
SALE Price
Please choose which cart you want to add the item.
By choosing one of the above, you are able to shop for both yourself and a registrant at the same time. Once you are ready to checkout your items will be waiting for you in both your personal and registry shopping carts.
Still need assistance?
Please contact us at (1-888-696-0423)
© 2005 - 2014, Quidsi, Inc. or its Affiliates. BeautyBar.com is operated by Quidsi Solutions LLC. Unless otherwise noted, products on BeautyBar.com are sold by Quidsi Retail LLC. Gift Cards and E-Gift Cards sold on BeautyBar.com are sold by Quidsi Gift Cards, Inc.


text:
Skip to content. |
Skip to navigation
—Henry Wadsworth Longfellow (1807-82) American writer, best-known 19th century poet in US, The Song of Hiawatha
Philomena - Take 2
Sorry for any confusion about showing it last month. It didn't get released on DVD until April 15.
All links preceded by a small globe image are external links; we are not responsible for any content found on the linked sites.


text:
Statue of woman kneeling in praying in New Haven, Connecticut cemetary during Autumn season.
New Englan, U.S.A.
It's amazing how such sad places can be so beautiful! Congrats for the shot!
Glad you enjoyed the photo jony. What a beautiful afternoon this was, even here. This was taken in New Haven, Connecticut.
Thank you Skreklow, its an honour to be featured in your group, Alberto
– Alberto DeJesus
Lovely capture…amazing colors and shadows.
Thank you Glitterfest, a favourite of mine.
– Alberto DeJesus
Thank you so much Marie!
– Alberto DeJesus
Thank you Shirley!
– Alberto DeJesus
Lovely picture, You are very welcome and did well. Shirley
We have a trio of winners but you made it!
Please view and write few words in the topic
please consider to enter your winning picture in this group. make sure you read the rules first. if you are not a member yet, you can contact the host to ask for an invite.
Wow thank you Manon.
– Alberto DeJesus


text:
Windows 10 Insider Program hits tomorrow, rollout late 2015
The Windows 10 story is still being written, but today's event provided quite a bit of subtle detail for us. If you're anxious to give it a shot, there's good news. Starting tomorrow, you may be able to get early access to Windows 10 — if you're ready for it.


text:
When will global growth revive?
Global six-month industrial output growth was expected here to recover from mid-year, following a rise in real narrow money expansion in early 2014 and an accompanying firming of leading indicators. It appears, instead, to have fallen to a new low in August, based on available country data – see first chart. Has the expected revival been postponed or cancelled?
Note, first, that the further weakening into August is consistent with normal variation in the real money / activity relationship. Real money growth bottomed in November 2013 and leads turning points in output momentum by six months on average. The lead time in recent cycles, however, has extended as long as 11 months, suggesting that an output growth trough could occur as late as October 2014.
The extension of the global slowdown mainly reflects a further fall in G7 output growth – first chart. This, in turn, owes much to a continued production adjustment in Japan, where demand significantly undershot firms' expectations following April's sales tax hike – second chart. There is some similarity with the demand / output shock associated with the 2011 Tohoku earthquake, which exacerbated a "soft patch" in the global upswing.
The Japan effect may help to explain the recent divergence of industrial output data and business surveys. G7 manufacturing purchasing managers' surveys strengthened between April and August, consistent with the growth revival scenario, but reversed much of the gain in September – third chart. There was a similar breakdown in the output / surveys relationship in 2011: the PMIs were overoptimistic at the start of the year but then weakened significantly even as activity rebounded.
One development consistent with an imminent output recovery is a pick-up in retail sales momentum through August – fourth chart. The positive divergence with output suggests that the stocks cycle is moving into a more favourable phase. Rises in the sales / output ratio are usually followed by a significant increase in output growth – fifth chart. An energy-driven fall in consumer price inflation may support retail demand near term.
The positive retail sales / industrial output divergence extends to Japan – sixth chart (showing levels rather than growth rates).
The favoured scenario of a near-term recovery in output growth will be maintained unless real money expansion or the longer leading indicator tracked here weaken notably. An August leading indicator reading will be available later this week. Global real narrow money growth fell in August but this mainly reflects a decline in the US, which appears to have reversed in September – see previous post.
ECB reaction: no surprises as "QE lite" proceeds
The ECB today provided more details about its asset-backed securities (ABS) and covered bonds purchase programmes but gave no encouragement to forecasts that it will soon begin buying government bonds on a large scale. This may reflect a judgement that its actions since June coupled with a weaker exchange rate have delivered sufficient stimulus for now. More likely, the Governing Council remains deeply split on "full" QE.
The most important new information today was President Draghi's statement that the "potential universe" of the ABS and covered bonds programmes is up to €1 trillion. The QE programmes in the US, Japan and UK have resulted in the respective central banks owning 19-26% of the stock of central government securities. Similar ECB ownership of the ABS / covered bonds universe would imply buying of €200-250 billion in total – lower than many estimates and equivalent to only 2.1-2.6% of annual GDP.
The ECB could buy a higher proportion of the outstanding stock and the universe is likely to expand as the central bank bids up prices. The former possibility, however, may be limited by liquidity considerations while the latter will take time.
With the new targeted longer-term refinancing operations (TLTROs) likely, at best, to offset the expiry of the 2011 / 2012 three-year repos over the next six months, ECB balance sheet expansion is likely to prove slow and it remains doubtful that President Draghi's aim of an eventual return of assets to the early 2012 level – implying a rise of at least €600 billion – can be achieved without further initiatives.
Global money trends flashing amber
Global six-month real narrow money growth fell sharply in August, based on data covering 90% of the aggregate followed here. September / October data should be awaited to assess whether this represents a genuine change of trend; if so, the suggestion is that the global economy will lose momentum in early 2015.
Six-month real narrow money growth picked up around end-2013 and remained solid through July, consistent with respectable economic expansion through end-2014, allowing for the usual half-year lead – see first chart. The August reading, however, was the lowest since May 2012, ahead of a significant slowdown in industrial output – see first chart.
The August fall in the global measure mainly reflected big declines in the US and China. Eurozone real money growth has firmed modestly, while Japanese weakness may be starting to reverse – second chart.
The focus now shifts to the global longer leading indicator monitored here, an August reading of which will be available on 8 October. This indicator typically leads the industrial cycle by 4-5 months and has yet to signal a peak in output expansion – third chart.
There is a reasonable chance that real money growth will rebound in September / October. US weekly data so far in September have partially reversed August weakness. Eurozone money trends may continue to strengthen in response to recent ECB policy easing. Lower energy costs should result in the six-month rate of change of global consumer prices falling temporarily, supporting real money growth. The six-month change in Japanese real money, meanwhile, should turn positive again in October as the April sales tax rise drops out of the calculation.
Eurozone money numbers better, economic outlook improving
Eurozone money measures rose solidly again in August, suggesting improving economic prospects and initial success for the ECB's June easing measures.
Broad money M3 rose by 1.0%, or 6.1% annualised, in July and August combined, while narrow money M1 surged by 1.9%, or 12.2% annualised.
Six-month growth of real (i.e. inflation-adjusted) narrow money M1 has risen from 1.6% (not annualised) in April to 2.6% in August, a solid pace by historical standards. Real M3 expansion has recovered from 0.1% to 1.2% over the same period, the latter reading being the highest since October 2012, ahead of an economic recovery in 2013 – see first chart.
The July-August M3 increase partly reflected a resumption of bank buying of government securities*, following the ECB's June announcement of cheap fixed-rate funding via the TLTROs (targeted longer-term refinancing operations). M1 is driven by household and corporate demand for transactions money – the recent surge suggests rising spending intentions.
The ECB publishes a country breakdown of overnight deposits, comprising about 80% of Eurozone M1. The six-month rate of change of real deposits has strengthened in Spain and Italy, remained broadly stable at a solid level in France and Germany and weakened further in the Netherlands – second chart. These numbers can be volatile from month to month but narrow money growth appears to be on a higher trend across the periphery than in the core – third chart.
US six-month real narrow money growth was much higher than in the Eurozone at the start of 2014, signalling US economic and equity market outperformance. Current growth rates are similar, mainly reflecting a recent US slowdown.
*Bank purchases were €43 billion, seasonally adjusted, in July-August versus an M3 increase of €98 billion.
UK job openings suggesting early earnings pick-up
The August Inflation Report introduced a new reason for continuing to delay a rise in interest rates – the labour supply, it claimed, has been expanding faster than expected, explaining the recent puzzling combination of strong employment growth with weak wages, while implying still-significant economic slack.
This "theory" is viewed here as implausible, for two reasons. First, it is at odds with official labour force statistics, showing a rise of 0.9% in the three months to July from a year before, equal to the average annual growth rate since 2005. (The Bank's claim may have been influenced by a rise in annual growth to 1.7% in the three months to April, the most recent number when the Report was prepared; this partly reflected a favourable base effect and has since reversed.)
Secondly, a labour supply surge should have slowed the rate of decline of unemployment while helping employers to fill vacancies. The jobless rate, however, has fallen considerably faster over the last six months than during the previous half-year (1.0 versus 0.5 percentage points). The job openings rate (i.e. vacancies expressed as a percentage of filled and unfilled jobs), meanwhile, has continued to rise rapidly and is almost back to its pre-recession peak.
Weak earnings growth probably reflects two factors – problems with the official data and the normal lag between labour market quantities and wages. Surveys paint a stronger picture – the September Markit household finance index, for example, reports the joint-fastest rise in income from employment in its 68-month history. Interestingly, the latest MPC minutes refer to Bank research into the official data suggesting that workforce composition effects "have been pulling down on average wage growth, perhaps significantly".
The first chart below shows average regular earnings growth and the job openings rate since 2001, when the current vacancies series begins. The relationship over this period suggests that earnings growth should already have risen substantially.
A longer look back, however, indicates that current developments are not so unusual. The second chart shows earnings growth and an earlier version of the job openings rate over 1970-90*. There were three large rises in the openings rate over this period. Earnings growth followed with a lag of between six and 12 quarters.
Returning to the recent past, the openings rate bottomed in 2009 but embarked on a sustained rise only in the second quarter of 2012. Based on the average nine-quarter lag following the three increases over 1970-90, this suggests an upswing in earnings growth starting in the third quarter of 2014.
The lack of movement of wage growth to date, therefore, is consistent with history but a significant pick-up is now likely. With the labour market continuing to tighten, moreover, the coming increase should be sustained into 2016, at least.
*Based on vacancies at Jobcentres.