======Part 1====== =====Land of the Lost===== ====Entry 1: January 26, 2012==== Began working on all three classes word definitions and some of the projects, such as the install of Ubuntu to a desktop system. * Learned a bit about aptitude and some uses for it. IE: sudo aptitude, aptitude update, aptitude upgrade. * Was useful in that we did not set up the correct path for our install from the server, it was using the generic one from the hosted site and we needed to change it. * Not particularly sure on the difference of what update and upgrade did, just that it was explained as that is normally what a system does when it looks for updates and upgrades to them. * Accomplishing all of the work between the three classes seems rather time consuming and somewhat repedative between some of the work required for them, such as the submitted files required etc. * svn add *.* where * is the file and the extension. * svn commit -m "*.*" ====Entry 2: February 4, 2012==== root | home | jdavis34 | ___________________________ | | | | | bin src data lab2 lab1 | ___________ | | | cprog unix submit ====Entry 3: February 28, 2012==== After a long extensive process I caught up on the 1 assignment I missed cause I was deathly ill over the weekend, and CSx04 which for some reason did not submit the first time I did it. Now I believe it is time to get working more on the Opus and try to see if I can find a work around for the Android tablet and certain keys not functioning correctly with remote log in for lab 46. Probably maybe going to work on a experiment as well. Spent some time playing with and tweak Vi editor so when coding it is more comfortable to use. jdavis34@lab46:~/src/cprog$ vim ~/.vimrc 1 syn on 2 set nu 3 set ruler 4 set title 5 set cul 6 hi CursorLine term=underline cterm=underline gui=underline 7 set insertmode WTB more cool things to do with VI ====Entry 4: February 29, 2012==== aptitude install cmake aptitude install build-essential aptitude install mysql aptitude install mysql-server cd /usr/src – to change the current directory to /usr/src directory wget http://download.berlios.de/pvpgn/pvpgn-1.8.5.tar.gz wget http://download.berlios.de/pvpgn/pvpgn-support-1.2.tar.gz tar xfz pvpgn-1.8.5.tar.gz tar xfz pvpgn-support-1.2.tar.gz to start /usr/local/sbin/bnetd To stop: sudo killall bnetd To restart: sudo killall -HUP bnetd To force quit: sudo killall -KILL bnetd =====Keywords===== {{page>cprogpart1&nofooter}} {{page>hpc0part1&nofooter}} {{page>unixpart1&nofooter}} =====Experiments===== ====Experiment "IF or not IF"==== ===Question=== What is the use of \n and to what effect does it have if in a simple program designed to print "hello world" if: 1. it exists. 2. it does not. ===Resources=== created a simple program that says "hello world" 1. #include void main() { if(printf("Hello World\n")) } 2. #include void main() { if(printf("Hello World")) } ===Hypothesis=== Based on what I know the function of /n is, to tell the program next line, I think it either will not compile, or it will not display "hello world" on its own line creating a new line after execution. State your rationale. ===Experiment=== As listed in resources I created 2 programs to test one with one without, and plan to run both and record the results. ===Data=== 1. lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$ 2. lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World!lab46:~/src$ ===Analysis=== Based on the data collected: * was your hypothesis correct? Yes and no, I was not sure if it would compile and it did, but as I suspected if it did, it would print the text without breaking to a new line. * was your hypothesis not applicable? yes * is there more going on than you originally thought? Not really due to this test was kinda simple, in understanding context of code and its importance to output. ===Conclusions=== Based on the data collected, It is obvious the use, and results of having /n in program syntax, where as if it does not exist what will happen. ====WSUS Server No Active directory==== ===Question=== Is It possible to have a domain-less, no active directory server OS that is capable of updating windows client machines, via client redirected to server. ===Resources=== Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment. ===Hypothesis=== Based on everything I have read and come accross this is a viable method of deployment and for particular scenarios more recommended. Though a little more complicated in deploying, the ease of use without a central server to have to log into is more applicable to smaller client based enviorments. State your rationale. ===Experiment=== Based on my findings, I plan to do the required aspects of fulfilling desired outcome. -Edit/create registry entries corresponding with directing windows to the server for updates rather than Microsoft. -Create a valid certificate, allowing for the client to validate itself to the servers SSL. ===Data=== Currently I am stuck at getting the actual client machine to stop looking for its updates via Microsoft. I have disabled, re-enabled, wuauclt.exe /detectnow. All over required aspects, apparently I missed something so further testing on this is required, but hopefully the desired outcome is true. ===Analysis=== Based on the data collected: * was your hypothesis correct? pending (UPDATE) So far it is working but the server/client relationship is denied, as I expected, I may need to create some sort of certificate for self certifying access. * was your hypothesis not applicable? * is there more going on than you originally thought? Yes and No, its hard to say, yes because its not working currently, and no because its probably a matter of something being over looked. * what shortcomings might there be in your experiment? Its not giving a desired result reguardless of information that says it will. * what shortcomings might there be in your data? Some data might lack content of something crucial. * NOTE One of the registry entries had spaces in the name which was causing it to return with a null entry upon installing. ===Conclusions=== Conclusion so far is that this is a valid means of creating a windows update server outside of using active directory, but there is still more work needed. For a continue up I have successfully got my WSUS server to work. It not only works in the domain environment, but i was able to successfully get clients non-existing in the domain to be redirected to the server for updating. The registry I had made was all correct except for one variable had spaces in the name, which was causing a problem. Once that was done all I had to do was figure out what was causing the actual verification errors. I can write and explain it so easily its somewhat embarrassing how much time it took to finish, all I had to do was create a self signing certificate on the server to deploy to end users. ====Experiment 3==== ===Question=== What happens when a "int" is multiplied by a "float" and the output is "float". ===Resources=== With what I have gathered and from some of the small projects I have yet to submit I have gathered enough to be able to write and perform this on my own. ===Hypothesis=== Based on what I have seen when playing with the two var types I either expect it to return the answer that it should be, or the answer will be effected by the fact the two vars are of not the same type. State your rationale. 1.5 x 2 = 3 1 x 3 = 3 this case 1.5 = float 2 = int and 3 = float or int, so it should work in that it has the ability to output a decimal number still. ===Experiment=== Going to set up a scenario as follows: #include float mult ( int x, int y ); main() { float x; int y; printf( "Please input two numbers to be multiplied: " ); scanf( "%f", &x ); scanf( "%d", &y ); printf( "The product of your two numbers is %f\n", mult( x, y ) ); getchar(); } float mult (float x, int y) { return x * y; } I keep having trouble when placing the code statements before and after this small section, and I can't quite see what is doing it, but experiment one is tied into this one when I do it. I don't think I have a unclosed code tag above? ===Data=== Well nothing of what I had expected happened. ===Analysis=== Based on the data collected: I had got an error of conflicting types for 'mult', and previous declaration of 'mult' was here. * was your hypothesis correct? No, I guess I have to get to understand variables more than I had thought. * was your hypothesis not applicable? It would not even compile. * is there more going on than you originally thought? Yes and no, I thought since it made logical sense 1.5x2 is 3 that it would be able to execute. ===Conclusions=== Learning new languages can be annoying when trying to overcome the way we have already been wired to learn.