Pi’s Blog

My blog about Thunderbird and GSoC 2008

Quick Progress Update

This is just a quick progress update; I don’t have a new version yet.  My family is coming to visit me (they should arrive in a few minutes) and we are going to visit my sister & brother-in-law so I won’t be able to reply until at least Sunday night.  It looks like I’m going to have plans for part of next weekend as well.


I will not release another version of 0.1.x unless any major bugs are discovered.


With gContactSync I plan on releasing another beta with a few UI updates within the next few weeks.  I’d like to finally fix the toolbar button for everybody and make that 0.2.0rc1, after which I will not change any features or the UI.

I’d like to submit it to Babelzilla and get more locales so more people can use it.  Once 0.2.0 is out (full support for Thunderbird 2 and 3.0 & Seamonkey 2) and I get some feedback & translations I’ll submit it to addons.mozilla.org.


I haven’t fully decided what to include in 0.3 and didn’t start working on it yet.  I’d like to look into supporting contact photos and more advanced custom properties allowing all data from a contact to be synchronized.


March 27, 2009 Posted by | GSOC | Leave a comment

Happy Pi Day – New Website and openCRX extension

New Website

I have decided to make a new website where I can combine my blog, old websites (pirules.com and pirules.net), some content from my mozdev projects.  This may come as a shock after reading my previous domain names, but my new domain is pirules.org.

It will probably contain the content from my old websites, including computer tutorials and tweaks, the programs I wrote in high school, extension info, etc.; my new blog; support forums for my extensions; and a wiki.

It is hosted by HostGator since I’m always on the move (home, internship, college) and my ISPs would probably not like me if I hosted everthing.  To my surprise, I was able to setup my account and get a jailshell today (Pi day/Saturday) and they were very quick.  Ironically, I used to setup and support cPanel users.

My old host, 1&1 was good for the price, but I wanted access to more and larger databases, PHP 5, SSH, etc.

New links

I would appreciate it if everyone would change all links to point to the my new website soon.  I have not nearly finished bringing everything up to date yet.

I have imported all of my blog posts to my new blog, and will probably write new posts in both locations until this one stops getting so many hits.  I have not decided what to do with my old websites since they are both getting a steady flow of hits.  pirules.com is hosted for free and remains to be the site with the most hits if you exclude my blog.


A long time ago, in a galaxy far, far away, I was asked to write an extension that would import contacts from and export contacts to openCRX.  It is an open source (BSD-style license) Customer Relationship Management (CRM) solution with a lot of Groupware features

It shares a lot of code with gContactSync with a few less Address Book modifications, although I have not merged some recent v0.2 changes in yet.  It is fully compatible with gContactSync, but does not require it.


Pi Day

Today is ‘Pi Day’ in the US (March 14th is represented as 3/14 in our stange date format).  I noticed mozdev.org has “3.14159265358979323846264338327950288419716939937510…” in their header, which is correct if you don’t want to round the last 0 to a 1 (the next digit is 5).  I decided not to memorize 64 more digits (to bring me from 250 to 314) at the moment but there is always next year.

Edit: Almost forgot to mention that the House of Representatives ‘supports’ the designation of March 14th as Pi Day.

March 14, 2009 Posted by | GSOC | , , , , , | 3 Comments

gContactSync 0.2.0b1 released – Please upgrade

Anyone using version 0.2.0a1 or 0.2.0a2 of gContactSync in Thunderbird 2 has probably encountered a severe bug.  It starts when you attempt to search using the textbox in the top-right corner of the Address Book window.

It only affects Thunderbird 2 (not any recent version of Thunderbird 3 or Seamonkey), but 0.2.0b1 has more changes so I recommend it to all users.

Download link:



  • The search filter cannot be removed until Thunderbird is restarted
  • Contacts cannot be modified, added, or removed to or from that directory until Thunderbird is restarted
  • Unable to synchronize (some errors listed below).
  • The status bar says “Synchronizing…” and will not change
  • Mailing lists and contacts in that directory may not work properly, even after a restart

Some Errors:

***WARNING: Couldn’t evaluate command
Error – no URL was found for the HTTP Request

For technical details and more possible error messages please see the bug report.


  1. Download the extension from the link and install in Thunderbird
  2. Restart Thunderbird
  3. Open the address book
  4. If synchronization completes successfully you are finished, otherwise continue.

It is possible, although unlikely that you may need to do more.  I had to do this with my test profile that I corrupted when attempting to find the cause of the bug but not the others.  If you must follow these steps please e-mail me so I know.

  1. Repeat this for all synchronized address books:
    1. Go to Gmail and backup your contacts (Export link in the top right of the contacts page)
    2. Select the synchronized address book in Thunderbird
    3. Go to Tools -> Export, and make sure you choose LDIF, then save it.  This will backup your contacts in case anything happens.
    4. Right-click the directory and click “Delete” and click OK at the prompt.  This will not delete your contacts from Google.
  2. Close the address book window and all Thunderbird windows
  3. Start Thunderbird again, but do not open the Address Book window yet
  4. Open the Add-ons manager (Tools -> Options -> Add-ons), select gContactSync and click Options or Preferences.
  5. Go to the Accounts tab
  6. You should see your e-mail addresses and blank spaces where the address books should be.  If not, backup and delete the named address books and go to step 6 (e-mail me for assistance or if you cannot remove them)
  7. Select the address and click ‘Change Address Book’, then type a name and click OK.  Repeat for all accounts.
  8. Close the Preferences dialog and add-ons manager
  9. Open the Address Book window and Sync if it doesn’t start automatically.  There should not be any errors, and you should see your contacts in each synchronized address book.

I can make more thorough instructions with screenshots if necessary tomorrow evening (US central time).  Please let me know if you would like this.

If you have any questions or this doesn’t work please don’t hesitate to e-mail me.

Download link:


The Sync button is still not working for all users, and I finally managed to get it on one profile in Windows Vista.  When I upgraded to 0.2.0b1 it went back to the normal icon, but this release does not have a fix.  You may avoid using the Sync button and use the Sync option under the gContactSync menu in the Address Book toolbar instead.
If you want to remove the button:

  1. Go to gContactSync -> Preferences -> Main
  2. Uncheck “Enable the Sync toolbar button”
  3. Click OK or Close, then close and reopen the Address Book.
  4. If the button doesn’t disappear please let me know.

Bugfixes/enhancements since 0.1.x

Bugs in italics are new since 0.2.0a2

  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Known Bugs

  • The Sync toolbar button still doesn’t always work

I apologize for the inconvenience


March 9, 2009 Posted by | GSOC | 1 Comment

The best way to support an extension

I would like to find a better way to receive error reports for my extension to help both me and its users.  I have received error reports on 5 e-mail addresses (actually 3 and 2 forwarded accounts), comments on my blog, bug reports, and over IRC.  I read all e-mail as soon as I receive it, but so far I have been way  too slow to reply.

My only ideas so far are to make a form on my website and have a support link in the extension or to make a new XUL dialog in the extension.  A form on my website would be easiest for me but a XUL dialog could be localized with the rest of the extension.

Does anyone (especially experience extension developers) have any suggestions on how to support an extension?  I would like to put my extension on AMO but am worried that my full time internship and upcoming online classes may further delay my replies.

March 8, 2009 Posted by | GSOC | 8 Comments