User Tools

Site Tools


opus:spring2013:asutclif:journal

Journal

Entry 1 Jan 24, 2013

The past two days, I have learned more about computer programming than I have for the previous years of my life. I am sure I still know next to nothing, but the basics are starting to come together. Just so I can keep things straight, more than anything else, I a going to document what I have done, not only for this class, but for all three Computer Science courses I am taking this term. I now have a LAb46 account and am able to attach to “Screen” and chat with my fellow students and scholars in the Computer Science Department. I did this for Unix/Linux fundamentals, but I am sure this will be useful for Computer Essentials (CSCS 1200) and Structured and Object Oriented Problem Solving (CSCS 1240). Thus far it has been difficult to keep these classes straight, because all three seem to overlap a great deal. I will have to work at it.For this class I have begun working on the Opus (obviously), I have signed into Lab46, I am halfway through the Unix Mage book, and I believe I have provided my email (I have I remember I got a confirmation email). I still need to get a Mercurial repository for not only this class, but also for Computer Essentials. Data management must be one of the most important skills to learn when working with computers. It's interesting, you always imagine that you would be going straight into developing primitive physics systems for NES esque games, but really that has to be just a very small amount of all programming. I have learned quite a bit thus far, as I've already said. In the notebook I purchased from Walmart yesterday there must be at least fifty commands, if not more. These include the very basic, but important commands, LS, CD, MKDIR, CD .., CAT, LESS, MORE, and so on. But there are so many commands its daunting to think at some point, I should know all of these fairly well. Commands like -R, -F, cd /, history, and so forth are harder to remember, because navigating the basics of UNIX does not require that they are used that much. However, not all computer science knowledge is a list of commands. I have learned about file systems, this is how you stop your computer from flooding, permissions and how to change them, the home system, the use for Bin, DEv, Home, Library, and many more, and perhaps more important than any of these, I am starting to put together a larger general picture of what computer programmers actually do. That being said, my big picture probably isn't all that accurate. But there's time. Today I am going to try and make sure none of the numerous CS assignments I have.

Entry 2 Feb 4, 2013

For the past two weeks I have spent quite a bit of time just trying to brush up on the most basic parts of unix and Linux. With so many resources it is a little bit overwhelming. I feel like it's going to be difficult to shore up my knowledge. I finished the Unix Mage books and began moving on to the various resources that you have provided for us. I realized that while there is a lot of overlap in the fundamentals,there is so much that I did not know after reading one beginner book, that I felt like I was reading about a completely different subject than that detailed in “Unix Mage”. This has changed my perspective on how important Unix is and what Unix is. Unix is primarily memory management. And memory management is a learning process that can probably be fostered throughout my career and learning in computer science. More than anything else I have tried to cull together the information I have taken from various Unix resources and understand how Unix functions within programming and why we use it. My knowledge is incomplete, but I know, every time I boot up a command shell, look through directories, access files, and switch permissions, I am involved in the tip of the iceberg that is Unix. Before I took this class, I had no idea about commands, where they might be located, what files controlled how hardware reacted with the software on my computer, or the basic setup of the OS on my varioius PC's (I didn't even know what an OS was), but with a Unix shell and a few simple commands I have looked at every single one of the most general categories organizing the data stored on my computer. I also, now, have a few basic tenets that some up the elegance of Unix. Everything is a file. Small is beautiful. Do one thing, and do that one thing extremely well. A lot of what I just said may have been convoluted or confusing, but it's similar to what's going on in my brain trying to organize the knowledge of this course into nice neat little packets of memory.

Entry 3 Feb 12, 2013

It's been two long since I have posted on here. But, I've been busy. I got into the the archive exercise and the exercise where we are required to unzip compressed material, and it seems like the tiniest thing can screw you up. Man pages aren't particularly useful either. Looking up zip or other types of compressed files usually leads to pages and pages of options and subtleties involved with these properties that it is often overwhelming. Wikipedia is a better source for help, much better. The incantations that I ended up using to extract the information from compressed files, ended up being things that one could not easily understand without the use of three sources. Thankfully, other areas of this course seem to be pretty simple. The idea of permissions is really appealing as long as you under stand 4 bit binary (octals). A base 2 system of counting isn't particularly difficult to understand. As long as you realize that 1 and 0 work as on and off basically (I'm sure computer scientists would scream at me for some of my terminology) then applying permissions to user, group, and world, is as simple as adding. On another note (onto the next unix task) I gather programmers to be a cult. Looking at their work from the outside, you find their methods very tedious and convoluted. Not everything makes sense, and when it does make sense, it really doesn't make sense. So… what is the deal with naming. Unix works in such a way that people to save a file with a bunch of spaces in it, you might be creating some very serious problems for yourself. Why is this? Unix tends to recognize the names in a file as separate files because of the spaces. So programmers end up naming things in such a way that it can all be one word, mostly using capital letters and underscores. Examples: Why_Must_I_Write_Files_This_WAy_IT's_Tedious_and_Annoying.text. And while the rest of the non-programming wold may cringe at this stupid and difficult to read file, programmers congratulate each other for finally being able to enjoy tedious and annoying cult life. I find the easiest way to look at files with strange spaces and characters is just to put quotations marks around the whole thing. So the file Look at me.text in a command line, if I wanted to print its contents out would be $cat “Look at me.text”. A file like compress this file.data would, you guessed it, get quotation marks around it, along with a command such as cat before it. The wildcard (*) symbol makes less sense to me. I don't understand why someone just wouldn't use quotation marks for everything. To be continued

Entry 4 March, 17,2013

Well, it has been a long time since I have posted on here. Mostly, that has been because I am very busy learning, but this should be part of my learning. Documentation is important. This journal entry I will list a bunch of the various things I have learned about Unix over the past few weeks. Archives are efficient ways of storing data. They use compression. Example: zip unzip: list, test and extract compressed files in a zip archive DOS is not the same thing as Unix X WIndow- basic of all GUI's one might encounter x-10 first popular x window to release x-11: currently used version Xwindow bridges the gap between the window manager and hardware Tab Window Manager: this has been a fairly popular window manager Desktop came later: (didn't know this) very logical GUI environment which sits on the windows manager. MWM and OLWM competed to be unix window manager king of the hill

Entry 5 March 18, 2013

Kool Desktop Environment (KDE) ,Gnome Improved on KDE Metastity is Gnome's window manager, Kwm is the manager for KDE, Total cost of ownership effects the development of commercial software, large companies tend to use commercial software, CLI = command line Different modes of Linux are called runtime levels of more simply, runlevels, Linux runlevels 3: text based login 5: default GUI, runlevel 1 is rarely used, Alt-4 closes a window, Runlevel 1 is rarely used, the terminals we use are emulators, unix is based on the idea of using terminals to access a host computer,

opus/spring2013/asutclif/journal.txt · Last modified: 2013/03/18 19:31 by asutclif