Optimizing the Firefox (SQLite databases)

Most people that want to speed up Firefox know about the various settings in about:config but many forget that Firefox uses SQLite databases that can become cluttered.

In your home directory ($HOME on *nix/Mac and %APPDIR% on Windows), run sqlite3 with vacuum, reindex and analyze on eche of the *.sqlite databases. Don’t have sqlite3? No problem, get it from the SQLite Download page or your distribution’s package manager (e.g. apt-get install sqlite3)

#!/bin/bash

cd ${HOME}/.mozilla/firefox/

for profile in *.default; do
cd ${profile}

for db in *.sqlite; do 
echo Processing $db
sqlite3 "${db}" < 

That wasn’t hard was it? 🙂

Share Button

Ubuntu 8.10, a tethered Windows Mobile 6 cell phone via USB, Firefox and Pidgin Messenger

To tether a Windows Mobile 6 cell phone (make sure you have a data plan that allows tethering), you will need to install a few things:

sudo aptitude install subversion build-essential linux-headers-`uname -r`

Once those are installed, we need to download and build the latest usb-rndis-lite code:

svn co http://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
cd usb-rndis-lite/
make
##  remove the existing usb-rndis drivers with clean.sh
sudo ./clean.sh
sudo make install

Before you plug in the cell phone, you will need to blacklist the rndis_wlan kernel module:

sudo echo "blacklist rndis_wlan" >> /etc/modprobe.d/blacklist
sudo rmmod rndis_wlan

Plug in your cell phone. If you type “dmesg”, you will see something like the following:

[  152.312099] usb 4-1: new full speed USB device using uhci_hcd and address 3
[  152.500604] usb 4-1: configuration #1 chosen from 1 choice
[  154.138352] rndis0: register 'rndis_host' at usb-0000:00:1d.3-1, RNDIS device (SynCE patched), 80:00:60:0f:e8:00
[  164.441074] rndis0: no IPv6 routers present

This is showing that the phone was found. Let’s take a look at the list of interfaces using ifconfig:

....
rndis0    Link encap:Ethernet  HWaddr 80:00:60:0f:e8:00  
          inet addr:169.254.2.2  Bcast:169.254.2.255  Mask:255.255.255.0
          inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:8050  Metric:1
          RX packets:29 errors:46 dropped:0 overruns:0 frame:23
          TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2097 (2.0 KB)  TX bytes:9146 (9.1 KB)

On the phone, turn on Internet Connection Sharing and connect via USB. Wait a few seconds (obtaining an ip address can take up to a minute or so) then issue the ifconfig command again:

....
rndis0    Link encap:Ethernet  HWaddr 80:00:60:0f:e8:00  
          inet addr:192.168.0.102  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8200:60ff:fe0f:e800/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:8050  Metric:1
          RX packets:8113 errors:13535 dropped:0 overruns:0 frame:6766
          TX packets:8643 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6063101 (6.0 MB)  TX bytes:1890604 (1.8 MB)

Yay! We are connected.

In order to use Firefox, Pidgin or any other software that uses Network Manager, you need to stop the Network Manager daemon:

sudo /etc/init.d/NetworkManager stop

You will be able to use your applications again 🙂

Share Button

Native support of SQLite in Sybase PowerBuilder and PowerDesigner?

What I would love to see is native support for SQLite. http://www.sqlite.org

It is the most installed embedded database on the planet hands down.  Don’t believe me?  You know that Firefox web browser, Thunderbird newsreader, most Adobe products, Miro, etc all have it embedded?  – reference http://www.sqlite.org/mostdeployed.html

We use it extensively at work as:

  1. staging for mass data imports/exports/conversions
  2. local application ‘cache’ for large data sets
  3. projects that don’t require all the features of Sybase ASE (or Oracle for that matter)

One of the best features is that the database itself in platform independent… copy the db on to AIX from your Windows box … then on to your old Amiga … then on to your windows mobile device.  Getting the point?  🙂

I really wish Sybase would make it so that the Sybase ASE databases were truly platform and character set/sort order independent… but that is in another dream 😉

Not a blurb in the PowerDesigner/PowerBuilder manuals or anything

Share Button