Wednesday, October 31, 2007

Still learning my way around Unix

So I've started to consider myself a fairly competent Unix / Linux user, only to continue to realize how little I know. It seems like that is always the case for me when it comes to computers, the more I've learned about computers in my various C.S classes, experience in programming jobs, and  tech news articles, the more I realize just how little I know. I want to know it all and I want to really really understand it.  I've been wanting to figure out a way to backup my data from my macbook to my tux machine (yes... I know Time Machine exists) but that isn't really what I need. So I started learning python and perl, hoping that would help me figure out how to traverse files and such. And yes it did!, yesterday night I spent several hours writing code that connects to a server via. ftp and begins to compare files. Well I then discover something called "rsync" hmm a preexisting way to handle backup processes oh wait, and it doesn't even use ftp. Rsync is incredible, I suspect Time Machine might be using it under the hood, anyway after figuring out how to use rsync I was like "great, but I really wish there was a way to automate this process like schedule backups daily or something..." and so I discovered cron. As soon as I started trying to add lines to cronedit, I was presented with a new problem... something called vi. Now that I have discovered what vi is, I hate it!! Pico  or Nano or whatever are so much better and make so much more sense for editing documents. I really do not see the advantages of vi. So within the course of a day, I have discovered: rsync, cron, vi, how to change default editor, ftp by default is a crappy way to transmit data, and python. But to be honest I really haven't learned that much, I have no idea how rsync works at the code level, nor cron, nor really ftp (well actually I'm pretty sure I know more or less whats going on with ftp at the code level) . Anyway although I think myself a relatively strong coder, I really don't know very much outside of that, and am seeking anyway I can to become a more knowledgeable, efficient, and useful computer scientist.  That is my goal in life. 

No comments: