Firefox and Advertising sites...

I have noticed my browser becoming sluggish, bordering on inactive - this is Firefox 3.5.2 (mostly I notice it on Ubuntu's Firefox, but this is confirmed, definitely true for Fedora's Firefox too - worse: it seems to be doing lots of disk activity, slowing down the entire pc; killing intellicast.com site restores sanity...).

It's subtle - at first I thought it might be a memory leak, or a loop in Firefox, but I noticed that the weather page I usually keep open (intellicast.com) - if I kill the page, the responsiveness comes back, and the system monitor shows CPU cycles (pegged when this happens) fall immediately. It doesn't happen when you open intellicast; sometimes it happens in a few minutes (~15); sometimes after an afternoon. Because of this, I suspect it has something to do with javascript from an advertiser site (rather than something in the core intellicast site).

It's annoying. It's beyond annoying...

Humor: from Windows XP to Ubuntu



Be sure to watch the last 10 seconds of the video ;-)

Ubuntu Kernel Update & NVIDIA Driver

Earlier, I reported that Fedora failed miserably on booting w/ a new kernel with the NVIDIA graphics driver installed (which I want, for two-headed desktop).

I hadn't seen a problem with Ubuntu Kernel update, but that appears to only have been true for one update - but not the latest. The good news is Ubuntu detects and reports that NVIDIA complains, and nicely defaults to the default driver (and single-headed mode).

Since, effectively, Ubuntu (and it appears Debian in general) does not have a non-graphic multi-user mode akin to init 3, here's what I did:

  • Be sure to have _some_ nvidia driver available;
  • exit Gnome window manager:
  • sudo /etc/init.d/gdm stop
--------
UPDATE:
As of kernel 2.6.28.15, it doesn't appear that
gdm stop works (no terminal). This, however, seems to work for me:

  • sudo telinit 1
  • (login as root)
Alternately, if booting (Ubuntu, grub2), and you want to come up with the boot menu, then right-shift should get you there:  pick recovery mode, and boot into shell to accomplish the following.
--------

  • run the NVIDIA run script with the update option; this will get a newer driver from the NVIDIA ftp site if one is available:
  • sudo sh NVIDIA*.run --update
--------
UPDATE:
If running under telinit 1, NVIDIA driver will complain about potentially not being able to find files when searching in "init 1" - continue anyway (telinit 1 is not quite init 1 on other systems). When coming back up, you can telinit 3. I've found external USB hubs (e.g. printers, drives) are not re-initialized, so I prefer to reboot (but you can quickly telinit 3 to check video settings first, reboot later).
--------

If you came up graphical in Ubuntu before you discovered a problem w/ the kernel interface for the NVIDIA driver, then Ubuntu changed your config. When you come up (gdm start, or reboot if you like) then run the NVIDIA settings program to configure your monitors as you like as root:
  • sudo nvidia-settings

You need to do this as root to save the configuration for future boots.

VirtualBox for Smart Phones

There are more and more smart phones with linux kernels in their base. These are quickly going to become search / info / utility appliances and, I predict, replace a significant part of everyday personal computer use (you will still want a computer to do work, but for messaging, searching, simple connectivity that is / will be overkill, even in the face of netbooks).

It follows that the development process, then, of web applications (and other utility applications) will need to become less (not more) specialized. The good news - this will slowly come. The beginnings are starting to show up.

Android Phone "Live CD", usable in VirtualBox;
Palm PRE SDK (also using VirtualBox);

The Blackberry SDK - J2ME development (Eclipse); currently their tool say they require windows for their MDS RAD tool;

iPhone SDK - Requires Mac OS/X, and last I read approval from Apple before you can distribute your apps;

As you can see, this leaves you with 4 different development approaches, the last two providing their own emulators. The first three have plugins for Eclipse (so that is at least some common development feel). The first two can use Linux for a development environment (in fact, Android's "standard" development environment has been Ubuntu). The Blackberry development environment seems to be Windows only, but you _could_ run that under virtualbox on Linux, possibly with the Windows-7 Release Candidate.

So at the root, the common environment seems to be a small overlap of Palm-Pre & Android, although I don't think the development approaches are similar. In short, providing seemless services for the new "mobile pocket PC" (e.g., smartphones) is a steep hill. Clearly, this will have to change at some point. Right now, there seem to be 4 competitors for this space. A similar shootout is taking place for RIA client end, with Flex/Flash vs. JavaFX (?) vs. Json (is SVG anywhere in this mix?). That's a lot of choices for a developer of end-to-end solutions for this space.

One interesting item: Android has a native scripting environment, which (among other things) gives you access to phone facilities through a natively executed Python interpreter.

More on this later.

Another Fedora Kernel Update

I followed suggestions on the Fedora forums - now when rebooting after a kernel update, the fastest way to re-run the NVIDIA driver install (and thus a recompile of kernel interfaces):
  • at grub boot menu, "a" to alter kernel options;
  • add '3' (without quotes) to the end of the line to come up init 3
  • login as root, and run the NVIDIA installer (with the --upate option, it will check if a newer NVIDIA driver is available from the nvidia ftp site, and get it)
  • reboot (actually, could probably just init 5...)
That's it. Not great, but simple enough, short of creating an automated script to just re-compile the kernel interface. This will do for now.

Fedora Library Conflicts

Today, I attemped a recommended system update on Fedora-11.

I had a conflict between a i586 and an x86_64 qt library. Not knowing where the 586 library came from, I yum remove'd it - it removed the following dependencies:

Running Transaction
Erasing : 1:qt-4.5.1-13.fc11.i586 1/5
Erasing : 1:qt-x11-4.5.1-13.fc11.i586 2/5
Erasing : phonon-backend-xine-4.3.1-6.fc11.i586 3/5
Erasing : phonon-4.3.1-6.fc11.i586 4/5
Erasing : skype-2.0.0.72-fc5.i586 5/5

Removed:
qt.i586 1:4.5.1-13.fc11

Dependency Removed:
phonon.i586 0:4.3.1-6.fc11 phonon-backend-xine.i586 0:4.3.1-6.fc11
qt-x11.i586 1:4.5.1-13.fc11 skype.i586 0:2.0.0.72-fc5
The system update then worked.

I guess with 64-bit Fedora, you have to find a 64-bit skype (?).

Not sure.