======Part 3======
=====Entries=====
====November 1, 2011====
Today in UNIX/Linux class we pretty much played with the video wall and being able to display objects and commands on other peoples monitors. First we had to find which server they were on and then we had to find out which computer they were at. This was generrally accomplished with the **ssh** command. After we found they're computer it was fun just to display random things on their monitor. What i thought was cool was that we display the object on the other persons computer but the whole process is still being performed by the person who is performing the action.
====November 3, 2011====
Today we worked on a lot on **sed** command implications. We took an html code and we were able to find certain lines and things within the code by using the **sed** command. The entire code was the course catalog for CCC. What we did was we typed in certain arrangment of characters and within those characters we could decide which ones we wanted to see first. It was easy because we just typed in a whole mix of things that were generalized to what we wanted to see and the computer just filled in the blanks for us and found out what we wanted to see.
====November 8, 2011====
Today in UNIX/Linux class we worked on the class finder from last class and worked on some more shell scripting shtuff.
====Nov3mber 17, 2011 ====
Today i helped out a classmate for one of his projects that wasn't part of the UNIX/Linux course. It was pretty tricky because i had to use the file organizer. I had to add a lot of things to the file organizer to get rid of junk he didnt need and order the rest of the words into a way that he wanted.
=====unix Topics=====
====Killing A Process====
Is what happens when you wipe a process from existence or you just stop the action.
A favorite one is **kill -9**, which is basically the equivalent of an atomic bomb dropping.
lab46:~$ kill -9
====Job Control====
Every command you give is a job that is executed. A job can be suspended, placed in the background, moved back to the foreground or terminated.
====Backgrounding A Process====
A background process executes independently of the shell, leaving the terminal free for other work. To run a process in the background, include an & (an ampersand) at the end of the command you use to run the job.
lab46:~$ bg
====Foregrounding A Process====
The foreground process is the program that the user is interacting with at the present time
In order to foreground a process do this:
lab46:~$ fg
====Signals====
Signals represent a very limited form of interprocess communication. They are easy to use (hard to use well) but they communicate very little information. In addition the sender (if it is a process) and the receiver must belong to the same user id, or the sender must be the superuser. Signals are sent explicitly to a process from another process using the kill function.
====Multitasking====
The ability to execute more than one task at the same time, a task being a program.
====Compiler====
A compiler is a computer program (or set of programs) that transforms source code written in a programming language into another computer language.
====Object Code====
Code produced by a compiler or assembler.
====C====
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. Although C was designed for implementing system software, it is also widely used for developing portable application software.
====Assembly Language====
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture.
====Filtering====
A filter is a program that gets most of its data from its standard input (the main input stream) and writes its main results to its standard output (the main output stream). Unix filters are often used as elements of pipelines.
====Linker====
A computer program that takes one or more objects generated by a compiler and combines them into a single executable program
=====unix Objective=====
====Objective====
State the course objective; define what that objective entails.
===Method===
State the method you will use for measuring successful academic/intellectual achievement of this objective.
===Measurement===
Follow your method and obtain a measurement. Document the results here.
===Analysis===
Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.
* How did you do?
* Room for improvement?
* Could the measurement process be enhanced to be more effective?
* Do you think this enhancement would be efficient to employ?
* Could the course objective be altered to be more applicable? How would you alter it?
=====Experiments=====
====Experiment 1====
===Question===
Can you **gunzip** a regular **zip** file
===Resources===
None.
===Hypothesis===
I hypothesize that gunzipping a zip file will not bode well.
===Experiment===
I am just going to wing it and see if it works.
===Data===
lab46:~$ gunzip omegafile.zip
gzip: omegafile.zip: unknown suffix -- ignored
===Analysis===
Based on the data collected:
* was your hypothesis correct? Nope
* was your hypothesis not applicable? Yes, it was not applicable
* is there more going on than you originally thought? (shortcomings in hypothesis) I don't think so.
* what shortcomings might there be in your experiment?I am not sure
* what shortcomings might there be in your data? I am not sure
===Conclusions===
I discovered that you can't really mix and match. You have to unzip zip files and gunzip gzip files.
====Experiment 2====
===Question===
Is it possible to block other users from displaying things on my screen?
===Resources===
My resources include but are not limited to: Matt Haas
===Hypothesis===
I hypothesize that the command **xhost** will effectively carry out this action
===Experiment===
I am going to type the command and have a friend try to penetrate my wall of solitude.
===Data===
My screen:
lab46:~$ xhost -
access control enabled, only authorized clients can connect
Other person's screen:
gnu:~$ export DISPLAY=flake03:4
gnu:~$ xeyes
No protocol specified
Error: Can't open display: flake03:4
===Analysis===
Based on the data collected:
* was your hypothesis correct? Yes
* was your hypothesis not applicable? No
* is there more going on than you originally thought? It said that only 'authorized' clients could connect which means I could be able to pick and choose who I want to connect to my client
* what shortcomings might there be in your experiment? none that i have noticed
* what shortcomings might there be in your data? none that i have noticed
===Conclusions===
In conclusion you can block people from displaying images or files onto your monitor. You can also block specific or entire groups of people as well.
====Retest====
If you're doing an experiment instead of a retest, delete this section.
If you've opted to test the experiment of someone else, delete the experiment section and steps above; perform the following steps:
===State Experiment===
Whose existing experiment are you going to retest? Prove the URL, note the author, and restate their question.
===Resources===
Evaluate their resources and commentary. Answer the following questions:
* Do you feel the given resources are adequate in providing sufficient background information?
* Are there additional resources you've found that you can add to the resources list?
* Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
* If you find a deviation in opinion, state why you think this might exist.
===Hypothesis===
State their experiment's hypothesis. Answer the following questions:
* Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
* What improvements could you make to their hypothesis, if any?
===Experiment===
Follow the steps given to recreate the original experiment. Answer the following questions:
* Are the instructions correct in successfully achieving the results?
* Is there room for improvement in the experiment instructions/description? What suggestions would you make?
* Would you make any alterations to the structure of the experiment to yield better results? What, and why?
===Data===
Publish the data you have gained from your performing of the experiment here.
===Analysis===
Answer the following:
* Does the data seem in-line with the published data from the original author?
* Can you explain any deviations?
* How about any sources of error?
* Is the stated hypothesis adequate?
===Conclusions===
Answer the following:
* What conclusions can you make based on performing the experiment?
* Do you feel the experiment was adequate in obtaining a further understanding of a concept?
* Does the original author appear to have gotten some value out of performing the experiment?
* Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).