Monday, February 20, 2006

More Firefox issues

I run multiple Firefox profiles concurrently. Using simultaneous profiles allows me to, for example, have both my work and personal web mail accounts open to the same site simultaneously. It also allows me to obscure my browsing habits slightly.

This worked fine up until my upgrade to Firefox 1.5. Suddenly, even if you run firefox as 'firefox -ProfileManager', it won't start the profile manager. It will start up the last profile you used. This is stupid, broken behavior. But the firefox developers think it's ok, because "Profiles aren't for users, even for advanced users. They're for developers." Whatever.

To get firefox to actually do what you tell it to (run the profile manager, so you can pick which profile to start up in the new firefox window), you have to set an environment variable "MOZ_NO_REMOTE=1". Do that, and it works again. It's possible that to someone nerdier than I, this makes perfect sense. But I doubt it.

The fact that remote firefox interaction (read: AIM wants to open a webpage) interferes with profile management should not be the user's problem. One profile is already the default, open links in it and don't mess with this remote crap. If that profile's not open, start it. Voila.

Sunday, February 19, 2006

Firefox CPU issues

For as long as I can remember, I've had this problem where firefox sucks up 100% of my CPU, freezes, locks, effectively dies but won't go away... and I have to kill it. I've always suspected it was Flash, but now I have some form of proof.

Installing the Firefox flash blocker extension made the problem go away. Now on sites where I want to see the flash (e.g. flickr) I can just click on any flash I want to see. On other sites, it doesn't start it up.

No more 100% CPU. No more locks. Eric is a happy man.

Also, in the debugging process, I discovered that pressing 'Escape' will stop all animated GIFs on the current page.

These two things combined mean that my browsing experience has dramatically improved in the last few days.

Thursday, February 09, 2006

AC_CONFIG_HEADERS vs AM_CONFIG_HEADERS

I'm using autoconf and automake to deal with building issues in my software, CEP. The move was not by choice, but by necessity for interaction with other tools. It has been nothing but a pain.

Autoconf and automake have a config file which is built out of macros. Two of those macros are AC_CONFIG_HEADERS and AM_CONFIG_HEADERS. Now, here's the fun part. To use autoconf, you need to use the former. To use automake, you need to use the later. Either tool will barf processing the config file if the other is present (with error messages like `automake requires `AM_CONFIG_HEADER', not `AC_CONFIG_HEADER', which tell you how to fix the problem but not the root cause). This means that you'd need to edit the config file every time you built the software. Unfortunately, even that workaround eventually failed: the "configure" script installed an automatic dependency check into the makefile, which would try to do an automake and autoconf run to verify changes (read: any time CVS touched files). So the software would not build. Google found zero help for this problem.

Turns out, it was due to a version inconsistency between autoconf and automake. Debian keeps multiple simultaneous versions of these tools around because they have different behavior and certain code will only work with one version. My problem was that while I had installed the
newer version (automake1.9) it hadn't replaced version 1.4, and nothing had changed. As soon as I got rid of automake version 1.4, suddenly everything worked.

Lessons learned: (1) when google can't find a solution, it's something very strange. (2) You should blog it so people can find it in google later (3) Automake, autoconf, and debian are really annoying sometimes.

Test post

This is a test post.

I used to use livejournal as more of an online diary, but I'm looking to move to a more professional site that I'm willing to let search engines index.

Hopefully I'll be able to post some useful observations here. Probably mostly computer-related stuff that I want to publish.

We'll see, I guess.