Thursday, March 31, 2011

The Difference Between Grad and Undergrad

After defending my thesis and reflecting on my past years as a graduate student, I was thinking about some of the big differences between being a graduate student and being an undergrad. Most undergraduates seem to see graduate students as extremely dedicated, hard workers with no time for anything else than research. This is most often not the case at all. The big differences between undergrads and grad are social opportunities, uncertainty, motivation and independence.

As a graduate student, you are essentially a full time student your first year or two, taking a full load of classes. However, unlike an undergrad who typically always has a least one class outside of their major, the graduate students' classes are very focused on their field. This also means that they tend to have the same people in every class, not providing much opportunity to have a broad social base. The undergraduate typically, however, will have classes from at least a couple of different fields. This leads to a much larger social base I think. Undergraduates seem to always have way more friends from many more different areas.

Every finals week, I look at all of the undergrads stressing about their exams, and I think to myself that I am glad that time for me is over. However, graduate students working on Ph.D.'s, in particular, face perhaps a tougher issue - uncertainty. Once you finish classes and start research, you typically don't have classes anymore which means no exams and for the most part, no real deadlines. However, I have spent months working on things which have no guarantee of producing anything interesting. This huge uncertainty with graduate research leads to another big problem - motivation.

Most undergraduates are not completing their assignments the moment they get them or are always excited about their work, but the deadlines inherent with undergraduate classwork force them (at least in most cases) to at least do something in some kind of timely manner. The lack of deadlines in the research phase of graduate school means that, for the most part, whatever you get done, you have to set the timeline yourself. In many cases, the timeline is much, much longer than it could have been. Note that the lack of deadlines in graduate school is not an inherent problem with the advisor or the system. By definition, the research a graduate student does is supposed to be new and original. It is hard to put a deadline on doing something that is totally new and may or may not have a solution or be interesting.

The uncertainty and potential motivation issues with graduate school are largely due to independence. No longer do you have a well defined schedule of homework and exams. As a graduate student, you are mostly on your own. For the most part, no one will care if you don't really do much work for a week or even a month, although naturally, this depends on your research advisor. Some people thrive in this, but from my personal experience and conversations with other graduate students, this is a very tough place to be. I used to say that in physics, for example, our classes take us to about 1950, but we are expected to do 21st century research right after that. I can imagine this is very similar in other fields as well. We are essentially tossed in without a life preserver.

I can say that the average graduate student I talk to feels their work is mostly useless, their contributions to their field are minimal, and their confidence in their work is shaky. He or she spends a lot of time surfing the web instead of working, can recall many times where they did not do a single thing associated with research for days or even weeks, and often thinks about quitting their program.  I have never met a graduate student who works as long or as hard as a typical undergraduate. The undergraduate, however, knows exactly what they need to do to graduate, where the typical graduate student has no idea. Being a graduate student is certainly not all bad. It's just very different from being an undergrad.

Saturday, February 12, 2011

Comparison of Windows Backup Software

After switching back to Windows, one of my biggest concerns was how to most efficiently back up my data. In Linux, I used the utility, "rsync", which incrementally syncs the source files to the destination. There were various options for it to have a high level of control over the backup. It was also very fast.

My default method for backing up files in Windows was to continue using rsync, but now in Cygwin, a Linux-like environment for Windows. It was usable, but there were various issues with Windows permissions which would cause certain files to not be copied, and the program does not seem to be very optimized for NTFS file systems. It is pretty slow. Now, I also do a backup of my Windows files to a Linux server, and for this, rsync using Cygwin is the only way I would know to do it, but for my local NTFS to NTFS backup, this method was getting old.

My main desire for a back-up program was to do essentially a one-way sync to the destination. I want to mirror a copy of my files on my working drive to the back up. I want it to be very fast, and I want it to be able to figure out if a file is missing on the backup drive and copy it back. I do not care about staged backups because I really just want to protect myself from drive failure. Things that I want to remember changes for will be staged using things like Git or other version control software. I do not really need version control for my filesystem overall. It turns out there are some pretty nice, free, backup tools for Windows. The four I used were Comodo Backup, Cobian Backup, GFI Backup, and EZBack-it-up.

Note: The "source" drive here refers to the working directory containing the files you want to backup. The "destination" or "backup" drive refers to the one that you want to backup to.

Comodo Backup - 1/5
I found this program to be way too big and complicated. It has a much more lengthy install than the others and has a ton of so-called features which I was not interested in. It was not immediately obvious to me how to set up a backup like I wanted so I quickly dropped it to look at other programs.

Cobian Backup - 2/5
I really like the interface of this one. It was very simple and intuitive to use. You could either do a full backup which would recopy all of the files or an incremental backup which would only copy over changed files. Clearly, incremental backup is the way to go. However, this program had a fatal flaw. It could only track changes on the source drive. That means, if for some reason, you manually deleted a file on the backup drive, but it was still on your source, the incremental backup would not recopy the file. Chances are, you won't be directly manipulating files on the backup drive, but this to me left too many chances open for incomplete backups. Also, doing a full copy of dozens of GB of data simply would not be an option and would take way too long.

GFI Backup - 4/5
This program was pretty good. It has a backup mode and a sync mode. However, the sync is two-way so that means if the backup drive is changed, it will update those changes to your source drive. Again, in principle, you shouldn't be manipulating files on your backup drive, but if you did, you could find yourself losing files on your source drive. It basically just synced them together with the most recent changes to either one. There was no option to make this just a one-way sync. Fail.

The backup option did exactly what I want. It would directly sync all of the files of the source drive to the destination, with the option to mirror them by deleting extra files on the destination or adding files that were manually deleted to the destination. However, it was slow. It took about 25 minutes for it compare all the files on both drives and sync them up. This was about 100 GB of data. This was a usable solution and probably similarly slow to the Cygwin rsync option, but I felt there had to be a better option. It turns out there is.

EZBack-it-up - 5/5
This is a program which was written a while ago and has not been updated since 2004, but it does EXACTLY what I wanted it to do and does it blazingly fast. It will quickly find any changes between the drive and do a one-way sync of the source to the destination. When I say it is fast, I mean FAST. For 100 GB, it will check the two drives against each other within about 10 seconds. If one letter is changed in a text file deep in your file system, it will update it on the destination. I was absolutely amazed with this program.

It basically seems to barely read the drives, and I am assuming it is somehow directly accessing the journal associated with NTFS file systems and compares them and updates the destination. All of the other programs seemed to read every single file on both drives to compare them. This backup program almost seems too good to be true, but so far, it seems to really work perfectly. I will probably check it over then next few months to make sure it is capturing every change, but I feel like I can probably use it with confidence.

It is very easy to set up the backup, and while it does have some more "advanced" features like setting up a backup schedule, it is a very simple and lightweight program. The only problem with it is that its log files don't work. This is due to permission on the places where it stores the log files. The program just doesn't have permissions to write them there. I tried changing the permissions but could not get the program to write log files unless I ran the program as an administrator. I do not want to this however, because then the ownership of the files is messed up. If anyone knows a fix for this, please let me know!

In conclusion, I had simple and specific needs for backup software, and I found a clear winner. EZBack-it-up really impressed me and is totally free. The developer has plans to update it at some point, but other than the logging issue, the program is pretty much perfect for my needs.

Sunday, January 30, 2011

Backpack Review: Kata DR-466i and Kata DR-467i

For my future travels, I want to have access to the latest digital technology, which means for me having a powerful laptop and a DSLR camera with a couple of lenses. Due to my desire to carry a DSLR and laptop, I have decided it is probably best for me to have two carry-on pieces of luggage: one for clothes, shoes, toiletries, etc and one for my electronics that can be used as a daypack.

For my electronics bag/daypack, I wanted to get one which would allow me to carry a small amount of semi-pro camera gear, a laptop, and other things such as a raincoat, guidebooks, snacks, water, etc. I considered several bags such as the Tamrac Adventure 9, Lowepro Fastpack 250, Naneu Pro Alpha-L, and the Kata 466i and 467i packs. I end up deciding on either the Kata 466i or 467i. So I decided to order both to try them out. Check it out:


I wanted to get a small enough pack that would feel comfortable enough to use on a daily basis but also big enough to hold a good amount of gear. In the end, the 466i was just too small and the 467i was just about perfect. I wore the 467i on a 15-mile hike yesterday with my camera and a bunch of other supplies, and it was very comfortable. Here are some pictures to give you an idea of how big they 466i and 467i are on my back (click on them for bigger sizes):

Kata 466i
Kata 467i
The Kata 466i is only a tiny bit smaller overall on my back and the bigger size of the 467i actually makes it a bit more comfortable for me. The size of the top compartment was an important consideration for me too. Here are some pictures to give you a better idea of the top compartment (click on them for bigger sizes):

Kata 466i
Kata 467i
As you can see, the upper compartment of the 467i is significantly larger than the 466i. Overall, I feel like the 467i is a much better designed bag with more optimal use of space.

Buy the Kata 467i and 466i here and here.