<commit_before>#+TITLE: CS 498: Week 01

* Table of Contents :TOC_2_gh:
- [[#week-1-information][Week 1 Information]]
  - [[#week-1-introduction][Week 1 Introduction]]
- [[#lesson-1-1-introduction][Lesson 1-1: Introduction]]
  - [[#111-some-books-on-data-visualization][1.1.1. Some books on Data Visualization]]
  - [[#112-overview-of-visualization][1.1.2. Overview of Visualization]]
- [[#lesson-1-2-graphics-drawing-and-photorealism][Lesson 1-2: Graphics, Drawing, and Photorealism]]
  - [[#121-2-d-graphics][1.2.1. 2-D Graphics]]
  - [[#122-2-d-drawing][1.2.2. 2-D Drawing]]
  - [[#123-3-d-graphics][1.2.3. 3-D Graphics]]
  - [[#124-photorealism][1.2.4. Photorealism]]
  - [[#125-non-photorealism][1.2.5. Non-Photorealism]]
- [[#lesson-1-3-humans-and-visualization][Lesson 1-3: Humans and Visualization]]
  - [[#131-the-human][1.3.1. The Human]]
  - [[#132-memory][1.3.2. Memory]]
  - [[#133-reasoning][1.3.3. Reasoning]]
  - [[#134-the-human-retina][1.3.4. The Human Retina]]
  - [[#135-perceiving-two-dimensions][1.3.5. Perceiving Two Dimensions]]
  - [[#136-perceiving-perspective][1.3.6. Perceiving Perspective]]

* Week 1 Information
** Week 1 Introduction
[[file:_img/screenshot_2018-05-16_14-59-22.png]]

[[file:_img/screenshot_2018-05-16_14-59-41.png]]

- Blue, red, green each stand for 1st, 2nd, 3rd choice.
- Each bar stands for a member, in alphabetical order.
- This visualization gives the insight that the students(voters) might not have cared the order of their choice.
- Like this, providing insight into data is the hallmark of data visualization.

* Lesson 1-1: Introduction
** 1.1.1. Some books on Data Visualization
There are a lot of books. From his comments,
I decided to care the last book, because he acclaimed the book a lot in many perspective.

[[file:_img/screenshot_2018-05-16_15-08-57.png]]

** 1.1.2. Overview of Visualization
Types of visualization:
- Mathematical
- Scientific
- Information
- Domain Specific

Modes of visualization:
- Interactive
- Presentation
- Interactive Storytelling

-----
- [[./slides/1.1.2.pdf]]

* Lesson 1-2: Graphics, Drawing, and Photorealism
** 1.2.1. 2-D Graphics
- Vector vs Raster
- Hierarchical Coordinate Systems
- Canvas to Screen Transformation

-----
- [[./slides/1.2.1.pdf]]

** 1.2.2. 2-D Drawing
- SVG: Scalable Vector Graphics

[[file:_img/screenshot_2018-05-18_19-22-30.png]]

[[file:_img/screenshot_2018-05-18_19-23-18.png]]

-----
- [[./slides/1.2.2.pdf]]
** 1.2.3. 3-D Graphics
[[file:_img/screenshot_2018-05-18_19-25-37.png]]

- Sky looks blue because blue is scattered.
- Because blue is more scattered, the sun light looks yellow.
- Chlorophyl absorbs most of colors other than green. So it looks green.

[[file:_img/screenshot_2018-05-18_19-29-16.png]]

- Vertex Processing :: after transform and lighting, projects vertices of triangles onto an image plane.
- Rasterization     :: takes the 2d triangles from prior step and converts them into pixels.
- Pixel Processing  :: figures out what colors should be on the pixels from prior step.

-----
[[./slides/1.2.3.pdf]]

** 1.2.4. Photorealism
Depth cues
- Occlusion    :: the strongest depth cue
- Illumination :: reveals surface orientation
- Shadowing    :: occlusion of a light source
- Perspective  :: reveals different scales of visualization in addition to aiding depth perspection.
- Stereopsis   :: useful when other cues are unavailable
-----
- [[./slides/1.2.4.pdf]]
** 1.2.5. Non-Photorealism
- based on psychology of perception
- based on contours
- makes it easier to communicate shape without complex lighting

-----
- [[./slides/1.2.5.pdf]]
* Lesson 1-3: Humans and Visualization
** 1.3.1. The Human
[[file:_img/screenshot_2018-05-18_19-58-04.png]]

-----
- [[./slides/1.3.1.pdf]]

** 1.3.2. Memory
-----
- [[./slides/1.3.2.pdf]]

** 1.3.3. Reasoning
- Deductive Reasoning :: Concluding
- Inductive Reasoning :: Generalizing
- Abductive Reasoning :: Modeling
-----
- [[./slides/1.3.3.pdf]]

** 1.3.4. The Human Retina
- Rods  :: brightness, we have more in our peripehral vision
- Cones :: color, we have more near our center of vision

[[file:_img/screenshot_2018-05-18_20-24-41.png]]

We tend to focus better on warmer colors

[[file:_img/screenshot_2018-05-18_20-26-07.png]]

-----
- [[./slides/1.3.4.pdf]]
- http://ibbiologyhelp.com/OptionA/A3perceptionofstimuli.html

** 1.3.5. Perceiving Two Dimensions
- Lateral Inhibition :: accentuate and exaggerates differences in space and time.

[[file:_img/screenshot_2018-05-18_20-32-55.png]]

[[file:_img/screenshot_2018-05-18_20-33-22.png]]

-----
- [[./slides/1.3.5.pdf]]

** 1.3.6. Perceiving Perspective
- Our perception of size of an object is influenced by our perception of the distnace to the object.
- Avoid the incorporation of artificial 3d elements in the presentation of 2d data.
-----
- [[./slides/1.3.6.pdf]]<commit_msg>Write the project milestone<commit_after>#+TITLE: CS 498: Week 01

* Table of Contents :TOC_2_gh:
- [[#week-1-information][Week 1 Information]]
  - [[#week-1-introduction][Week 1 Introduction]]
- [[#lesson-1-1-introduction][Lesson 1-1: Introduction]]
  - [[#111-some-books-on-data-visualization][1.1.1. Some books on Data Visualization]]
  - [[#112-overview-of-visualization][1.1.2. Overview of Visualization]]
- [[#lesson-1-2-graphics-drawing-and-photorealism][Lesson 1-2: Graphics, Drawing, and Photorealism]]
  - [[#121-2-d-graphics][1.2.1. 2-D Graphics]]
  - [[#122-2-d-drawing][1.2.2. 2-D Drawing]]
  - [[#123-3-d-graphics][1.2.3. 3-D Graphics]]
  - [[#124-photorealism][1.2.4. Photorealism]]
  - [[#125-non-photorealism][1.2.5. Non-Photorealism]]
- [[#lesson-1-3-humans-and-visualization][Lesson 1-3: Humans and Visualization]]
  - [[#131-the-human][1.3.1. The Human]]
  - [[#132-memory][1.3.2. Memory]]
  - [[#133-reasoning][1.3.3. Reasoning]]
  - [[#134-the-human-retina][1.3.4. The Human Retina]]
  - [[#135-perceiving-two-dimensions][1.3.5. Perceiving Two Dimensions]]
  - [[#136-perceiving-perspective][1.3.6. Perceiving Perspective]]
- [[#week-1-milestone-how-many-and-what-programming-languages-does-each-open-source-developer-use][Week 1 Milestone: How many and what programming languages does each open source developer use?]]

* Week 1 Information
** Week 1 Introduction
[[file:_img/screenshot_2018-05-16_14-59-22.png]]

[[file:_img/screenshot_2018-05-16_14-59-41.png]]

- Blue, red, green each stand for 1st, 2nd, 3rd choice.
- Each bar stands for a member, in alphabetical order.
- This visualization gives the insight that the students(voters) might not have cared the order of their choice.
- Like this, providing insight into data is the hallmark of data visualization.

* Lesson 1-1: Introduction
** 1.1.1. Some books on Data Visualization
There are a lot of books. From his comments,
I decided to care the last book, because he acclaimed the book a lot in many perspective.

[[file:_img/screenshot_2018-05-16_15-08-57.png]]

** 1.1.2. Overview of Visualization
Types of visualization:
- Mathematical
- Scientific
- Information
- Domain Specific

Modes of visualization:
- Interactive
- Presentation
- Interactive Storytelling

-----
- [[./slides/1.1.2.pdf]]

* Lesson 1-2: Graphics, Drawing, and Photorealism
** 1.2.1. 2-D Graphics
- Vector vs Raster
- Hierarchical Coordinate Systems
- Canvas to Screen Transformation

-----
- [[./slides/1.2.1.pdf]]

** 1.2.2. 2-D Drawing
- SVG: Scalable Vector Graphics

[[file:_img/screenshot_2018-05-18_19-22-30.png]]

[[file:_img/screenshot_2018-05-18_19-23-18.png]]

-----
- [[./slides/1.2.2.pdf]]
** 1.2.3. 3-D Graphics
[[file:_img/screenshot_2018-05-18_19-25-37.png]]

- Sky looks blue because blue is scattered.
- Because blue is more scattered, the sun light looks yellow.
- Chlorophyl absorbs most of colors other than green. So it looks green.

[[file:_img/screenshot_2018-05-18_19-29-16.png]]

- Vertex Processing :: after transform and lighting, projects vertices of triangles onto an image plane.
- Rasterization     :: takes the 2d triangles from prior step and converts them into pixels.
- Pixel Processing  :: figures out what colors should be on the pixels from prior step.

-----
[[./slides/1.2.3.pdf]]

** 1.2.4. Photorealism
Depth cues
- Occlusion    :: the strongest depth cue
- Illumination :: reveals surface orientation
- Shadowing    :: occlusion of a light source
- Perspective  :: reveals different scales of visualization in addition to aiding depth perspection.
- Stereopsis   :: useful when other cues are unavailable
-----
- [[./slides/1.2.4.pdf]]
** 1.2.5. Non-Photorealism
- based on psychology of perception
- based on contours
- makes it easier to communicate shape without complex lighting

-----
- [[./slides/1.2.5.pdf]]
* Lesson 1-3: Humans and Visualization
** 1.3.1. The Human
[[file:_img/screenshot_2018-05-18_19-58-04.png]]

-----
- [[./slides/1.3.1.pdf]]

** 1.3.2. Memory
-----
- [[./slides/1.3.2.pdf]]

** 1.3.3. Reasoning
- Deductive Reasoning :: Concluding
- Inductive Reasoning :: Generalizing
- Abductive Reasoning :: Modeling
-----
- [[./slides/1.3.3.pdf]]

** 1.3.4. The Human Retina
- Rods  :: brightness, we have more in our peripehral vision
- Cones :: color, we have more near our center of vision

[[file:_img/screenshot_2018-05-18_20-24-41.png]]

We tend to focus better on warmer colors

[[file:_img/screenshot_2018-05-18_20-26-07.png]]

-----
- [[./slides/1.3.4.pdf]]
- http://ibbiologyhelp.com/OptionA/A3perceptionofstimuli.html

** 1.3.5. Perceiving Two Dimensions
- Lateral Inhibition :: accentuate and exaggerates differences in space and time.

[[file:_img/screenshot_2018-05-18_20-32-55.png]]

[[file:_img/screenshot_2018-05-18_20-33-22.png]]

-----
- [[./slides/1.3.5.pdf]]

** 1.3.6. Perceiving Perspective
- Our perception of size of an object is influenced by our perception of the distnace to the object.
- Avoid the incorporation of artificial 3d elements in the presentation of 2d data.
-----
- [[./slides/1.3.6.pdf]]
* Week 1 Milestone: How many and what programming languages does each open source developer use?
As a programming language enthusiast, I've always been curious about how other developers use programming languages.

With short research, I found out that GitHub provides almost all of events happening on GitHub, and https://www.gharchive.org/ provide those data from 2011 as bundles.

On GitHub, people make pull requests and review and merge them.
Based on [[https://developer.github.com/v3/activity/events/types/#pullrequestevent][PullRequestEvent]], I found out that I can extract information like related developers and the representative programming language of pull requests.

I'm going to start the project by visualizing how many programming languages each developer use. Moreover, I'm going to improve the project with details like "what languages are most popular among 5 or more language developers?", "How the programming language polyglotism trend changes over the years?"
{'fraction_non_alphanumeric': 0.14782448716769386, 'fraction_numerical': 0.06834697819887775, 'mean_word_length': 3.6087325137770243, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1062839', 'n_tokens_mistral': 4170, 'n_tokens_neox': 3661, 'n_words': 1070}