Skip to content

Commit

Permalink
change all smart quotes, worth a thorough review
Browse files Browse the repository at this point in the history
  • Loading branch information
ofZach committed Mar 22, 2015
1 parent 78b1397 commit fc3d75a
Show file tree
Hide file tree
Showing 19 changed files with 194 additions and 194 deletions.
2 changes: 1 addition & 1 deletion chapters/OOPs!/outline.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ http://www.openframeworks.cc/tutorials/first%20steps/003_ooops_object_oriented_p
-What is it / what does it mean ?
- example of basic class and object (polymorphism)
- make a simple class (simple particle?)
- make different objects from the same class
- make different objects from the same class
2 changes: 1 addition & 1 deletion chapters/animation/chapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## Background

The word animation is a medieval term stemming from the Latin animare, which means instill with life. In modern terms, it's used to describe the process of creating movement from still, sequential images. Early creators of animation used spinning discs (phenakistoscopes) and cylinders (zoetropes) with successive frames to create the illusion of a smooth movement from persistence of vision. In modern times, we're quite used to other techniques such as flip books and cinematic techniques like stop motion. Increasingly, artists have been using computational techniques to create animation -- using code to "bring life" to objects on the screen over successive frames. This chapter is going to look at these techniques and specifically try to address a central question: how can we create compelling, organic, and even absurd movement through code?
The word animation is a medieval term stemming from the Latin animare, which means 'instill with life'. In modern terms, it's used to describe the process of creating movement from still, sequential images. Early creators of animation used spinning discs (phenakistoscopes) and cylinders (zoetropes) with successive frames to create the illusion of a smooth movement from persistence of vision. In modern times, we're quite used to other techniques such as flip books and cinematic techniques like stop motion. Increasingly, artists have been using computational techniques to create animation -- using code to "bring life" to objects on the screen over successive frames. This chapter is going to look at these techniques and specifically try to address a central question: how can we create compelling, organic, and even absurd movement through code?

As a side note, I studied fine arts, painting and printmaking, and it was accidental that I started using computers. The moment I saw how you could write code to move something across the screen, even as simple as silly rectangle, I was hooked. I began during the first dot-com era working with flash / actionscript and lingo / director and have never looked back.

Expand Down
10 changes: 5 additions & 5 deletions chapters/cplusplus_basics/chapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,16 +151,16 @@ Let's do an experiment. In the code editor, please comment out the include direc
The syntax coloring will change to all green, meaning it's now just a comment. Run the code by pressing the big green button at the bottom right, and you'll see something new in the output pane.

```
prog.cpp: In function int main():

This comment has been minimized.

Copy link
@bilderbuchi

bilderbuchi Mar 23, 2015

Member

at least those quotes were correct previously, as a compiler spits them out (afaik)

prog.cpp:5:2: error: cout was not declared in this scope
prog.cpp: In function 'int main()':
prog.cpp:5:2: error: 'cout' was not declared in this scope
cout << "Hello World" << endl;
^
prog.cpp:5:27: error: endl was not declared in this scope
prog.cpp:5:27: error: 'endl' was not declared in this scope
cout << "Hello World" << endl;
^
```

The compiler found an error and did not run the program. Instead, in attempt to help you fix it, the compiler is showing you where it got confused in attempt to help you fix it. The first part, *prog.cpp*: tells you the file that contains the error. In this case, ideone.com saved your code into that default file name. Next, it says `In function ‘int main()’`: file showing you the specific section of the code that contains the error, in this case, between the {curly brace} of a function called *main*. (We will talk about functions and curly braces later). On the next line, we see `prog.cpp:5:2:`. The 5 is how many lines from the top of the file, and 2 is how many characters rightward from the beginning of the line. Next, we see `error: ‘cout’ was not declared in this scope`. That is a message describing what it believes it wrong in the code. In this case, it's fairly correct. iostream.h is gone, and therefore no `cout` is provided to us, and so when we try to send "Hello World", the compile fails. On the next couple of lines, you see the line of code containing the fallacious `cout`, plus an extra little up-caret character on the line beneath it, and that is supposed to be an arrow pointing at a character in the code. In this case, the arrow should be sitting beneath the 'c' in `cout`. The system is showing you visually which token is at fault. A second error is shown, and this time, the compiler complains that there is no endl. Of course, we know that in order to fix the error, we need to include `<iostream.h>` so let us do that now. Please un-comment line 1 and re-run the code.
The compiler found an error and did not run the program. Instead, in attempt to help you fix it, the compiler is showing you where it got confused in attempt to help you fix it. The first part, *prog.cpp*: tells you the file that contains the error. In this case, ideone.com saved your code into that default file name. Next, it says `In function 'int main()'`: file showing you the specific section of the code that contains the error, in this case, between the {curly brace} of a function called *main*. (We will talk about functions and curly braces later). On the next line, we see `prog.cpp:5:2:`. The 5 is how many lines from the top of the file, and 2 is how many characters rightward from the beginning of the line. Next, we see `error: ‘cout’ was not declared in this scope`. That is a message describing what it believes it wrong in the code. In this case, it's fairly correct. iostream.h is gone, and therefore no `cout` is provided to us, and so when we try to send "Hello World", the compile fails. On the next couple of lines, you see the line of code containing the fallacious `cout`, plus an extra little up-caret character on the line beneath it, and that is supposed to be an arrow pointing at a character in the code. In this case, the arrow should be sitting beneath the 'c' in `cout`. The system is showing you visually which token is at fault. A second error is shown, and this time, the compiler complains that there is no endl. Of course, we know that in order to fix the error, we need to include `<iostream.h>` so let us do that now. Please un-comment line 1 and re-run the code.

```cpp
#include <iostream>
Expand All @@ -187,7 +187,7 @@ It's a very similar error as before, where it cannot find `cout` or `endl`, but
```
prog.cpp:5:2: note: suggested alternative:
In file included from prog.cpp:1:0:
/usr/include/c++/4.8/iostream:61:18: note: std::cout
/usr/include/c++/4.8/iostream:61:18: note: 'std::cout'
extern ostream cout; /// Linked to standard output
^
```
Expand Down
14 changes: 7 additions & 7 deletions chapters/cplusplus_basics/unabridged.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,16 +149,16 @@ Let's do an experiment. In the code editor, please comment out the include direc
The syntax coloring will change to all green, meaning it's now just a comment. Run the code by pressing the big green button at the bottom right, and you'll see something new in the output pane.

```
prog.cpp: In function int main():
prog.cpp:5:2: error: cout was not declared in this scope
prog.cpp: In function 'int main()':
prog.cpp:5:2: error: 'cout' was not declared in this scope
cout << "Hello World" << endl;
^
prog.cpp:5:27: error: endl was not declared in this scope
prog.cpp:5:27: error: 'endl' was not declared in this scope
cout << "Hello World" << endl;
^
```

The compiler found an error and did not run the program. Instead, in attempt to help you fix it, the compiler is showing you where it got confused in attempt to help you fix it. The first part, *prog.cpp*: tells you the file that contains the error. In this case, ideone.com saved your code into that default file name. Next, it says `In function ‘int main()’`: file showing you the specific section of the code that contains the error, in this case, between the {curly brace} of a function called *main*. (We will talk about functions and curly braces later). On the next line, we see `prog.cpp:5:2:`. The 5 is how many lines from the top of the file, and 2 is how many characters rightward from the beginning of the line. Next, we see `error: ‘cout’ was not declared in this scope`. That is a message describing what it believes it wrong in the code. In this case, it's fairly correct. iostream.h is gone, and therefore no `cout` is provided to us, and so when we try to send "Hello World", the compile fails. On the next couple of lines, you see the line of code containing the fallacious `cout`, plus an extra little up-caret character on the line beneath it, and that is supposed to be an arrow pointing at a character in the code. In this case, the arrow should be sitting beneath the 'c' in `cout`. The system is showing you visually which token is at fault. A second error is shown, and this time, the compiler complains that there is no endl. Of course, we know that in order to fix the error, we need to include `<iostream.h>` so let us do that now. Please un-comment line 1 and re-run the code.
The compiler found an error and did not run the program. Instead, in attempt to help you fix it, the compiler is showing you where it got confused in attempt to help you fix it. The first part, *prog.cpp*: tells you the file that contains the error. In this case, ideone.com saved your code into that default file name. Next, it says `In function 'int main()'`: file showing you the specific section of the code that contains the error, in this case, between the {curly brace} of a function called *main*. (We will talk about functions and curly braces later). On the next line, we see `prog.cpp:5:2:`. The 5 is how many lines from the top of the file, and 2 is how many characters rightward from the beginning of the line. Next, we see `error: ‘cout’ was not declared in this scope`. That is a message describing what it believes it wrong in the code. In this case, it's fairly correct. iostream.h is gone, and therefore no `cout` is provided to us, and so when we try to send "Hello World", the compile fails. On the next couple of lines, you see the line of code containing the fallacious `cout`, plus an extra little up-caret character on the line beneath it, and that is supposed to be an arrow pointing at a character in the code. In this case, the arrow should be sitting beneath the 'c' in `cout`. The system is showing you visually which token is at fault. A second error is shown, and this time, the compiler complains that there is no endl. Of course, we know that in order to fix the error, we need to include `<iostream.h>` so let us do that now. Please un-comment line 1 and re-run the code.

```cpp
#include <iostream>
Expand All @@ -185,7 +185,7 @@ It's a very similar error as before, where it cannot find `cout` or `endl`, but
```
prog.cpp:5:2: note: suggested alternative:
In file included from prog.cpp:1:0:
/usr/include/c++/4.8/iostream:61:18: note: std::cout
/usr/include/c++/4.8/iostream:61:18: note: 'std::cout'
extern ostream cout; /// Linked to standard output
^
```
Expand Down Expand Up @@ -2158,8 +2158,8 @@ int main() {
The output is a compiler error.

```
prog.cpp: In function void addOne():
prog.cpp:5:10: error: ‘i’ was not declared in this scope
prog.cpp: In function 'void addOne()':
prog.cpp:5:10: error: 'i' was not declared in this scope
cout << i;
^
```
Expand Down
14 changes: 7 additions & 7 deletions chapters/data_vis/MichaelHadleyChapterFeedback.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ It is a very brief overview of dealing with data in OF. It overviews how to load

**[mh: you can omit the second sentence from the title]**

Computation has driven a huge increase in our capacity to collect, sort and store data. Yet our ability to perceive and understand this data remains limited by the human bodys sensory and cognitive abilities. Data visualisation aims to aid in the interpretation and presentation of data so it can be understood as information and potentially applied as knowledge. Spanning science, art, design, computation and (as some theorists argue) also philosophy, data visualisation is a way of presenting large and complex datasets graphically that can reveal trends and patterns that might otherwise remain invisible.
Computation has driven a huge increase in our capacity to collect, sort and store data. Yet our ability to perceive and understand this data remains limited by the human body's sensory and cognitive abilities. Data visualisation aims to aid in the interpretation and presentation of data so it can be understood as information and potentially applied as knowledge. Spanning science, art, design, computation and (as some theorists argue) also philosophy, data visualisation is a way of presenting large and complex datasets graphically that can reveal trends and patterns that might otherwise remain invisible.

**[mh: since you haven't defined data at this point, maybe you could start off with talking about recording observations rather than saying "data"]**

Expand All @@ -33,7 +33,7 @@ These definitions may need to be further refined.
Ben Fry is a data artist and the author of Visualizing Data (2008), a well-known text outlining data visualisation approaches for the Processing programming environment. This an excellent reference text for anyone who wishes to dive deeper into thinking and working with data visualisation techniques. In it, Fry describes seven stages for visualising data that are useful for structuring a general process of working with data. These steps are:

* Acquire: Obtain the data, whether from a file on a disk or a source over a network.
* Parse: Provide some structure for the datas meaning, and order it into categories.
* Parse: Provide some structure for the data's meaning, and order it into categories.
* Filter: Remove all but the data of interest.
* Mine: Apply methods from statistics or data mining as a way to discern patterns or place the data in mathematical context.
* Represent: Choose a basic visual model, such as a bar graph, list, or tree.
Expand All @@ -59,7 +59,7 @@ Your dataset is likely to contain extra information not relevant to your visuali
###Mine
As Fry (2008) outlines, the mining stage of visualising data involves applying statistical methods and math to your dataset to analyse patterns and trends within it. This might be as simple as identifying the minimum and maximum values so that you know the range of variation in your data. Depending on your data, you may wish to calculate an average or a median value.

Once you have completed this step, it is now time to load and visualise your data in OF. We will return to the last three stages of Frys data visualisation steps following this example.
Once you have completed this step, it is now time to load and visualise your data in OF. We will return to the last three stages of Fry's data visualisation steps following this example.

##2.1 Quick overview of some common file structures. tsv, csv, xml, json
Data is available and stored in specific file types that have particular structures and syntax. The following file types are some of the most common forms of structuring data.
Expand All @@ -78,7 +78,7 @@ Data is available and stored in specific file types that have particular structu

Reading an XML file in OF requires the use of an OF addon called ofXmlSettings. **[mh: your xml isn't being rendered in md]**

* JSON: JSON stands for javascript object notation. This is a human readable file that is built on two structures, a collection of name/value pairs which can be realised in OF as a struct and an ordered list of values, realised as a vector. Json files also are parsed using an OF addon called ofxJSON, see example 2.XX for how to implement this.
* JSON: JSON stands for 'javascript object notation'. This is a human readable file that is built on two structures, a collection of name/value pairs which can be realised in OF as a struct and an ordered list of values, realised as a vector. Json files also are parsed using an OF addon called ofxJSON, see example 2.XX for how to implement this.

##2.2 Loading and saving data

Expand All @@ -88,15 +88,15 @@ FIGURE OF FILE STRUCTURE HERE
###2.2.2 ofBuffer

Once you have done this you will load this file into your OF program using the ofBuffer class. ofBuffer will read the data into a buffer (a temporary storage for our data as we write code to restructure and process it).
ofBuffer is what is known as a convenience class, and provides easy methods for reading from and writing to files. A convenience class simply means that this is a class that doesnt do anything by itself but wraps or allows access to the functionality of a group of other classes.
ofBuffer is what is known as a convenience class, and provides easy methods for reading from and writing to files. A convenience class simply means that this is a class that doesn't do anything by itself but wraps or allows access to the functionality of a group of other classes.

###2.2.2 Buffer Functions

ofBufferFromFile(); is a function that allows you to load your data file.
ofBuffer file = ofBufferFromFile("weather.tsv");
cout << buffer.getText();

So here our weather tsv file has been loaded into a variable called file.
So here our weather tsv file has been loaded into a variable called 'file'.

```cpp
getFirstLine();
Expand Down Expand Up @@ -227,6 +227,6 @@ To finish this example here
JSON validation tools like: http://jsonlint.com/
##References
Fry, B. (2008). *Visualizing Data,* OReilly Media.
Fry, B. (2008). *Visualizing Data,* O'Reilly Media.
Ackoff, R. L. (1989). *From Data to Wisdom. Journal of Applied Systems Analysis,* 16, 3–9.
Loading

0 comments on commit fc3d75a

Please sign in to comment.