End of the Google Summer of Code

The Google Summer of Code 2008 coding phase ended a week ago, and final evaluations are currently on.

My GSoC project was about integrating Thunderbird with Windows Search, so that people can search for emails on Windows as conveniently and quickly as they search for documents and other files.
What’s been done?How much of what I initially set out to do has been completed?

The sheer pain of platform-specific code

So I submitted a patch to bug 436880, with some innocuous-looking tests. There were a couple of fixes needed to make the test work (and in general), but nothing major. All the tests passed on my Windows build like a charm.

All was well, until Standard8 tried out the test on his Mac and found that it failed with:

###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->()

The sheer pain of platform-specific code

So I submitted a patch to bug 436880, with some innocuous-looking tests. There were a couple of fixes needed to make the test work (and in general), but nothing major. All the tests passed on my Windows build like a charm.

All was well, until Standard8 tried out the test on his Mac and found that it failed with:

###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->()

The sheer pain of platform-specific code

So I submitted a patch to bug 436880, with some innocuous-looking tests. There were a couple of fixes needed to make the test work (and in general), but nothing major. All the tests passed on my Windows build like a charm.

All was well, until Standard8 tried out the test on his Mac and found that it failed with:

###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->()

So I'm 19 years old now.

What’s changed in the past year?

  1. I finally got out of school and into IIT. What a refreshing change from the monotony of school. (It quickly wore out though.)
    It’s a relief to go from 7 hours a day (which got extended to 10 by class 12), 6 days a week to 4-5 hours a day, 5 days a week. However, the coursework is stepped up a level, which sort of cancels this out.
    It’s also my first time living in a hostel. I was overprepared for the change, so I didn’t notice it too much :) It’s a lot of fun, though you learn to respect home-cooked food.
  2. I’ve got a new laptop, a Dell Inspiron 1520. My last computer is now seven years old, and the change was desperately needed. Compiling was slow as molasses on the desktop, and the only games that worked were emulated ones (SNES hooray). Dad’s using my old computer now; he has few needs apart from email and word processing.
  3. (Apologies for the Wikipedia link spam below)

So I'm 19 years old now.

What’s changed in the past year?

  1. I finally got out of school and into IIT. What a refreshing change from the monotony of school. (It quickly wore out though.)
    It’s a relief to go from 7 hours a day (which got extended to 10 by class 12), 6 days a week to 4-5 hours a day, 5 days a week. However, the coursework is stepped up a level, which sort of cancels this out.
    It’s also my first time living in a hostel. I was overprepared for the change, so I didn’t notice it too much :) It’s a lot of fun, though you learn to respect home-cooked food.
  2. I’ve got a new laptop, a Dell Inspiron 1520. My last computer is now seven years old, and the change was desperately needed. Compiling was slow as molasses on the desktop, and the only games that worked were emulated ones (SNES hooray). Dad’s using my old computer now; he has few needs apart from email and word processing.
  3. (Apologies for the Wikipedia link spam below)

Update, patches accepted

With two more patches — one to enable support for my .wdseml file extension, the other to remove an old array API from a part of the code base — finally accepted, it’s time to focus on IMAP.

The main problem is that itemDeleted notifications aren’t firing at all for messages. They have to fire at two places at least:

  1. When an item, that was previously there, has mysteriously disappeared.
  2. When an item is moved from one folder to another — this is because the destination folder, when opened, fires an itemAdded notification. itemMoveCopyCompleted can’t really work, as you really can’t stop the dest folder from doing an itemAdded. (Hmm, it’s possible, though: callers can simply ignore the itemAdded? No, that’ll only complicate matters further. Let’s see)

Update, patches accepted

With two more patches — one to enable support for my .wdseml file extension, the other to remove an old array API from a part of the code base — finally accepted, it’s time to focus on IMAP.

The main problem is that itemDeleted notifications aren’t firing at all for messages. They have to fire at two places at least:

  1. When an item, that was previously there, has mysteriously disappeared.
  2. When an item is moved from one folder to another — this is because the destination folder, when opened, fires an itemAdded notification. itemMoveCopyCompleted can’t really work, as you really can’t stop the dest folder from doing an itemAdded. (Hmm, it’s possible, though: callers can simply ignore the itemAdded? No, that’ll only complicate matters further. Let’s see)
Syndicate content