Hi! Thanks for visiting my blog. If you've received any value from my content would you mind supporting my new startup by downloading our browser add-on? It's called PriceBlink and makes online shopping a breeze. You can watch it in action here and download it for Chrome, Firefox, IE, or Safari by going to PriceBlink.com. Thank you and I hope you enjoy!

PriceBlink Price Comparison Comes to iPad

Nov 19

Check out the video here:

and you can install PriceBlink for iPad by going here:

http://www.priceblink.com/priceblink-for-ipad

Read More

Deleting Local Storage for Chrome Extensions

Nov 14

While testing our latest version of PriceBlink price comparison extension for Google Chrome we needed a way to delete our local storage. It’s not a problem to delete local storage programmatically, but we wanted to test a fresh install where the local storage object didn’t exist yet. The easiest way that I’ve found to do this is by manually deleting the storage file and restarting Chrome.

For Mac users the local storage file can be found in:

/Users/YOUR_USERNAME/Library/Application Support/Google/Chrome/Default/Local Storage

Within that folder you’ll see a bunch of files. To locate the file you want to delete you’ll need to find your extension’s unique identifier. This can be done by opening the Extensions tab in Chrome. For Mac users this is under Window > Extensions. Once you locate your extension simply click the arrow icon next to the extension name to expand details. You’ll notice an ID field that contains the extensions’s unique identifier. Now that you have the identifier you should be able to locate the local storage file in the folder I listed above. It will be of the format:

chrome-extension_[EXTENSION_ID_GOES_HERE]_0.localstorage

Simply delete this file and restart Chrome. The first time your extension reads from local storage you should see that your items are undefined and the first time you write to local storage the file will be created.

I know this isn’t the most elegant way to solve the problem so if you have any better alternatives then please post in the comments below.

Also, clearing browsing data in Chrome’s preferences does not clear local storage objects for extensions. That’s a good thing.

Read More

Installing MongoDB on Ubuntu Jaunty 9.04

Oct 30

I have a Ubuntu Jaunty VM on Slicehost where I wanted to install MongoDB. Unfortunately Jaunty reached EOL on October, 2010. Since I didn’t want to upgrade my Jaunty installation I found a way to install Mongo DB from source as described in this article:

http://www.mongodb.org/display/DOCS/Building+for+Linux#BuildingforLinux-Ubuntu9.04and9.10

To make this work you need to install several dependencies as described in the article above. You need to update your /etc/apt/source.list from:


deb http://archive.ubuntu.com/ubuntu/ jaunty main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ jaunty main restricted universe

deb http://archive.ubuntu.com/ubuntu/ jaunty-updates main restricted universe
deb-src http://archive.ubuntu.com/ubuntu/ jaunty-updates main restricted universe

deb http://security.ubuntu.com/ubuntu jaunty-security main restricted universe
deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted universe

to:


deb http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty main restricted universe

deb http://old-releases.ubuntu.com/ubuntu/ jaunty-updates main restricted universe
deb-src http://old-releases.ubuntu.com/ubuntu/ jaunty-updates main restricted universe

deb http://old-releases.ubuntu.com/ubuntu jaunty-security main restricted universe
deb-src http://old-releases.ubuntu.com/ubuntu jaunty-security main restricted universe

Note the old-releases which tells Ubuntu to pull packages from the old repos. After making this update you need to run:

sudo apt-get update

and then you should be able to follow the MongoDB installation process above.

Read More

Older Mozilla Firefox Builds

Oct 28

If you’re doing any sort of Firefox add-on development or just need an older version of Mozilla Firefox then here you go:

ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

I recently needed Firefox 4.0 for testing an add-on and was able to use the link above to download it.

Read More

How to Move MySQL’s Data Directory on Ubuntu

Oct 12

I recently setup a MySQL database on EC2 and wanted to move the data directory off the root partition. For the sake of simplicity I wanted MySQL’s data files to live in /mnt/mysql. I thought this would be a trivial task and after moving the files and updating /etc/mysql/my.cnf data to:

datadir = /mnt/mysql

I restarted MySQL and noticed the following error in the log file:

/usr/sbin/mysqld: Can’t find file: ‘./mysql/plugin.frm’ (errno: 13)
111012 1:10:01 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
111012 1:10:01 InnoDB: Initializing buffer pool, size = 8.0M
111012 1:10:01 InnoDB: Completed initialization of buffer pool
111012 1:10:01 InnoDB: Operating system error number 13 in a file operation.

MySQL wouldn’t start so I scratched my head for a bit, did some Googling, and discovered AppArmor on Ubuntu. It turns out that AppArmor restricts the capabilities of any program that has a profile configured. MySQL falls into this category.

So I updated the AppArmor profile for MySQL. This file is located in:

/etc/apparmor.d/usr.sbin.mysqld

You’ll see a couple lines that look like:

/var/lib/mysql/ r,
/var/lib/mysql/** rwk

I changed those to:

/mnt/mysql/ r,
/mnt/mysql/** rwk

and restarted AppArmor via:

sudo /etc/init.d/apparmor restart

Then I started MySQL and was good to go.

Read More

Problems Installing Node.js on OS X Lion

Oct 07

I’ve been wanting to try Node.js for some time and finally got around to it last night. I’ve had all sorts of little problems after upgrading to OS X Lion and ran into one when compiling Node.js. I was following the howto guide on the Node wiki page and received an error when running ./configure. The error stated:

/Users/db/_dev/nodejs/wscript:232: error: could not configure a cxx compiler!

which looked like this:

It turns out that after upgrading to OS X Lion that my g++ and c++ compilers were no longer working. Instead of digging into the root cause I decided to upgrade to Xcode 4.1.1 from the Mac App Store. Unfortunately, this was a 3.1 GB download so I had to wait a bit before I could continue with my Node.js install.

After Xcode was downloaded the App Store showed that it was installed as you can see here:

But unfortunately that wasn’t the case. The file had only been downloaded and not installed. I had to use Spotlight to locate the “Install Xcode” binary:

After installing Xcode 4.1 I was finally able to configure and make Node.js. Now on to bigger and better things. I hope this helps those who run into the same problem of installing Node.js on OS X Lion.

Read More