Sunday, January 31, 2010

StackOverflow Chrome Extension - Update

Just a short update: I updated my extension and uploaded it to the Google Extensions sites. You can find it at http://tinyurl.com/SOExtension (Chrome version 4 and above and a StackOverflow profile required).

Version 1.2.0 now supports Meta.StackOverflow, utilizes the latest jQuery library (1.4.1) and fixes an annoying bug - all those by requests from users (see comments on that page).
I'm considering a future version that will alert you to a reputation change automatically. In the meantime, keep the comments and requests coming - I'm having fun smile

Update: just got a 'stamp of approval' from Jon Skeet, the leading StackOverflow-er smile. It was due to Jon's and Dan's requests that I've added Meta support. See the announcement here: http://meta.stackoverflow.com/questions/37731/stackoverflow-chrome-extension

Update 2: Just updated to version 1.2.1: The options page now includes instruction on where to find your Profile ID - thanks for the suggestion Sasha!

Tuesday, January 19, 2010

Haiti

I was about to write a scalding review of a gadget I have, but current issues make it less relevant.

On January 12th, a magnitude 7.0 earthquake struck Haiti. As if that place didn't have enough trouble with poverty, corruption and military regimes, nature devastated what's left of the island nation.

My heart goes out to the victims - especially since I know what an earthquake feels like. California suffered a 6.5 magnitude quake 2 weeks ago - but other than some minor damage and short blackouts, no one was hurt. A week before that my house shook to a 4.1 quake. The complete loss of control, the realization that there's nothing you can do and that a force much stronger than you is in action here is humbling.

There's nothing I can do to help those people, but contribute some of my money in hope it helps even a single individual. I urge all my readers to contribute as well - even a few dollars can make a difference down the line.You can find all organizations who help Haiti in this crisis, and how to donate, on this page, edited by Google.

I gave to MercyCorps using Amazon Payments so it just used my Amazon profile to submit the donation (and by the way SHAME ON YOU Amazon, for using this donation page to try and sell some books [look at the bottom of the page] - making money off this disaster is despicable, even if you did give MercyCorps a banner on your home page).

And one last thing: at the risk of never being welcome in Venezuela: SCREW YOU Hugo Chavez. May you be stuck in the same cubicle in hell with Pat Robertson.

Sunday, January 17, 2010

Chrome Extensions - continued

As you may recall, I developed 3 Chrome extensions, so I could learn about he environment and flex my AJAX muscles. 2 commenters alerted me to the fact that in following Chrome versions, the 'toolstrip' behavior I relied on would be deprecated, so I sat down to re-write 2 of the extensions to fit the new model (too many RSS extensions out there, so I left the third behind).

I made use of the new HTML5 features like localStorage, allowing me to save data locally; and the ability to include a properties page for the extension's data.

So, after some testing, I uploaded my extensions to an open source repository called ChromeExtensions.org (here and here) and then something strange has happened. Several well-known sites started publishing my extension for download (like CNet, ZDNet, VersionTracker and many others) - all, without notifying me or asking my permission. Fine, I thought, this is open-sourced software, and who cares how it gets distributed, as long as it does?

And then I got this: 2 sites, apparently related, called soft-files and soft-go (no links here- those bastards do not deserve them) started listing my extension AND SELLING IT FOR $3!!! This was no longer just irritating, but illegal. I wrote them an email asking to remove my extension from their site at once - no reply, but suddenly the "price" field changed to "Free!". I wrote the fraud department of their hosting service and got no reply from them either. May they all roast in internet hell.

In the meantime, Google rolled out its extensions repository (you'll need version 4.0.288 and higher - see my earlier posts). The easiest way to download new extensions is to select "Extensions" from the Wrench menu, and click the "Get more extensions" link at the bottom. so now you can download my extensions directly into your Chrome browser - just click this link to get the MyIP extension, or this one to get the StackOverflow one. Enjoy and comment. I'm already working an idea for a new one. Here's what my 2 extensions look like now:

MyIP Extension - shows your IP and location

StackOverflow Reputation extension - show's your reputation on the 3 SO sites

Properties Page for the StackOverflow extension

Saturday, January 9, 2010

Firefox Tips Part III

In the final installment of my Firefox tips series (links to part 1 and part 2), I'll cover add-ons (or add-ins or extensions as they are sometimes called).

Add-ons are small pieces of software that provide added functionality to a browser. While Firefox and Chrome support an easy add-on model, Microsoft's IE and Apple's Safari require compiling and registering add-ons. Most browsers offer repositories of add-ons, allowing developers to upload their latest creations and the general public to download them. Those repositories provide some peace of mind, usually checking all add-ons for any malware or security issues.

I've already explained how to disable Firefox's compatibility checking mechanism, to allow you to run any add-on, in any FF version. You'll need to use that tip for some of the add-ons on my lists. There's one for my default profile, and one for my web development profile:

Regular add-ons
  1. AdBlock Plus - The first add-on I install every time I install a new version of FF. This add-on uses a list of known advertisers addresses to prevent any ad from being displayed on any page you browse to. This not only makes your browsing experience faster, but safer as well. No doubt the most hated add-on by Google an other advertisers smile.
  2. Coral IE-Tab - though the number of sites that don't render well in FF has dropped significantly over the last few years, you may still need to use IE to view certain sites. But why use IE when you can click one button and the site opens an IE frame in an FF tab? As a bonus, Coral IE Tab also communicates with AdBlock to keep ads out of your IE tab.
  3. Delicious bookmarks - allows me to add bookmarks to my Delicious account for sharing across browsers and machines. Similar versions exist for IE and Chrome as well. You can see what sites I bookmark (usually tips, howtos and programming related sites) at http://delicious.com/gvider.
  4. Download Statusbar - allows you to follow the progress of your download from the status bar of FF, as well as open, locate, or delete the downloaded file.
  5. FoxyProxy - have you ever been frustrated by a message like "this site is blocked in your country"? Happened to me while I visited Israel and tried purchasing an MP3 file on Amazon, and when I tried watching a TV episode on the British Sky site from the US. After downloading this littl add-on, you add addresses of proxy servers, allowing you to pass yourself as a native of other countries. Oh, and it screws up with advertisers as well wink.
  6. Google Redesigned - if you use Google Reader, Calendar and Gmail sites, but get bored by the (lack of) design, this add-on will add some color to your screen:


  7. Greasemonkey - much like the previous add-on, allows on-the-fly redesign of every site on the internet. It also adds functionality to sites and mashes-up information from several sites on a single page. I use it to add the Emoticons (eek,razz) to my posts (it grabs the icons off another site), to render Google Reader posts on the same page and to save Youtube files to my local disk. Scripts are written in JavaScript and are viewable and editable. Go to Userscripts.org to grab some scripts.
  8. Personas - a new feature in FF 3.6 (currently at RC1) allows you to change the look-and-feel on the fly, replacing the need to download themes and restart the browser every time. Currently I use the Golden Gate Bridge persona.

  9. SafeHistory - I already reviewed this add-on at length.
Development add-ons (useful for web development - skip if you're not ineterested)
  1. Colorzilla - a color picker, allowing you to get the RGB values of every color on the screen.
  2. DOM Inspector - allows isolation of every element in the DOM (document Object Model) as well as changing it on the fly.
  3. ElasticFox - allows management of Amazon EC2 instances - great for my current project.
  4. FireBug - THE definitive JavaScript debugger, including a DOM inspector, an AJAX inspector and a full debugger.
  5. JSONView - allows analyzing JSON (JavaScript Object Notation) objects.
  6. Modify Headers - allows manipulating HTTP headers on the fly - both outgoing and incoming.
  7. SQLite Manager - allows managing SQLite files. SQLite is an open source, single file database in use by many applications (run a search on your hard disk to see how many *.sqlite files you already have on your machine).
  8. User agent Switcher - allows you to switch your browser type on the fly to test how a web site behaves under different browsers.
  9. Web Developer toolbar - adds a toolbar full of useful web development tools.
You can get most of these add-ons at the Mozilla repository. Drop me a comment if you're using any interesting add-on I should be aware off.

Friday, January 8, 2010

Firefox Tips Part II

It took some time, but here is part II of my Firefox tips trilogy. Today, we'll talk about "profiles".

Everything you do, install, browse, save etc. is saved in your FF profile. I'll show you how to backup your profile, migrate it to a new machine, create new profile and use them for different browsing purposes.

Where is your profile?
On Windows (Vista, 7) Your profile can be found at %AppData%\Mozilla\Firefox\Profiles, where you most probably will find a folder with a name like "jnkpk4bj.default". If you have more than one profile already, you'll see other folders named xxxxxxxx..

Create and manage profiles
To create a new profile or manage existing profile, run "firefox.exe -ProfileManager" or create a shortcut that contains the full path (in my case "C:\Program Files (x86)\Mozilla Firefox 3.6\firefox.exe" -ProfileManager) and call it Firefox Profile Manager. This will get you to this simple profile manager app:

As you can see, I've created a "Dev" profile, that I use for web development. This allows me to install different add-ins and have different config settings that are conducive to web development.

You could also use the ProfileManager to launch FF into the profile you just created, or, like me, just create a shortcut for each profile, using the -P parameter (i.e. "C:\Program Files (x86)\Mozilla Firefox 3.6\firefox.exe" -P "Dev" -no-remote).
The -no-remote will force this version to work online only.

Backup and restore profiles
Now you know which directories to backup, but for a complete solution that would allow you to selectively backup your config settings, add-ins, bookmarks, passwords etc. - you need MozBackup. It will allow you to backup and restore your FF profile and password-protect that backup file (think about it - it contains so much private info about you, not to mention passwords). It will also do the same for other Mozilla apps (if, for example, you're using the Thunderbird mail client).

Migrating profiles
Basically, with every new machine I get I install the newewest FF version right after the OS installation. I then copy over my backed up profile (on Windows, I just use the MozBackup "restore" function) and can start browsing immediately, using my bookmarks and add-ins. FF's cross-platformness makes it pretty painless.

The next and last post will deal with add-ins - which to get, and why is it good for you.