RSS FeedCompacting an Outlook PST file
Migrating to a new computer recently, I observed that my Outlook PST file (sitting in C:\Users\Amrinder\AppData\Local\Microsoft\Outlook folder) was about 4 GB. While not necessarily a problem, the folder size of Personal Folders itself was only showing up to be about 2.4 GB. (You can right click on Personal Folders -> Properties for Personal Folders -> Folder Size).
So, this begs the question, if Personal Folders is 2.4 GB, why is the PST file 4 GB? The answer to that lies in the structure of the PST file. Essentially, PST is a format that can be very easily loaded, very easily saved and very easily searched (gigabytes of information that we load when we start up Outlook, and is searchable in about 5 seconds). As the students and practitioners of data structures and algorithms will no doubt note, this requires that data files be indexed on many different columns, and then those index files stored, along with the data files. Further, whenever index files are created, they contain pointers back to data files themselves, and then when the data files are changed (for example, an email deleted, etc), data file cannot be simply modified without modifying those index files as well. So, that leads to two choices: every time you delete an email (or any element), you reprocess your index files. This would simply lead to a very non-responsive program. Other option is to let some of the changes go pending, and then run this maintenance once in a while, in which you shrink the data files, reclaim the deleted blocks and reindex the files.
Interestingly, you can run a small test for yourself. First, note the size of Personal Folders and the size of the PST file. Then, send a 10 MB file as an attachment to someone, and note your Folder size and the size of the PST file. Then, delete the email from Sent Items and check the folder size and the size of the PST file again. You will likely observe that while the size of the Personal Folders went from x to x+10 to x, the PST file only went from y to y+10+delta, and didn’t really go down to y after you deleted the email. So, read on.
This aspect of dirty records is not limited to Outlook only. Relational database management systems (such as Oracle) essentially do the same – they let delete records run without index recomputations, and then recompute the indexes (and shrink the data files) in a periodic fashion. In Oracle, you can trigger off this “data cleansing/recomputation” manually by using the analyze table queries. In Outlook too, you can do this by: Personal Folders -> Properties for Personal Folders -> Advanced -> Compact Now.
[Now, if you continue your test, you may observe that the PST file does go back after the file deletion and data compaction.]
One thing that I did observe, that even after doing the data compaction (really, there is such a verb), the file did not reach the same size as the Personal Folders was suggesting, but after shutting down Outlook and restarting it, and running data compaction one more time, it got to about 20% of the folder size.
TODOIST (or not to do ist)
I really wanted to move my task management off of Outlook and into the cloud. Looked far and wide for all online task management programs – and have found absolutely nothing that comes close to matching Outlook’s task management. Earlier, in this post, when I found 2 of the non
-free ones, I was a bit optimistic that one of them might have some features (after all they are not free!). But I came out fairly disappointed.
Disgusting. Makes you want to go out and just create your own (but I am not going to do that).
Ultimately the cloud will win (Todoist and the curse of the free)
My hard drive is whirring with the impending screeching of the fatalistic fatal crash, and that makes me remind one more time that in a couple of years from now, I absolutely won’t give my slightest toenail’s hoot to it. Whether it will be ChromeOS, or something else, my sense is that enough things will be on the cloud by then, that the pain will be significantly lesser. One of my 2010 resolutions is to continue to move some of the things onto the cloud. My current goal within that mega goal is to move my task management to Cloud.

Currently, I use Outlook for task management. (MS haters have left the blog at this point.
). Outlook is one of the best tools for task management. The options in Outlook are absolutely brilliant and very comprehensive. Sometimes people give an erroneous description of the 80-20 rule that 80% of the people only use 20% of the features, or only 10% of the people use the 90% “advanced” features, blah blah. Somehow, no one seems to agree on what the “top 20%” features are, or what are the 90% advanced features. In case of task management, the features are very straight forward, most of the people use most of the features – and some use ALL the features, and still ask for more. For example, I love (and use) the “second Tuesday of every month” , “generate new task x days after the completion of the previous task” options. Similarly task assignment, status report etc are all necessary features from my perspective. Anything else, and I might as well use paper.
So, the question arises – how to move task management into Cloud. Now, iGoogle has a bunch of task management widgets – such as Google’s official “to do” list and a few other options. Some of them are students’ summer projects. Some of them are students’ summer projects that have not been finished. All of them are free. (Bless the soul of open source. Even when it doesn’t work.) Then, there are two programs that are worth mentioning. First is goosync, and second is todoist. These two are not free, but they do work. Goosync’s strength is they synchronization piece. That explains the “sync” portion of the name. But, it is not that comprehensive – that perhaps explains the “goo” portion of the name. Goosync costs about 31$/yr (19.95 GBP). Todoist premium is about 60$/year. (Suddenly my 200$ Outlook that lasts about 3 years considering the MS refresh cycle stops sounding that expensive – but I digress from my cloud obsession).
I am still going to play with these two options for some time, and see which, if any, sticks. Another option is to see if MS offers a cloud option for tasks (something that doesn’t require an enterprise server.)
Apps
