Category Archives: Tips

Top 10 Firefox Extensions that Enhance Usability

All of these extensions work on Firefox 3.x


What can I say.. Firebug is indispensable. It’s quite possibly the greatest piece of software since Firefox itself. It’s a *must* have if you do any sort of XHTML/CSS/Javascript/AJAX/er.. anything!

You can edit code on any site, live. Hate the annoying background on a specific site? Get rid of it. Ugly font? Change it. No contrast between colors? No problem. The changes aren’t permanent, of course (that’s what Greasemonkey‘s for).

There’s no better AJAX/CSS debugger. It even has a console you can use to interact with the site. Works with AJAX libraries (since they’re essentially just Javascript), and jQuery can output text to the Firebug console. No more alerts()!I won’t even go into the neat array of plugins it has.

Just get it. Tip: F12 toggles Firebug, and ctrl+F12 opens it in its own window.

Open In Browser

This should be built into Firefox.

FF Save as.. dialog

It’s still experimental, so you need to register to install it, but it’s well worth it. Sometimes when you’re viewing images or ASCII files (like source code) online, you want them viewed in the browser, but the site forces you to download them.

One example any Google Images Surfer is aware of is the fact that images hosted on Blogger cannot be viewed in the browser. Very annoying – unless you have this extension installed. It adds an option to open files in the browser to the file download dialog.

Tabs Open Relative

This should not only be built into Firefox, it should be the default behavior.

Causes new tabs to open next to the current tab, instead of launching after the last tab you have open.

Download Statusbar

What’s more annoying than tabs opening a thousand pixels away? The Firefox download dialog. It’s big and too intrusive to keep open permanently, and I get annoyed when the download is done and it suddenly vanishes. Solution? Download to the desktop and don’t use the download dialog.

Another solution? Use this extension. In mini-mode (full-mode is too bloated IMO), it displays the number of files still in progress on the bottom-right of the browser, and a single click on this opens a little “drop up” menu that displays your downloads and their status. Hovering over the filename reveals all the info you need about that download. Double clicking the file opens it and removes it from the download list.

And the ctrl+Y default download dialog is still available and functions normally (if you want to use it).


Ubiquity is to Firefox what Quicksilver is to OS X, what Gnome Do is to Linux. From its Wikipedia page:

Ubiquity’s main goal is to take a disjointed web and bring everything the user needs to them. This is accomplished through a command-line-like interface which is based on natural language commands. These commands are supplied both by Mozilla and by individual users. Commands are written in Javascript and either directly typed into the command editor that comes with Ubiquity or subscribed to. Commands to which a user subscribes are automatically updated when the author updates the code.

I won’t go in-depth about this because Aza has done so already.


This extension is initially unappealing because it seems to break most sites. What it does is disable Javascript (and by default, Flash) on any new sites you visit, until you explicitly teach NoScript that they’re trustworthy.

Besides nuisance and security reasons, one huge benefit is the fact that you can block/unblock specific domains per site. So you can enable JS on a site but keep Google Analytics or some annoying JS ads being loaded remotely, disabled.

I used NoScript on and off, but finally settled on making it permanent by changing some options to make it less annoying to me. These settings work good for my own browsing habits; YMMV.

  • Stop auto-page reload – I prefer doing this manually.
  • Forbid everything except Flash and IFRAME – nspluginwrapper crashes Flash all the time anyway :P
  • Show Status bar icon (not label)
  • Place blocked-scripts message on the bottom instead of top
  • Hide message after 3 seconds – I don’t even need this. I’m aware that JS is off by default now
  • Allow local links – Good if you develop

The main turn-off people have towards NoScript is the fact that you need to get used to unblocking sites you’ve been visiting hassle-free for years, but after a few days you’ll notice that, since you only need to allow a site once (permanently), nearly every site you visit on a regular basis will be whitelisted and will work as it always had.

My whitelist has hundreds of items, and I do view new sites on a daily basis, but in the past few days the only site I recall turning JS on for was InventiveLabs’, to see the crazy js light-switch effect.


Stealther has plenty of uses, one of which is being able to quickly see what your site will look like for users with cookies disabled, but it’s not a very versatile porn-mode. A lot of sites require cookies to be enabled, including Google Images (to keep the filter option saved), but Stealther has be fine tuned.

Hiding your history can also be achieved by using ctrl+H, sorted by Last Visited, and just hitting DEL on the top few links (why can’t you ctrl/shift select?) you visited. It doesn’t remove everything, but removes enough.

Gmail Notifier

This is not the same as Google’s Gmail Notifier Toolbar.

I’ve tried a bunch of Gmail notifiers for browsers, Gnome, KDE, etc. Nothing compares to Firefox’ Gmail Notifier. First, who only has 1 email address anymore? A notifier needs to allow multiple accounts. Second, I’d like to be notified of unread messages only until I actually visit my inbox and decide whether I want to read them or not. Many notifiers will continue to bug me until I mark the emails read or explicitly tell the notifier to stop.

Adblock Plus

I like ads. Well placed ads, not the Adsense box in the middle of an article, or sites that have more ads than content, like Ads are downplayed and taken for granted, but some are brilliant, and they still work, even on us geeks. But people hate them, and so we have Adblock.

I initially couldn’t stand this extension because it kept blocking legitimate images. That was way-back-when, and I was re-introduced to adblock when I picked up Swiftweasel. Actually, I don’t know if re-introduced is the right word. I just happened to notice it was available and was too lazy to remove it.

Install it, set it on the easy-filter and forget about it. If curious, here is the difference between Adblock vs Adblock Plus.


I have a bad habit of losing track of my time when browsing the web (I’m literally addicted to the Internet). This extension helps shed light on this fact. . It keeps track of how long you’ve been using wasting your life browsing the web.

Has a useful filter option to disregard specific sites (i.e., editing your router settings, doing job related work, etc). However, in practice, I usually forget I have it installed and don’t notice it. What I really want is a timer that will alert me every N minutes I’m viewing a site. So if I’m on Wikipedia for more than 10 minutes, it’ll bring me back to Earth and make me realize that I should be working instead of holding ctrl and clicking every in-site link on the Wikipedia page.

The extension is actively being developed, and a lot of nice features are planned (see this thread).

(Honorable mention)


Vimperator is amazing. You know those crazy ideas you get sometimes that you think are brilliant in a humorous, “if only,” sarcastic, sort of way, like “Why can’t everything in life have a vim-like interface and bindings?” — yeah, that’s exactly what Vimperator does with Firefox.

Opera users may check out this page.

What Firefox extensions do you recommend?

Bypassing spaceball.gif When Savings Images From Flickr

There are plenty of ways to save pictures you find on Flickr. One way of doing so (in Firefox) is right-clicking the browser page and heading to View Page Info -> Media. This is too much work.

Flickr layers a transparent file named spaceball.gif – a 43 byte 1×1 px file – over some images, rendering the traditional right-click -> save as…, or dragging the image to the address bar methods useless. This simple technique probably fools most people, but you can simply bypass this by right clicking the bottom edge (1-2 pixels in height) of an image and saving as usual. You can also drag the image from the last row of pixels and drop it where ever you like.


Easily Installing Vim 7.2 From Source

Vim 7.2 beta was released last month, and 7.2 is now stable. First check to see if your distro offers a package, and if not, follow these simple instructions on how to install it from source, from the vim7.2 subversion branch.

cd /tmp/
svn co
cd vim7.2/
./configure --with-features=huge --enable-gui=gnome2 --enable-cscope --enable-pythoninterp

Now you can use sudo make install and you’re done,…but

I suggest using checkinstall (sudo apt-get install checkinstall) to keep track of the installed files, create a package, and have the option of easily removing whatever you installed easily (i.e., dpkg -r vim7.2).

sudo checkinstall -D

If the above command doesn’t work, you aren’t alone. It recently began giving me these errors:

cp vim /usr/local/bin/vim
chmod 755 /usr/local/bin/vim: setting permissions for `/usr/local/bin/vim': No such file or directory
make[1]: Leaving directory
… etc …
**** Installation failed. Aborting package creation.

I dug up some info about the problem, along with a solution:

There seems to be a bug in the filesystem translation code which has been
biting people using newer versions of glibc found in most recent linux
distributions. It is being worked on. If you find weird install errors
when running checkinstall but your software installs fine without
checkinstall then you can work around the bug by disabling the fs
translation code and forcing checkinstall to install the package. Use the
–fstrans=no and –install=yes command line options:

checkinstall <options> –fstrans=no –install=yes <install_command>


From the man page:

–install Toggle installation of the created package.
–fstrans Enable/disable filesystem translation. Filesystem translation
enabled causes the install to proceed in a  temporary  directory, thus not actually touching your system.

sudo checkinstall --fstrans=no --install=yes

You can also have checkinstall create a package by passing in one of these flags:

–type  Choose packaging system. Can be one of ’slackware’,  ’debian’ or ’rpm’.
-D        Create a Debian package.
-R        Create a RPM package.
-S        Create a Slackware Package.

For example, to create a Debian package, I would do this:

sudo checkinstall --fstrans=no --install=yes -D:

Done. The new package has been installed and saved to

To see the changes from 7.1, use :help version-7.2

Simple and Effective Productivity Tip When Working on the Computer

This falls under “Why Didn’t I Think of This Before?

Not being able to remain focused and get things done while working on a computer is common. There’s a countless number of things to do even offline. You can, and probably do:

  • Organize folders/desktop/etc
  • Finally get around to actually opening up an ebook you’ve downloaded
  • Customize your desktop (and then hours later, frustrated, revert it back to how it was originally)
  • Edit apps/recompile your kernel
  • hell, even making selection squares on your desktop using the cursor is a blast when you’re trying to avoid work.

One thing I’ve always thought of but never really pursued was to write some ADHD scripts. Blocking certain sites or having them only enabled for a fixed period of time each day, being able to hide distracting windows/icons/shortcuts while working, something that would sound very annoying alarms and spam me with pop-ups to ruin my illusions of grandeur, timers, etc.. Well, none of that happened, and I’d probably find ways to hack around any methods I implement anyway.


A few weeks ago, out of the blue, I had a sudden insight. Creating a new user account! It’s obvious.. too obvious, but I’ve never met anybody that does it. Not only was my regular account unorganized and loaded with distractions, but I normally keep Swiftweasel/Firefox open forever (almost literally) and can’t stand the memory-leak feature.

If it gets bad enough, I revert to “xkill” (kill -9) the browser and relaunch it. It helps, but I hate waiting for a few dozen (literally) tabs to load. Off-topic, but in my experience, there is no real workaround for this issue. None of the cache/memory settings do anything significant, and not keeping the browser open isn’t an option. Though I’m using Prism for some things now.

There are extensions to save your tabs and stuff, but.. meh… I’ll just suffer.

My work account:

  • Doesn’t have my fun desktop shortcuts, nor my Swiftweasel bookmarks and extensions.
  • Has the Gnome “typing break” option enabled (System->Preferences->Keyboard). This locks the keyboard for as long as you want, at any interval you want. It reminds you to take breaks and helps reduce the risk of Repetitive Strain Injury (a serious problem).I have enabled it on my regular now too. Since I type a lot when working, my work account setting for this feature is to halt the keyboard for 3 mins every 20 mins. On my regular account I halt for 10 minutes every 60 minutes + have the option to postpone a break enabled.
  • Has a high contrast/big font theme with a plain background. Actually, I now use the default Ubuntu background on all my accounts. It’s aesthetically appealing without affecting usability.
  • Different compiz-fusion settings. Despite the increased RAM usage (which isn’t a lot), Compiz-fusion can increase productivity significantly. Zoom, ADHD plugin, the window switchers and live previews, among others, are helpful, depending on what you’re working on.
  • Different widgets (see above). I use screenlets.
  • Less memory usage because I don’t need to keep my browser running and there aren’t many tabs open at once. Switching user accounts also gives me back the memory my browser hogs on my regular account, and I can restart the session when I switch back.
  • Different startup options, auto-join IRC channels and Pidgin settings, Bash aliases, shortcuts, default editors, file associations, IDE and editor settings, drives mounted (it’s good to have different partitions for different things), etc. It’s true that most editors and apps let you save profiles, but I only use that for backup or to ‘branch’ settings.

Making a new account is surprisingly tedious, but well worth it. Be sure to keep things in sync between each account if you need to.

Example to create name and password, and give the new account sudo rights:

$ sudo useradd -m -G users,video,cdrom,fuse -c "Zug Zug?" peon
$ sudo passwd peon
$ visudo

If the above is overkill, an excellent solution is to just manage multiple browser profiles. This page explains how you can manage profiles in Firefox.

Besides working less, and taking breaks, how do you stay focused on task, especially in regards to programming and computers?

How to Speed Up Fullscreen Flash Playback in Linux

Hardware acceleration is not available in fullscreen mode for Linux yet, at least not with Adobe’s Flash 9.x plugin. This isn’t much of a problem with small videos, but it results in choppy, sluggish playback in fullscreen mode. Fortunately, there’s a simple way around this while we wait for Adobe to address the issue.


If you’re using compiz-fusion, a simple fix is to enable Zoom Desktop in the CompizConfig Settings Manager (command “ccsm” or System->Preferences->Advanced Desktop Effects Settings in Gnome/Ubuntu).

Now just zoom into the small video. You need to play around with the settings a little to make it easier to get the video centered (decrease zoom step, etc). It works perfectly.

This is actually a nice hack. It’s simple and gives you the option of zooming in further than fullscreen takes you, and you can choose certain parts of the video. Yes, you would be able to do this normally by resizing and moving the window if HW acceleration was available, but I like being able to quickly zoom in and out with the mousewheel.

Got API? Instantly Search API Documentation does an excellent job congregating API documentation for numerous programming languages under an AJAX interface. No more bulging neck veins or fulmination when you can’t remember the order of those pesky arguments.

No support for your favorite language? Contribute.

You can add a gotAPI Search Widget to your site:
See Ruby/Rails widget below (requires Javascript). Still in beta and might have UI issues, but it’s functional. Try typing map or validates and hitting enter.

Quick Ruby / Rails lookup

powered by