Blog - Unity Behind Diversity

Searching for beauty in the dissonance

Tagged: firefox

HOWTO: Pair a new device for the old Firefox Sync service in Firefox 30

I got into a public fight with IceWeasel/Firefox 30 and the Mozilla sync service on pump.io last month, and was meaning to publish my “fix”… but it was so hacky, I don’t know which part of it actually worked. But, since it’s somewhat time-sensitive during this sync service transition, I figure it’s better to share this incomplete hack than to not.

The Problem: Can’t Pair New Devices in Firefox/IceWeasel 30 Using the old Firefox Sync Service

I recently switched my ThinkPad X60 from Ubuntu to Debian testing. When I tried to set up IceWeasel 30 with the Mozilla sync service, it started prompting me about creating a Firefox account — something I have absolutely no interest in doing (in fact, I was planning on moving my Firefox sync to off Mozilla’s servers to ownCloud).

I discovered that, while previously paired devies would still be able to sync using Mozilla’s old sync service for a limited time, as of Firefox/IceWeasel 30, it no longer supports pairing new devices to the old sync service.

This made me really angry. If I’d set up sync and paired the device before “upgrading” to IceWeasel/Firefox 30, I’d be syncing no problem, but Firefox/IceWeasel 30 refused to allow this. It was an infuriating combination of what felt like an anti-feature, and pressure from Mozilla to sign up for a new sync service that seems worse on the privacy front (e.g. no server-side encryption, and self-hosting is experimental now because you’d also have to self-host the Accounts service…).

The Solution: Tricking IceWeasel/Firefox by editing prefs.js

Technically, this wasn’t a new device. I’d already had my X60 Firefox set up to sync before I switched from Ubuntu to Debian. So, I managed to trick IceWeasel into letting me sync again.

This was pretty reckless (but stakes very low — brand new IceWeasel profile) and I’m not sure exactly what worked and use these instructions at your own risk, etc etc.:

  • I copied the weave folder from inside my old Ubuntu Firefox profile (not sure if that mattered), plus all of the lines in prefs.js for settings that started with “services.sync.*” (this definitely mattered)
  • I tried manually editing the preferences (resetting timestamps to zero, etc.), but what ended up happening is that when I opened IceWeasel with those lines just copy-pasted in from my Firefox profile in my old Ubuntu install that I’m no longer using, it gave me the “Pair a new Device” option the first time I accessed Sync settings!!
  • It would disappear and not come back if I cancelled pairing, but I just tried closing IceWeasel, copying/pasting those services.sync.* lines into prefs.js again, and then I successfully paired IceWeasel 30 by doing it the first time it appeared.
  • I could see “tabs from my other computers” now, but my bookmarks clearly weren’t there, so I shut IceWeasel down, and changed the value of all the services.sync.*.lastSync and services.sync.*.lastSyncLocal and a couple other similar timestamps, setting them to 0 from their prior values. Then, re-opened IceWeasel, ran the sync manually, and my bookmarks started appearing! Since then, it seems everything has been working fine

I think it was something in copying the services.sync* settings that allowed the Pair a New Device screen to work the first time I reopened IceWeasel. Then, after pairing, resetting the timestamps to 0 on the services.sync.*.lastSync* settings caused IceWeasel to download everything again anew.

YMMV. I’m not sure how much my of success depended on being able to hijack an existing client sync ID from a device that was previously configured but no longer being used (i.e. my former Ubuntu Firefox profile on my X60 that I was replacing with Debian IceWeasel). And these steps are vague and unspecific because I’m not really sure what precisely worked or what may be unwise for you to try if you don’t know what you’re doing… but feel free to contact me if you want more specifics on my set up and experience and I may be able to help.

At the very least, this will allow me to continue using the old sync service for now, until I figure out what my options are re: self-hosting, ownCloud, Mozilla’s new Firefox Accounts-based sync service, etc.

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Comments (2)

SOLUTION: Firefox Fails When Upgrading After Using Mozilla PPA

This is a quick fix for a problem I had when upgrading to Ubuntu 10.04, after having used the Mozilla PPA.

The Firefox upgrade failed during the distribution upgrade process (from 9.10 to 10.04). I was told to run `dpkg -a –configure`, and the same error occurred again (it’s in bold).

$ sudo dpkg -a --configure
Setting up firefox (3.6.3+nobinonly-0ubuntu4) ...
update-alternatives: error: alternative path /usr/bin/firefox doesn't exist.
dpkg: error processing firefox (--configure):
subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of firefox-3.5:
firefox-3.5 depends on firefox; however:
Package firefox is not configured yet.
dpkg: error processing firefox-3.5 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-3.0:
firefox-3.0 depends on firefox; however:
Package firefox is not configured yet.
dpkg: error processing firefox-3.0 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-gnome-support:
firefox-gnome-support depends on firefox (= 3.6.3+nobinonly-0ubuntu4); however:
Package firefox is not configured yet.
dpkg: error processing firefox-gnome-support (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of firefox-3.5-gnome-support:
firefox-3.5-gnome-support depends on firefox-gnome-support; however:
Package firefox-gnome-support is not configured yet.
dpkg: error processing firefox-3.5-gnome-support (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
firefox
firefox-3.5
firefox-3.0
firefox-gnome-support
firefox-3.5-gnome-support

A quick web search brought up a bug report, and I was able to figure out this fix with the help of one of the comments:

Update: Fixed.My original solution was only temporary, and had to be repeated for each Firefox update (all the way through every update with 10.04, 10.10, now 11.04…). I’ve found the root of the problem now, by comparing local dpkg diversions for Firefox on my affected machines against an unaffected clean Ubuntu install.

On my laptop:

$ sudo dpkg-divert --list | grep firefox
local diversion of /usr/bin/firefox to /usr/bin/firefox.ubuntu
local diversion of /usr/bin/mozilla-firefox to /usr/bin/mozilla-firefox.ubuntu

The clean Ubuntu install returned no results for the above command. (Also, note that in the full output for dpkg-divert –list, those were the only local diversion — another hint that they were from the PPA upgrade rather than Ubuntu itself.)

So, I ran the following commands to remove the diversions:
$ sudo dpkg-divert --remove /usr/bin/mozilla-firefox
$ sudo dpkg-divert --remove /usr/bin/firefox

Then, the most recent Firefox upgrades worked without a hitch on both of my affected machines. Finally fixed… *fingers crossed*

Updated: This isn’t a complete fix, as the problem reoccurs every time Firefox is updated. If someone knows how to fix this for good, let me know…

$ sudo rm /usr/bin/firefox
$ cd /usr/bin
$ sudo ln -s ../lib/firefox-<your-current-version>/firefox.sh firefox
$ sudo chmod 0777 firefox
$ sudo apt-get -f install

The symlink for /usr/bin/firefox had been pointing to /usr/bin/firefox-3.5, which no longer existed, so the commands above (1) remove the dead-end link; (2) add the proper link (YMMV depending on which version of Firefox you are upgrading to); (3) resume the upgrade process.

Hope that helps!

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Comments (1)

Is Firefox missing the point in its response to Google Chrome?

[This post originally appeared on Techdirt.]

Seth Godin thinks Firefox is missing the point by launching new features in response to Google Chrome. He says the problem now is that “when your friends switch to Firefox, your life doesn’t get better.” Firefox needs to provide people with an incentive to spread it, so that the more people use it, the better it gets for users (think of a social networking site — you have a better experience if more of your friends join). He suggests new communication and collaboration features that only work if you have Firefox.

I think he’s missing the point.

He ignores the Firefox community. The life of a Firefox user does improve as the user base grows. A more vibrant community means better add-ons, bug fixes, security patches, phishing reports, translations/dictionaries, etc. — all members benefit. Mozilla is already providing the sort of incentive he describes. Sure, there may be ways to improve, but I don’t think they’re missing the point.

Plus, “only for Firefox users” isn’t the Mozilla approach. Mozilla wants to improve the web for everyone — not just Firefox users. Mozilla thinks your browser should be like your phone or your car; it shouldn’t matter if your friends or co-workers are using the same product. You don’t need to consider which phone carrier your friend uses before making a call, or which car your co-worker has before providing directions; you shouldn’t have to think about what browser someone uses before communicating with them online. People don’t need special browser-specific features in order to communicate browser-to-browser, that’s what web services (or add-ons) are for. Those kinds of features would make life on the web more difficult for everyone if they were Firefox specific, and if they weren’t, Google could just implement them in Chrome.

The community is one thing Firefox has that Chrome can’t copy overnight.

If you read some responses to Chrome from people at Mozilla, it doesn’t seem like they’re missing the point. Competition in the browser market is validation of Mozilla’s mission for Firefox, and Mozilla plans to compete by continuing to innovate and to involve the community. Seth Godin makes a great observation about giving people an incentive to spread your product — “people will recommend something if adoption improves their lives” — but he doesn’t mention the ways in which Mozilla has already taken that to heart. How do you think Firefox became popular in the first place?

[Read the comments on Techdirt.]

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Yet another missed chance to be saved from MySpace

Why is it that I keep finding these things after it’s too late?

AmIOnMySpace?

Ah well, it’s not so bad after all.

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Hotmail discriminates against non-Windows Firefox users

Can you say artificial scarcity? Also, Hotmail’s “customer service” seems to be a poorly implemented bot.

But did you really need another reason not to use Hotmail?

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Access Gmail with a secure connection

Did you know that when you’re viewing mail in your Gmail account you’re not using a secure connection by default? That means that anyone who’s sniffing traffic on your network can intercept your packets and essentially read your email or, worse yet, steal your session (ie. login to Gmail as you)!

The chances of this actually happening to you are very slim. But Google actually offers HTTPS (ie. encrypted) access to Gmail, so why not take advantage of it? To use HTTPS, you just need to change the “http://” in the address bar to “https://” once you’re logged in and hit enter.

You need to do this ever time to log into Gmail though, which is a bit annoying. That’s why I’ve begun using the GMailSecure script for Greasemonkey. Greasemonkey is a Firefox add-on which allows you to install scripts that customize websites for you. This script simply replaces “http://” with “https://” for you whenever you’re logged into Gmail.

For any security conscious Firefox+Gmail users out there, this add-on ensures that you’re always viewing your email over a secure connection.

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Post a Comment

Moving Firefox/Thunderbird Profiles

This example will involve moving a profile from Windows XP to Ubuntu 7.04, but the basic idea can be used to move profiles around in many other scenarios.

Step 1: Find Your Files

In Windows XP, look in:
Firefox: C:\Documents and Settings\<username>\Application Data\Mozilla\Firefox\Profiles
Thunderbird: C:\Documents and Settings\<username>\Application Data\Thunderbird\Profiles

You should find a sufficiently cryptic folder (e.g. “b455b37.default”). You can check inside to see if it has the data you want (ie. bookmarks.html for Firefox, a Mail subfolder for Thunderbird, etc.). That’s your profile folder, the one you’ll need to copy in step two.

Step 2: Copy Your Files

In Ubuntu:
Firefox: ~/.mozilla/firefox/Profiles/
Thunderbird:: ~/.mozilla-thunderbird/

There are two options: (1) replace the contents of the existing profile directory with the contents of the profile directory from your Windows machine; (2) delete the existing profile directory and copy your entire profile directory from Windows in its stead.

The easiest way to copy files is probably to use a USB key, but it doesn’t really matter.

Step 3: Profiles.ini

If you chose option (1) above, then you need to edit ‘profiles.ini’ to update the path to your profile (since the directory name has changed). You’ll need to open up ‘profiles.ini’ in a text editor.

Firefox:
gedit ~/.mozilla/firefox/profiles.ini

Thunderbird:
gedit ~/.mozilla-thunderbird/profiles.ini

(If you’re copying to Windows, just use Notepad to edit the file.)

Inside profiles.ini, you’ll need to update the ‘Path’ to reflect the new name of your profile directory:

[Profile0]
Name=default
IsRelative=1
Path=<path-to-new-profile>

Save the file, open the application and check to make sure your data is there. That’s it!

Creative Commons Attribution-ShareAlike 4.0 International Permalink | Comments (1)