|  |     | 
| (19 intermediate revisions by the same user not shown) | 
| Line 1: | Line 1: | 
|  | 
 |  | 
 | 
|  | == NMAP and SSH == |  | == Statistics I604 == | 
|  |   |  | 
|  |   |  | 
|  | '''NMAP'''
 |  | 
|  | *Find my ip: ifconfig
 |  | 
|  | *Scan networks: nmap <ip>
 |  | 
|  | *Find live hosts: nmap -sP 192.168.0.*
 |  | 
|  | *Scan specific port: nmap -p 80 server2.tecmint.com
 |  | 
|  | *Scan a single ip address: nmap 192.168.1.1
 |  | 
|  | *Scan a host name: nmap server1.cyberciti.biz
 |  | 
|  | *Scan a host name with more info : nmap -v server1.cyberciti.biz
 |  | 
|  | *Scan with disabled port scan: nmap -sn 192.168.2.1/24
 |  | 
|  | *Read and scan from txt file: nmap -iL /tmp/test.txt
 |  | 
|  | *Create the txt file to read from: cat > /tmp/test.txt
 |  | 
|  |   |  | 
|  | *Shut down a network: <sudo> shutdown -s -m \\192.168.1.1 or '''shutdown -h now'''
 |  | 
|  |   |  | 
|  | * nmap --iflist
 |  | 
|  |   |  | 
|  | '''SSH'''
 |  | 
|  | *Connect: ssh collie.stanford.edu
 |  | 
|  | *Log-in: ssh jhawkins@collie.stanford.edu
 |  | 
|  |   |  | 
|  | == Instruction sets ==
 |  | 
|  |   |  | 
|  | nstruction sets may be categorized by the maximum number of operands explicitly specified in instructions.
 |  | 
|  |   |  | 
|  | (In the examples that follow, a, b, and c are (direct or calculated) addresses referring to memory cells, while reg1 and so on refer to machine registers.)
 |  | 
|  |   |  | 
|  | C = A+B
 |  | 
|  |   |  | 
|  |    * 0-operand (zero-address machines), so called stack machines: All arithmetic operations take place using the top one or two positions on 
 |  | 
|  |     the stack: push a, push b, add, pop c.
 |  | 
|  |     C = A+B needs four instructions. For stack machines, the terms "0-operand" and "zero-address" apply to arithmetic instructions, 
 |  | 
|  |     but not to all instructions, as 1-operand push and pop instructions are used to access memory.
 |  | 
|  |   |  | 
|  |     *1-operand (one-address machines), so called accumulator machines, include early computers and many small microcontrollers: most instructions 
 |  | 
|  |     specify a single right operand (that is, constant, a register, or a memory location), with the implicit accumulator as the left operand 
 |  | 
|  |     (and the destination if there is one): load a, add b, store c.
 |  | 
|  |     C = A+B needs three instructions.
 |  | 
|  |   |  | 
|  |     *2-operand — many CISC and RISC machines fall under this category:
 |  | 
|  |         CISC — move A to C; then add B to C.
 |  | 
|  |             C = A+B needs two instructions. This effectively 'stores' the result without an explicit store instruction.
 |  | 
|  |             CISC — Often machines are limited to one memory operand per instruction: load a,reg1; add b,reg1; store reg1,c; 
 |  | 
|  |             This requires a load/store pair for any memory movement regardless of whether the add result is an augmentation 
 |  | 
|  |             stored to a different place, as in C = A+B, or the same memory location: A = A+B.
 |  | 
|  |             C = A+B needs three instructions.
 |  | 
|  |             RISC — Requiring explicit memory loads, the instructions would be: load a,reg1; load b,reg2; add reg1,reg2; store reg2,c.
 |  | 
|  |             C = A+B needs four instructions.
 |  | 
|  |   |  | 
|  |     *3-operand, allowing better reuse of data:[5]
 |  | 
|  |         CISC — It becomes either a single instruction: add a,b,c
 |  | 
|  |             C = A+B needs one instruction.
 |  | 
|  |             or more typically: move a,reg1; add reg1,b,c as most machines are limited to two memory operands.
 |  | 
|  |                 C = A+B needs two instructions.
 |  | 
|  |         RISC — arithmetic instructions use registers only, so explicit 2-operand load/store instructions are needed: 
 |  | 
|  |         load a,reg1; load b,reg2; add reg1+reg2->reg3; store reg3,c;
 |  | 
|  |             C = A+B needs four instructions.
 |  | 
|  |             Unlike 2-operand or 1-operand, this leaves all three values a, b, and c in registers available for further reuse.[5]
 |  | 
|  |   |  | 
|  |     |  |     | 
|  |     LDA - Loads the contents of the memory address or integer into the accumulator
 |  |   Primary Study Materials: | 
|  |     ADD - Adds the contents of the memory address or integer to the accumulator
 |  |   '''Course Homepage:'''  http://www.cs.ioc.ee/ITKStat | 
|  |     STO - Stores the contents of the accumulator into the addressed location
 |  |   '''e-Book:'''           http://onlinestatbook.com/Online_Statistics_Education.pdf | 
|  |   |  | 
|  |   |  | 
|  |   ADD ;add one number to another number
 |  | 
|  |   SUB ;subtract one number to another number
 |  | 
|  |   INC ;increment a number by 1
 |  | 
|  |   DEC ;decrement a number by 1
 |  | 
|  |   MUL ;multiply numbers together
 |  | 
|  |   OR ;boolean algebra function
 |  | 
|  |   AND ;boolean algebra function
 |  | 
|  |   NOT ;boolean algebra function
 |  | 
|  |   XOR ;boolean algebra function
 |  | 
|  |   JNZ ;jump to another section of code if a number is not zero (used for loops and ifs)
 |  | 
|  |   JZ ;jump to another section of code if a number is zero (used for loops and ifs)
 |  | 
|  |   JMP ;jump to another section of code (used for loops and ifs)
 |  | 
|  |   |  | 
|  |   1 LDA #12 ;loads the number 12 into the accumulator
 |  | 
|  |   2 MUL #2  ;multiplies the accumulator by 2 = 24
 |  | 
|  |   3 SUB #6  ;take 6 away from the accumulator = 18
 |  | 
|  |   4 JNZ 6   ;if the accumulator <> 0 then goto line 6
 |  | 
|  |   5 SUB #5  ;take 5 away from the accumulator (this line isn't executed!)
 |  | 
|  |   6 STO 34  ;saves the accumulator result (18) to the memory address 34
 |  | 
|  |   |  | 
|  |  Addressing Mode 	Symbol 	Example 	Description
 |  | 
|  |  Memory Location 		LOAD 15 	15 is treated as an address
 |  | 
|  |  Integer 	        # 	LOAD #15 	15 is treated as a number
 |  | 
|  |  Nothing 		        HALT 	        Some inst. dont need operands
 |  | 
|  |   |  | 
|  | == Truth Tables ==
 |  | 
|  |   |  | 
|  |  '''Logical Conjunction(AND)'''
 |  | 
|  |  p 	q 	p ∧ q
 |  | 
|  |  T 	T         T
 |  | 
|  |  T 	F 	  F
 |  | 
|  |  F 	T 	  F
 |  | 
|  |  F 	F 	  F
 |  | 
|  |   |  | 
|  |  '''Logical Disjunction(OR)'''
 |  | 
|  |  p 	q 	p ∨ q
 |  | 
|  |   T 	T 	  T |  | 
|  |  T 	F 	  T
 |  | 
|  |  F 	T 	  T
 |  | 
|  |  F 	F 	  F
 |  | 
|  |   |  | 
|  |  '''Logical NAND'''
 |  | 
|  |  p 	q 	p ↑ q
 |  | 
|  |  T 	T 	  F
 |  | 
|  |  T 	F 	  T
 |  | 
|  |  F 	T 	  T
 |  | 
|  |  F 	F 	  T
 |  | 
|  |   |  | 
|  |  '''Logical  NOR'''
 |  | 
|  |  p 	q 	p ↓ q
 |  | 
|  |  T 	T 	  F
 |  | 
|  |  T 	F 	  F
 |  | 
|  |  F 	T 	  F
 |  | 
|  |  F 	F 	  T
 |  | 
|  |   |  | 
|  | == Compression ==
 |  | 
|  |   |  | 
|  | Data compression ratio is defined as the ratio between the uncompressed size and compressed size:
 |  | 
|  |   |  | 
|  |     Compression Ratio = Uncompressed Size / Compressed Size
 |  | 
|  |   |  | 
|  | Thus a representation that compresses a 10MB file to 2MB has a compression ratio of 10/2 = 5, often notated as an explicit ratio, 5:1 (read "five" to "one"), or as an implicit ratio, 5/1. Note that this formulation applies equally for compression, where the uncompressed size is that of the original; and for decompression, where the uncompressed size is that of the reproduction.
 |  | 
|  |   |  | 
|  | Sometimes the space savings is given instead, which is defined as the reduction in size relative to the uncompressed size:
 |  | 
|  |   |  | 
|  |    Space Savings = 1 - Compressed Size / Uncompressed Size
 |  | 
|  | Thus a representation that compresses a 10MB file to 2MB would yield a space savings of 1 - 2/10 = 0.8, often notated as a percentage, 80%.
 |  | 
|  |   |  | 
|  | For signals of indefinite size, such as streaming audio and video, the compression ratio is defined in terms of uncompressed and compressed data rates instead of data sizes:
 |  | 
|  |   |  | 
|  |      Compression Ratio = Uncompressed Data Rate/ Compressed Data Rate
 |  | 
|  |   |  | 
|  | and instead of space savings, one speaks of data-rate savings, which is defined as the data-rate reduction relative to the uncompressed data rate:
 |  | 
|  |   |  | 
|  |   Data Rate Savings = 1 - Compressed Data Rate /Uncompressed Data Rate
 |  | 
|  | For example, uncompressed songs in CD format have a data rate of 16 bits/channel x 2 channels x 44.1 kHz ≅ 1.4 Mbit/s, whereas AAC files on an iPod are typically compressed to 128 kbit/s, yielding a compression ratio of 10.9, for a data-rate savings of 0.91, or 91%.
 |  | 
|  |   |  | 
|  | When the uncompressed data rate is known, the compression ratio can be inferred from the compressed data rate.
 |  | 
|  |   |  | 
|  | == Bits and Bytes ==
 |  | 
|  |   |  | 
|  |   	 bit 	 byte 	         
 |  | 
|  |  bit 	  1 	0.125 	      
 |  | 
|  |  byte 	  8 	  1
 |  | 
|  |   |  | 
|  |  Notes:The value of K (Kilo) during calculations can take two values 1024 or 1000, depends on which type of calculation you want to perform. 
 |  | 
|  |  Consider using K = 1024 when you are considering storage capacity whether in hard disk, DVDs, flash drives or other devices and storage media.
 |  | 
|  |  K = 1000 should be used when you are thinking of throughput, ie the speed at which information is transferred.
 |  | 
|  |   |  | 
|  |  Example: If your computer has 1 KB of disk space is says that he has 1024 B of space, now the throughput of your network card is 1 KB/s then 
 |  | 
|  |   it is said that it transmits data to 1000 B/s. |  | 
|  |   |  | 
|  |   Bit (b)
 |  | 
|  |   Byte (B)
 |  | 
|  |   Kilobit (Kb)
 |  | 
|  |   Kilobyte (KB)
 |  | 
|  |   Megabit (Mb)
 |  | 
|  |   Megabyte (MB)
 |  | 
|  |   Gigabit (Gb)
 |  | 
|  |   Gigabyte (GB)
 |  | 
|  |   |  | 
|  |     '''Binary Equivalents'''
 |  | 
|  |     1 Nybble (or nibble)  =  4 bits 
 |  | 
|  |     1 Byte  =  2 nybbles  =  8 bits 
 |  | 
|  |     1 Kilobyte (KB)  =  1024 bytes 
 |  | 
|  |     1 Megabyte (MB)  =  1024 kilobytes  =  1,048,576 bytes 
 |  | 
|  |     1 Gigabyte (GB)  =  1024 megabytes  =  1,073,741,824 bytes 
 |  | 
|  |   |  | 
|  |  '''Show addition of X and Y in binary'''
 |  | 
|  |  
 |  | 
|  |     0 + 0 = 0
 |  | 
|  |     0 + 1 = 1
 |  | 
|  |     1 + 0 = 1
 |  | 
|  |     1 + 1 = 0, and carry 1 to the next more significant bit 
 |  | 
|  |   |  | 
|  |  '''Show subtraction of X and Y in binary'''
 |  | 
|  |     0 -0 = 0
 |  | 
|  |     0 - 1 = 1, and borrow 1 from the next more significant bit
 |  | 
|  |     1 - 0 = 1
 |  | 
|  |     1 - 1 = 0 
 |  | 
|  |   |  | 
|  |  '''Show multiplication of X and Y in binary'''
 |  | 
|  |  
 |  | 
|  |     0 x 0 = 0
 |  | 
|  |     0 x 1 = 0
 |  | 
|  |     1 x 0 = 0
 |  | 
|  |     1 x 1 = 1, and no carry or borrow bits
 |  | 
|  | 
 |  | 
 | 
|  | == Git ==
 |  |   Primary Software: | 
|  |   |  | 
|  |     The object database contains four types of objects:
 |  | 
|  |   |  | 
|  |     A blob (binary large object) is the content of a file. Blobs have no file name, time stamps, or other metadata.
 |  | 
|  |     A tree object is the equivalent of a directory. It contains a list of file names, each with some type bits and the name of a blob 
 |  | 
|  |     or tree object that is that file, symbolic link, or directory's contents. This object describes a snapshot of the source tree.
 |  | 
|  |     A commit object links tree objects together into a history. It contains the name of a tree object (of the top-level source directory),
 |  | 
|  |     a time stamp, a log message, and the names of zero or more parent commit objects.
 |  | 
|  |     A tag object is a container that contains reference to another object and can hold additional meta-data related to another object. 
 |  | 
|  |     Most commonly, it is used to store a digital signature of a commit object corresponding to a particular release of the data being tracked by Git.
 |  | 
|  |   |  | 
|  |     '''heads'''
 |  | 
|  |     refers to an object locally.
 |  | 
|  |     '''remotes'''
 |  | 
|  |     refers to an object which exists in a remote repository.
 |  | 
|  |     '''stash'''
 |  | 
|  |     refers to an object not yet committed.
 |  | 
|  |     '''meta'''
 |  | 
|  |     e.g. a configuration in a bare repository, user rights. The refs/meta/config namespace was introduced resp gets 
 |  | 
|  |     used by Gerrit (software)[clarification needed][45]
 |  | 
|  |     '''tags'''
 |  | 
|  |     see above.
 |  | 
|  |   |  | 
|  | '''Common Usage'''
 |  | 
|  |   |  | 
|  |  '''create a new repository'''
 |  | 
|  |  create a new directory, open it and perform a
 |  | 
|  |  git init
 |  | 
|  |  to create a new git repository.
 |  | 
|  |   |  | 
|  |  '''checkout a repository'''
 |  | 
|  |  create a working copy of a local repository by running the command
 |  | 
|  |  git clone /path/to/repository
 |  | 
|  |  when using a remote server, your command will be
 |  | 
|  |  git clone username@host:/path/to/repository
 |  | 
|  |   |  | 
|  |  '''workflow'''
 |  | 
|  |  your local repository consists of three "trees" maintained by git. the first one is your Working Directory 
 |  | 
|  |  which holds the actual files. the second one is the Index which acts as a staging area and finally the HEAD 
 |  | 
|  |  which points to the last commit you've made. 
 |  | 
|  |   |  | 
|  |  '''add & commit'''
 |  | 
|  |  You can propose changes (add it to the Index) using
 |  | 
|  |  git add <filename>
 |  | 
|  |  git add *
 |  | 
|  |  This is the first step in the basic git workflow. To actually commit these changes use
 |  | 
|  |  ''git commit -m "Commit message"''
 |  | 
|  |  Now the file is committed to the HEAD, but not in your remote repository yet.
 |  | 
|  |   |  | 
|  |   '''pushing changes''' |  | 
|  |  Your changes are now in the HEAD of your local working copy. To send those changes to your 
 |  | 
|  |  remote repository, execute
 |  | 
|  |  ''git push origin master''
 |  | 
|  |  Change master to whatever branch you want to push your changes to.
 |  | 
|  |  If you have not cloned an existing repository and want to connect your repository to a remote 
 |  | 
|  |  server, you need to add it with
 |  | 
|  |  ''git remote add origin <server>''
 |  | 
|  |  Now you are able to push your changes to the selected remote server
 |  | 
|  |   |  | 
|  |  '''update & merge'''
 |  | 
|  |  to update your local repository to the newest commit, execute
 |  | 
|  |  ''git pull''
 |  | 
|  |  in your working directory to fetch and merge remote changes.
 |  | 
|  |  to merge another branch into your active branch (e.g. master), use
 |  | 
|  |  ''git merge <branch>''
 |  | 
|  |  in both cases git tries to auto-merge changes. Unfortunately, this is not always possible and results in conflicts. 
 |  | 
|  |  You are responsible to merge those conflicts manually by  editing the files shown by git. After changing, you need to mark them as merged with
 |  | 
|  |  ''git add <filename>''
 |  | 
|  |  before merging changes, you can also preview them by using
 |  | 
|  |  ''git diff <source_branch> <target_branch>''
 |  | 
|  |   |  | 
|  |  '''replace local changes'''
 |  | 
|  |  In case you did something wrong, which for sure never happens ;), you can replace local changes using the command
 |  | 
|  |  git checkout -- <filename>
 |  | 
|  |  this replaces the changes in your working tree with the last content in HEAD. Changes already added to the index, 
 |  | 
|  |  as well as new files, will be kept.
 |  | 
|  |  If you instead want to drop all your local changes and commits, fetch the latest history from the server and point 
 |  | 
|  |  your local master branch at it like this
 |  | 
|  |  git fetch origin
 |  | 
|  |  git reset --hard origin/master
 |  | 
|  |   |  | 
|  |  '''log'''
 |  | 
|  |  in its simplest form, you can study repository history using.. git log
 |  | 
|  |  You can add a lot of parameters to make the log look like what you want. To see only the commits of a certain author:
 |  | 
|  |  git log --author=bob
 |  | 
|  |  To see a very compressed log where each commit is one line:
 |  | 
|  |  git log --pretty=oneline
 |  | 
|  |  Or maybe you want to see an ASCII art tree of all the branches, decorated with the names of tags and branches:
 |  | 
|  |  git log --graph --oneline --decorate --all
 |  | 
|  |  See only which files have changed:
 |  | 
|  |  git log --name-status
 |  | 
|  |  These are just a few of the possible parameters you can use. For more, see git log --help
 |  | 
|  |   |  | 
|  |  '''tagging'''
 |  | 
|  |  it's recommended to create tags for software releases. this is a known concept, which also exists in SVN.
 |  | 
|  |  You can create a new tag named 1.0.0 by executing
 |  | 
|  |  git tag 1.0.0 1b2e1d63ff
 |  | 
|  |  the 1b2e1d63ff stands for the first 10 characters of the commit id you want to reference with your tag. 
 |  | 
|  |  You can get the commit id by looking at the...
 |  | 
|  |   |  | 
|  | == Decimal <--> Hexadecimal ==
 |  | 
|  |   |  | 
|  |  Hexadecimal	Decimal
 |  | 
|  |      0	          0
 |  | 
|  |      1	          1
 |  | 
|  |      2	          2
 |  | 
|  |      3	          3
 |  | 
|  |      4	          4
 |  | 
|  |      5	          5
 |  | 
|  |      6	          6
 |  | 
|  |      7	          7
 |  | 
|  |      8	          8
 |  | 
|  |      9	          9
 |  | 
|  |      A	          10
 |  | 
|  |      B	          11
 |  | 
|  |      C	          12
 |  | 
|  |      D	          13
 |  | 
|  |      E	          14
 |  | 
|  |      F	          15
 |  | 
|  |   |  | 
|  |   |  | 
|  | Radio station is streaming MP3 audio at 192kbps. How many 500GB harddisks are required in order to archive 8 years of shows?
 |  | 
|  |   |  | 
|  |   |  | 
|  | 192 kbps = 192 000 bps
 |  | 
|  | 1 536 000 Bps
 |  | 
|  |   |  | 
|  | 1500 Kb/s
 |  | 
|  | 1.46484375 MB/s
 |  | 
|  |   |  | 
|  |   |  | 
|  | 8 years = 2920 days = 70080 hours = 4204800 minutes = 252288000 seconds
 |  | 
|  |   |  | 
|  |   |  | 
|  | 172 228608 MB
 |  | 
|  | 16 8192 GB 
 |  | 
|  | 336.384 500GB harddrives
 |  | 
|  |   |  | 
|  | == Audio and Images ==
 |  | 
|  |   |  | 
|  |  '''Audio'''
 |  | 
|  |  In digital audio, 44,100 Hz (alternately represented as 44.1 kHz) is a common sampling frequency. 
 |  | 
|  |  Analog audio is recorded by sampling it 44,100 times per second, and then these samples are used 
 |  | 
|  |  to reconstruct the audio signal when playing it back.
 |  | 
|  |   |  | 
|  |  '''Images'''
 |  | 
|  |  '''PNG''' supports palette-based images (with palettes of 24-bit RGB or 32-bit RGBA colors), grayscale images (with or without alpha channel),
 |  | 
|  |  and full-color non-palette-based RGB[A] images (with or without alpha channel). PNG was designed for transferring images on the Internet,
 |  | 
|  |  not for professional-quality print graphics, and therefore does not support non-RGB color spaces such as CMYK.
 |  | 
|  |   |  | 
|  |  '''JPEG'''/JFIF supports a maximum image size of 65,535×65,535 pixels, hence up to 4 gigapixels (for an aspect ratio of 1:1).
 |  | 
|  |  JPEG is a commonly used method of lossy compression for digital images, particularly for those images 
 |  | 
|  |  produced by digital photography. The degree of  compression can be adjusted, allowing a selectable tradeoff between storage size 
 |  | 
|  |  and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality.
 |  | 
|  |   |  | 
|  | ----
 |  | 
|  |   |  | 
|  |  '''Compact Disc'''
 |  | 
|  |  Capacity 	Typically up to 700 MiB (up to 80 minutes audio)
 |  | 
|  |  Read mechanism 	780 nm wavelength (infrared and red edge) semiconductor laser, 1200 Kibit/s (1×)
 |  | 
|  |  Write mechanism 	1200 Kibit/s (1×)
 |  | 
|  |   |  | 
|  |  Sampling 4 bit audio (2^4) gives us only 16 values, a far cry from 16-bit audio's 65,536! sample rate. 
 |  | 
|  |  '''Sample rate''' refers to the number of samples or measurements taken each  second from a recording. 
 |  | 
|  |  The typical CD sample rate is 44.1kHz, or 44,100 samples per second.
 |  | 
|  |   |  | 
|  |  The '''bit rate''' is quantified using the bits per second unit bit/s, often in conjunction with an SI prefix such as "kilo" 
 |  | 
|  |  (1 kbit/s = 1000 bit/s), "mega" (1 Mbit/s = 1000 kbit/s), "giga" (1 Gbit/s = 1000 Mbit/s) or "tera" (1 Tbit/s = 1000 Gbit/s).
 |  | 
|  |  The non-standard abbreviation "bps" is often used to replace the standard symbol "bit/s", so that, for example, "1 Mbps" is
 |  | 
|  |  used to mean one million bits per second.
 |  | 
|  |  One byte per second (1 B/s) corresponds to 8 bit/s.
 |  | 
|  |   |  | 
|  |  The '''RGB565 color format''' is the same as the RGB555 color format, except that 6 bits are used for 
 |  | 
|  |  the green value instead of 5. Therefore, all 16 bits are in use. The  organization of the pixels 
 |  | 
|  |  in the image buffer is from left to right and bottom up.
 |  | 
|  |  '''RGB888''' --> 24-bit RGB (888)
 |  | 
|  |   |  | 
|  | == Statistics Lecture One, 02.01.16 ==
 |  | 
|  |  '''PrimaryMaterial:'''
 |  | 
|  |  '''Course Homepage:''' http://www.cs.ioc.ee/ITKStat
 |  | 
|  |  '''e-Book:'''           http://onlinestatbook.com/Online_Statistics_Education.pdf
 |  | 
|  | '''
 |  | 
|  |  '''Primary Software'''
 |  | 
|  |   '''R:''' https://www.r-project.org/ |  |   '''R:''' https://www.r-project.org/ | 
|  | 
 |  | 
 | 
|  |  '''Introduction to Statistics'''
 |  | == Python I703 == | 
|  |  '''Descriptive''' statistics are used for presenting, organizing and summarizing data. 
 |  | 
|  |  '''Inferential''' statistics are about drawing conclusions about a population based on data observed in a sample.
 |  | 
|  |   |  | 
|  |  '''Data Analysis Process'''
 |  | 
|  |  '''Data collection and preparation:''' Collect Data, prepare codebook, set up structure of data, enter data, screen data for errors
 |  | 
|  |  '''Exploration of data:''' Descriptive statistics, graphs
 |  | 
|  |  '''Analysis:''' Explore relationship between variables, compare groups
 |  | 
|  | 
 |  | 
 | 
|  | == Python Lecture and Practicum Notes ==
 |  | 
|  | 
 |  | 
 | 
|  | '''Lecture 1'''
 |  |      Get an idea what to do by next week. Ideas: | 
|  | ---------------
 |  |      '''1. Pyglet,pygame or kivy for a game or simulation:''' | 
|  |   |  | 
|  | Get an idea what to do by next week. Ideas: |  | 
|  |  // '''1. Pyglet,pygame or kivy for a game or simulation:'''
 |  | 
|  |       1.1. MP beat em' up |  |       1.1. MP beat em' up | 
|  |       1.2. Survival space sim, use webcam for dynamic view |  |       1.2. Survival space sim, use webcam for dynamic view | 
| Line 404: | Line 21: | 
|  |       http://learnpythonthehardway.org/ |  |       http://learnpythonthehardway.org/ | 
|  | 
 |  | 
 | 
|  |  // '''2. WebApp'''
 |  |      '''2. WebApp''' | 
|  |       2.1. Budget Management with a GUI |  |       2.1. Budget Management with a GUI | 
|  | 
 |  | 
 | 
|  |  // '''Notes:'''
 |  |     '''Notes:'''   | 
|  |      * Set up RPi web-server |  |      * Set up RPi web-server | 
|  |      * Use '''XMind''' to map the idea first |  |      * Use '''XMind''' to map the idea first | 
| Line 415: | Line 32: | 
|  |      * Check out Notepad++ |  |      * Check out Notepad++ | 
|  | 
 |  | 
 | 
|  | == Web App ProgrammingLecture and Practicum Notes == |  | == Web Application Programming I702 == | 
|  |   database: MySQL -- hosts data, indexed |  |     | 
|  |   php: Generates html, server side language |  |   '''node.js''' | 
|  |   Apache: reads php files and over excecution to PHP interpreter |  |  '''ngix''' | 
|  |   html:Structure and contents of the web page, (dom-tree) |  |   '''nchan''' | 
|  |  css:styling information
 |  |   | 
|  |  javascript:client side programming, interacts with html
 |  |   '''Useful links:''' | 
|  |   ubuntu:hosts the programs ( packetization, tcp segmentation ) |  |    http://enos.itcollege.ee/phpmyadmin/ | 
|  |  |    http://enos.itcollege.ee/~ksaareme | 
|  |  |   | 
|  |  |   '''W3C validation:''' https://validator.w3.org/ | 
|  |  |   | 
|  |  | == Node.js == | 
|  | 
 |  | 
 | 
|  |  HTTP requests
 |  | Stuff about node.js. | 
|  |  '''node.js-- php'''
 |  |   | 
|  |  '''ngix -- apache'''
 |  | == Operating Systems == | 
|  |  '''nchan'''
 |  |   | 
|  |  | Command line: | 
|  | 
 |  | 
 | 
|  |  http sockets,streaming push module
 |  |     '''Options modify the behavior of commands:''' | 
|  |  WAMP forWindows
 |  |         ls -a lists all contents of a directory, including hidden files and directories | 
|  |  |         ls -l lists all contents in long format | 
|  |  |         ls -t orders files and directories by the time they were last modified | 
|  |  |         Multiple options can be used together, like ls -alt | 
|  |  |     '''From the command line, you can also copy, move, and remove files and directories:''' | 
|  |  |         cp copies files | 
|  |  |         mv moves and renames files | 
|  |  |         rm removes files | 
|  |  |         rm -r removes directories | 
|  |  |     '''Wildcards are useful for selecting groups of files and directories''' | 
|  | 
 |  | 
 | 
|  |  http://enos.itcollege.ee/phpmyadmin/
 |  | 
|  |  PHP and APACHE is there
 |  | 
|  | 
 |  | 
 | 
|  |  http://enos.itcollege.ee/~ksaareme to see changes
 |  | 
|  | 
 |  | 
 | 
|  |  '''W3C validation'''https://validator.w3.org/
 |  |     '''Redirection reroutes standard input, standard output, and standard error.''' | 
|  | 
 |  | 
 | 
|  | == Node.js ==
 |  |     '''The common redirection commands are:''' | 
|  |  |         > redirects standard output of a command to a file, overwriting previous content. | 
|  |  |         >> redirects standard output of a command to a file, appending new content to old content. | 
|  |  |         < redirects standard input to a command. | 
|  |  |         | redirects standard output of a command to another command. | 
|  | 
 |  | 
 | 
|  | Stuff about node.js.
 |  |     '''A number of other commands are powerful when combined with redirection commands:''' | 
|  |  |         sort: sorts lines of text alphabetically. | 
|  |  |         uniq: filters duplicate, adjacent lines of text. | 
|  |  |         grep: searches for a text pattern and outputs it. | 
|  |  |         sed : searches for a text pattern, modifies it, and outputs it. |