Pi’s Blog

My blog about Thunderbird and GSoC 2008

Blog Moved

Blog moved to http://www.pirules.org/blog

Old content will remain here for historical purposes.


May 6, 2011 Posted by | Uncategorized | Leave a comment

Seven Things

I’ve been tagged by sid0, fellow GSoC 2008 student

I have Internet access once again (until my ISP grows tired of me downloading so much source code for Gentoo)!

The rules.

  1. Link back to your original tagger and list the rules in your post.
  2. Share seven facts about yourself.
  3. Tag some (none? ūüôā ) people by leaving names and links to their blogs.
  4. Let them know they’ve been tagged.

Seven Things

  1. Not too many people know this, but I play the bass guitar for fun as of last summer.  I plan on it just being a hobby, but I can play several songs well including Iron Man (once my fingers are warmed up for the solo)
  2. I am on an internship in Minnesota but do not have a car.¬† As a result I walk when it isn’t below 0 (all this last week) and take the bus a lot.
  3. I take school and grades very seriously and barely hung onto my 4.0 this semester after some setbacks
  4. I survived for more than a week without Internet access in my new apartment
  5. Despite doubts from relatives and friends, I can cook (I did work in a restaurant for years), do dishes (I was a dishwasher at first), clean (I am a neat freak), and survive on my own without spending all day programming
  6. I’ve known about 250 digits of pi since 8th grade.¬† It started in 6th grade when I saw about 25 digits of pi in my math book and realized that I had memorized them after just glancing at the page.¬† I haven’t decided if I should try to break 1000 or not.
  7. I’m a big open source fan, especially after Google Summer of Code 2008, although I had been using Ubuntu for years and just started with Gentoo (now my main OS on my desktop and notebook) before then.

I won’t tag anybody at the moment since I’ve been out of the game for a while and most people I would tag have already been tagged afaik.

January 17, 2009 Posted by | Uncategorized | 2 Comments

No Internet access for a while

I recently moved to Minnesota for an internship and I’ve been having some trouble getting an Internet connection even though I ordered it far in advance.¬† I’ve been waiting about two weeks now, so hopefully I’ll get it soon.a

I have basic access with my phone, but very limited bandwidth and I cannot type well with it, so if you e-mail me or the list, replying might take some time, especially when I can’t try to duplicate bugs.

I’m at the library now (free wi-fi, but only HTTP and HTTP over SSL seem to be allowed), but it is too far to walk so I have to take the bus on Saturday.

I’ve fixed what bugs I could, and started work on version 0.2.0, which works with the new and improved API from Google (see Bug 20352 for progress).¬† Since multiple contacts with the same e-mail address are allowed in the new API, there should be a performance boost.¬† I also hope to make more speed improvements.

The one thing holding me back from releasing 0.2.0 is Bug 20153 since mailing lists with contacts that may not have e-mail addresses are essential for taking advantage of the new API.

I have a version with some bug fixes (should work on trunk as it was when I had an internet connection) that will probably appear in 0.1.3 (unless I fix bug 20153 soon), but I don’t want to release it when I have no way of testing it or communicating.

January 10, 2009 Posted by | Uncategorized | 1 Comment

My Recent Lack of Activity

I apologize for my recent lack of activity both on gContactSync and Thunderbird.  I have not vanished from the Open Source scene.  The past month was tough (very busy and not fun) due to some strange medical issues that eventually forced me to go to the hospital.  During that time I had to devote my energy to catching/keeping up with homework, papers, and projects for college as well as my part-time job to help pay for college.

I’m doing well now, and will hopefully find some time to work on gContactSync and a few Thunderbird bugs (like an extended XBL datepicker for the Birthday and (not yet created) Anniversary fields) between homework, finding an apartment, and visiting relatives and friends over my one week off for Thanksgiving break (I also have several computers to fix, remove malware from, and setup for relatives).¬† I accepted a co-op position (not related to Mozilla) from January until August 2009, so I may have more spare time to work on my extension and Thunderbird.

My first goal is to catch up on bugs, e-mail, etc.  I apologize again for my recent unresponsiveness and inactivity.

Status update

  • Thunderbird
    • Bug¬†456024 Turn the adapted birthday datepicker into an inherited/extended xbl widget – I’ve had a basic patch for some time now that introduces an extended XBL datepicker widget that allows for blank values for the month and year (with M/D empty text) and removes the year portion of the datepicker
    • Bug¬†456220 Birthday and month shown in card view aren’t localized well – I just need to have some input on how to solve this.¬† Using the system settings is fine if the year is present, but if not there are two main choices that I see:

      • Just as the system describes (MM/DD/YYYY for me in US English on Linux, Day Name, Month Name D, YYYY in Windows in US English), but with the YYYY, separator, and¬† day name & separator removed (if present)
      • Look at how the system does it (find the month/day relative order and the separator between them) and print the month name and day in the detected order with the separator.¬† However, in Linux this would be inconsistent with the MM/DD/YYYY that I get.
    • Bug¬†456026 Add day/month order indications to the birthday field on address book contacts – The datepicker bug should fix this
    • Bug¬†458591 Consider improving the labels on the Birthday Field – I just need some recommendations on how to improve them.¬† There is an outdated image of the new datepicker here (the card dialog was since changed).¬† Localizer feedback would be awesome since I only know English and some Spanish.
    • Bug¬†456025 Implement an anniversary field in the address book – Waiting on the datepicker
  • gContactSync
    • Considering new name (gContacts as it originally was).¬† Any ideas are welcome
    • Working on replying to recent feedback over e-mail, the mailing list, and blog comments
    • Contrary to what some believe, the gContactSync “team” consists of one busy undergraduate Computer Engineering major only as a volunteer project (started as a paid Google Summer of Code 2008 project)
    • Anyone who wants to help program, fix bugs, or add features is welcome to do so (shoot me an e-mail).¬† The code has a lot of comments in it.
    • Checking out the poll results from my last post and deciding on what to do after fixing some bugs
    • Bugs
      • 20188 Card Dialog overlay is broken on trunk builds – Trying to figure out the best way to have two totally different overlays
      • 20169 Extra attributes should be disabled for read-only cards – The textboxes and types added are not disabled for read-only cards (like cards found through LDAP)
      • 20153 Groups containing contacts without email addresses break in Thunderbird – Have not figured out the best way to start this yet

November 21, 2008 Posted by | Uncategorized | , , , , | 1 Comment

New version of gContactSync out – 0.1 beta 3 (0.1b3)

I apologize for yet another beta, but I added several new features and would like a little more time to test them before releasing version 0.1.0.¬† You can download it here (the tutorial hasn’t been updated yet). Sorry, here is the actual download.

Just as a notice, I will be busy for most of this week preparing and moving back into my dorm for college, so it will take me longer to respond to bugs and questions.

Upgrade Instructions

Please backup your contacts before installing this version just to be safe.

The upgrade should go well (unless you have mail lists–see below), but I strongly suggest removing your authentication token first.¬† You can do this in 0.1b2 if you open the main Thunderbird window and go to Tools -> Add-ons -> Preferences (Options) under gContactSync.¬† There is a button named Remove Authentication Token that you should click.¬† In any case, you will have to sign in again.¬† Then, install 0.1b3 like you normally would.¬† The next time you open the Address Book window you will be asked for your username and password, as well as the usual initial setup preferences.

Note: If you use mailing lists, you should delete the synchronized address book first or the lists (and Groups) might be removed.

Somebody reported that Thunderbird 2 crashed after opening the Address Book once the new extension was installed (Bug 19838), but I haven’t been able to so myself.¬† If it happens to you, please let me know so I can figure out why this happened.¬† The reporter was able to fix it by adding an account in the Preferences.

New Features

  • Ability to synchronize multiple accounts (with multiple address books).¬† Bug 19715
  • Synchronization of phone types (the first 7 phone numbers are synced). Bug 19800
  • Extra features for Thunderbird 3.0b1pre (New attributes available in the new card dialog, extra tree columns to view and sort by in the list of cards, etc)
  • Easy renaming of address book (can do it from the Address Book window)

Bug Fixes

  • Better drag and drop of mail lists. Bug 19766
  • Improved duplicate detection for updated cards
  • Critical – Changing the address book name to an existing one may delete all contacts. Bug 19805

August 27, 2008 Posted by | Uncategorized | , , , | 3 Comments

Facebook phishing warning

On Facebook I’ve started to see and receive a ton of new spam from friends whose accounts have been hijacked.¬† I went on one of the phishing sites and was amazed at how similar it looks to Facebook.¬† I noticed immediately that, when I saw nothing (thank you NoScript – link below), the contents are written through JavaScript through document.write(unescape(…..)).¬† fanebook, a phishing site, writes the entire page’s contents through JavaScript.¬† Of course, it is escaped, so unless you can unescape all that in your head, you have to unescape it through JavaScript to see what it really writes:

Click here to see a text file with the HTML commented out

Then I wondered, whois fanebook.com (

Click here to see the results


The similarities in appearance between the phishing site login and facebook’s are remarkable, but it looks like fanebook is a little behind, as the page appears to be from February 07, 2008.


Notice the incorrect URL, copyright date, footer and the presence of the Tour link; the source is also a dead giveaway.  It links to the real facebook.com in several places.


How to avoid falling for a Facebook phishing scam

  • Don’t go to links posted by people on your wall, especially if you go to their profile and they have sent the same message to several other people.
  • http://www.facebook.com.xxxxxxxxx.xxxxxxxxxxx.cn is not a facebook site
  • Use some kind of phishing filter or related extension like WOT for Firefox.¬† NoScript can help, as well.
  • If you already logged into Facebook and see a prompt to login again, don’t.
  • If you think that your account was hijacked, make a new password immediately.¬† Sometimes the phishing sites redirect you to Facebook itself so you think you logged in successfully.
  • Always check the URL before entering your credentials
  • You can use a password manager (but not Internet Explorer’s) that will enter in your password automatically.¬† If you see a site that looks like facebook but Firefox doesn’t fill in your password, than it is fake.
  • If you suspect it is a fake, don’t sign in, or at least look at the source code first.¬† If it looks completely unintelligible then it is fake.

August 16, 2008 Posted by | Uncategorized | , , | 1 Comment

Disabling Automatic Synchronization

I completely forgot to mention that it is possible to disable automatic synchronization until I received a question about it.  There are two preferences that control this: Synchronize interval and Initial sync delay.  If you want to disable automatic synchronizing completely, set both of those to 0.  Alternatively, you can just disable all but the first auto sync when you open your Address Book window by setting Synchronize interval to 0.  If just Intial sync delay is set to 0 then there will not be any automatic synchronization until after you press the Sync button and the next sync is scheduled after the interval expires.

There is a Sync button added in the Address Book toolbar that you can use to synchronize manually.

The next test release will have a checkbox to disable automatic synchronization.

August 6, 2008 Posted by | Uncategorized | Leave a comment

gContactSync and Hosted Google Accounts

I received feedback from two users who use Google Apps for your Domain saying that they cannot authenticate.  The reason for this is a mistake on my end that only allowed Google Accounts (ending in gmail.com).  I believe I have fixed this, although I do not have a way to test it.

If you want to fix it yourself before the next release, follow the steps below

  1. Delete the synced address book (Google Contacts) and close the Address Book window
  2. Go to Tools -> Add-ons -> Preferences/Options and click the button to remove your authentication token.
  3. Close Thunderbird
  4. Find your Thunderbird Profile Folder
  5. Go to the Extensions folder and then the gcontactsync at pirules.net folder
  6. Open the content folder
  7. Edit gdata.js with your favorite text editor
  8. Find this text shown below around line 50 and replace accountType=GOOGLE with accountType=HOSTED_OR_GOOGLE
  9. Save the file and re-open Thunderbird and the Address Book window
  10. Login
  makeAuthBody: function(aEmail, aPassword) {
    return "accountType=GOOGLE&Email=" + aEmail + "&Passwd=" + aPassword +

August 6, 2008 Posted by | Uncategorized | , , | 2 Comments

Slightly improved Groups support, bug fix, and Reminder

I have slightly improved support for Groups.  Instead of just showing the groups, you can now either remove a contact from groups that it is in (by deleting the groups in the Edit Card Dialog) and add a contact to existing groups by adding a comma, space, and the name of the group to the end of the Groups textbox.

For a simple example, pretend John Doe is in two groups, Group 1 and Group 2 and you want to remove him from Group 1 and add him to the existing group named Group 3.

Go to the edit card dialog and change this: Group 1, Group 2 to Group 1, Group 3

Bug Fix

I found a bug where the card view pane on the bottom would show some extra attributes from the last card viewed (third and fourth email and added screennames) while viewing a mailing list.


And, as a reminder, please check out the test release (which doesn’t have the fixes mentioned above) and let me know what you think.¬† I have instructions in my previous post.¬† The deadline for GSoC code changes is August 18, so I’d like to submit code that doesn’t have any major bugs…¬† I will still continue working on this extension after that date, of course.

August 2, 2008 Posted by | Uncategorized | , , | Leave a comment

\Windows\System32\winload.exe missing or corrupt

After installing FreeBSD and its bootloader on my notebook I found myself unable to boot Vista:


The selected entry could not be loaded because the application is missing or corrupt

So, I booted from the CD and chose the repair option, but it didn’t find any installation (no, I didn’t need to load any drivers).¬† The startup repair found an error but couldn’t fix it.¬† So, I went to the command prompt and tried to mess around with bcdedit, but I got the following error:

The boot configuration data store could not be opened.  The system cannot find the specified file.

So, I created a new data store: bcdedit /CREATESTORE C:\BCD

I then rebooted and tried the repair option again.  This time, it found an install on an unknown location and the startup repair actually worked.  Upon reboot the FreeBSD bootloader still came up, but it was able to boot Vista this time after running CHKDSK.  Now I can try out my patch for 448165 in Windows.

July 28, 2008 Posted by | Uncategorized | , | 4 Comments