Archive for the ‘Tools’ Category

Finding the error console in Firefox 4 beta…and more!

Wednesday, July 7th, 2010

firefox logoThe Firefox 4 beta is out, and I’ve run it through the gamut of applications that I’ve written and somewhat responsible for (good news: everything works!), but I ran into a bit of a problem trying to find the JavaScript (or error) console. The reason for this is that Firefox 4 no longer has a menu bar by default, but instead has a single Firefox drop down menu in the upper left of the Firefox window.  I like this, because it gives more room for what you’re on the Internet for: content. Since the advent of tabs and toolbars, content has been continually having it’s real estate stolen, so it’s good to see content area reclamation taking place.

But without the menu bar, there’s no (visible) way of getting to the JavaScript console. However, it’s still possible to get the menu bar to appear temporarily by pressing the alt key; the tab area pushes down, and exposes a menu bar near the top of the screen. Once the menu bar appears, you can go to Tools -> Error Console to get your JavaScript debug on. While looking at the Tools menu, remember that the key combination Ctrl-Shift-J will bring up the console directly.

If you want the menu bar back permanently, go to the Firefox drop down menu, select Customize, then check Menu Bar, and the menu bar stays, leaving the JavaScript console at your beck and call.

BUT WAIT!

The Error Console is old news. It’s soooo 2008. Now all the cool kids are using the Heads-Up Display, which, from what I’ve seen, is the Error Console on steroids.  There are more types of events to filter, including DOM mutation (which is great for AJAX debugging). Check it out.

Annoying tab behavior in Firefox 3.6 beta

Monday, December 21st, 2009

firefox logoI’ve finally started looking at the new Firefox beta releases, just to see if all the extensions I use still work (they do) and the sites I visit regularly still display correct (they do, too). While doing so, I found what I believe to be a new behavior in the way a new tab is opened when selecting ‘Open in New Tab’ from the context menu: It opens immediately to the right of the active tab. This is different than what I’m used to, that is, to have the new tab open all the way to the right. There are many use cases I have that flow much easier when tabs open as the very rightmost screen, and found this new (if it is new) behavior disruptive.  So disruptive, that I was about to uninstall the beta and go back to 3.5.  However, after doing a bit of investigation in the oh-so-useful about:config page, I found an easy workaround.

With the Firefox 3.6 browser running, type about:config into the location bar. If you’ve never visited this page before, you’ll see a dialog warning you that visiting the page will void your warranty (remember, this is free software, there is no warranty; this is a joke), go ahead and click the button in the dialog to get to the configuration editor. A list of configuration settings will appear.  To make it easier to find the value that needs to be changed, click in the ‘Filter’ field and enter ‘browser.tabs.insertRelatedAfterCurrent‘ (do not enter the quotes).  After doing so, only one item will appear in the list, and that’s the configuration item that needs changing:

Firefox's about:config screen with filtering

Firefox's about:config screen with filtering

Since this is a boolean (on/off) field, all you need to do is click on it to change it.  Once you click on the row, the value will change from true to false, and the text will be bold, signifying that the value has been changed by the user. Close the about:config window, and start opening new tabs, and you’ll notice that the tabs are always being opened all the way to the right, regardless which tab is active when the new tab is opened.

This appears to be a new configuration, as that preference name does not appear in the Firefox 3.5 about:config page. So it does appear this is new functionality.

Chrome Frame: What’s the big deal?

Tuesday, October 6th, 2009

chromeLast week, Google introduced Chrome Frame, an extension to Internet Explorer that allows Google’s Chrome browser to work inside IE. The advantage of doing that would be a much faster JavaScript engine, better rendering, plus support for HTML 5. That’s all great, but why the all the fuss? To my eye, this looks like technology for technology’s sake.

The obvious target of this is the standards-ignoring, security-threatening, bloated piece of s…oftware called IE6.  I’ve run into many instances of working for clients that MUST use IE6.  Why MUST they? Because the work in tightly-controlled PC environments, where they’re unable to download, yet alone install, any software. That would include web browsers. Some clients have had such tight security policies that they weren’t even able to control their pop up blocker settings.  These are people who have to put up with the inadequacies of IE6 because their IT department doesn’t trust them to install their own software.

I truly feel sorry for people who work in environments where they have no control whatsoever over their PC (remember that the ‘P’ stands for “Personal”).  At first, it would seem that this Chrome Frame extension would be a workaround for those stuck in IE to experience modern rendering, the fastest (maybe) JavaScript engine, and some HTML 5 goodness, but it’s not. If they’re unable to download Chrome or Firefox to replace IE, how are they going to download the Chrome Frame extension? If they do not have rights to install, how are they going to install the extension, assuming they were able to bring the extension in from home on a USB drive (although many tightly-controlled workplaces have also disabled USB drives as well)?  The answer is: they’re not.

OK, so maybe this is for people who can download and install on their own PCs, and THEY can experience the HTML 5 goodness, zippy JavaScript and fancy rendering.  What’s been stopping them? If they can freely download and install, why not just use the real deal and download and install Chrome (or Firefox) in the first place?

How to retain original row numbers in an Excel spreadsheet

Monday, September 21st, 2009

Sometimes I receive spreadsheets that contain requirements or issue lists, and find that it’s hard to reference a specific row if I add or remove rows from the original document. For example, if I receive a spreadsheet with 25 requirements in it, and no unique identifier column, I’d use the row number to identify a specific requirement if I had to email a followup question. However, if I deleted one of the requirements because it was no longer applicable, the numbering would change; when you delete a row, all rows below it are moved upward. If I had referenced one of the rows under the row I’d deleted, that row number is now incorrect. The easiest way around this is to ensure that the spreadsheet has a unique ID column in it, and avoid using the row numbers. Use the following steps to add an ID column to a spreadsheet.

  1. Add two new columns to the far left side of the sheet. These will become the new columns “A” and “B”
  2. In the first row of the first column, enter the number 1.
  3. In the second row of the first column, enter the formula =A1+1; after typing the Enter key, the number 2 should appear.
  4. Copy the the second row of the first column, then select all the other rows in the first column, and paste
  5. You should now have a list of numbers in column A that match the row numbers; select them all, and then copy them.
  6. Use Paste Special to paste just the values (NOT the formulas) into the second column.
  7. Delete the first column. The new column A is now the original row number, and should match up with the ‘real’ line numbers. You can now add and delete rows and still be able to reference by the original row number.

The reason why you need to ‘Paste Special’ is because if you used formulas, those values would change when rows were added and deleted, and you’d have the original issue: unable to identify the original row number.

And now, a word about using spreadsheets to track defects or issues: Just don’t do it. Spreadsheets were made for calculating things, not to be a database. In fact, it makes a terrible database. If you need to track issues, or report bugs, use a real issue tracking system such as Bugzilla or Jira.

I would do the same for tracking requirements. While issue trackers usually do not do a good job tracking requirements, they do a better job than a spreadsheet.

Unable to use access keys in Firefox?

Wednesday, September 16th, 2009

I recently encountered a problem with a personal web application that makes heavy use of access keys (alt + some key). During a recent cleanup that involved removing old extensions (and some that I just didn’t need anymore), the ability to invoke any action via an alt key stopped working.

The fix was to make a change to our old friend about:config. Go to about:config and filter for “ui.key”, and you’ll see something similar to the following:

The value that I needed to change was generalAccessKey, which had to be changed from the default -1, to 18, which is the character code for the alt key.

Once the value was changed, my alt key shortcuts started working again. If there is a clash between an alt key in the web application and a shortcut for a menu, the web application will win. In my case, there was a button that used alt+T to invoke an action that overrode the alt+T that normally drop down the “Tools” menu.