The PayPal Security Key

By hagrin - Posted on 03 March 2007

Recently, when I heard that PayPal would be offering additional security through a keychain security key (or key fob), I immediately signed up that day even though I rarely use PayPal and Ebay. For me, I want to be an early adopter of two form authentication since most Internet users really should be protecting themselves in every available manner (from themselves in many cases). I applaud PayPal and Ebay for implementing this additional layer of security before any of my banks have and I hope that more institutions follow suit.

First, I paid $5 USD to get the security key. I ordered the security key over a month ago and was surprised when it came today in the mail. If you haven't seen an image of the key yet, I've included one below -

Activating your security key is extremely easy. All that you need to do is browse to PayPal's security key page, enter in the serial number on the back of your key fob, press the key's button to generate a 6 digit number, wait 30 seconds and then retrieve a second number. If successfully activated, your security key will be attached to your account. I logged out and logged back in to test the new system and loved the simplicity. After successfully entering in my email address and password, I was now presented with an additional screen asking for my 6 digit number instead of my normal Account status screen.

It's that simple.

With all of the talk of Ebay hackings and PayPal insecurity, any user that relies on either of these services would be foolish to not spend the 5 dollars to add yet another level of security. This security key provides protection against those phishing attempts that are lucky enough to catch you with your guard down since even if they sniff out your email and password, the 6 digit security code will prevent them from fully accessing your account. You'd have to say - PayPal is definitely on the right track and got "it" right this time.

Using Unique META Description Tags

By hagrin - Posted on 28 February 2007

SEO Roundtable posted an article recently about why a webmaster should use unique META description tags. Their informative post describes how the dreaded "In order to show you the most relevant results, we have omitted some entries very similar to the 1 already displayed. If you like, you can repeat the search with the omitted results included" Google message is a clear warning sign that your site doesn't use unique META tags. META description tags are used to give search engine users a clearer description of what your page is really about past the title and some text from your root site page.

Interestingly enough, this site doesn't use unique META description tags and that is something I hope to rectify after a little research as to whether or not Drupal 5 has an option for turning them on. Hopefully, these descriptions will help search engine users find my content easier and more frequently. Once I do find a Drupal 5 modification, I will relay it to the community through this site.

View Your Supplemental Index Results

By hagrin - Posted on 27 February 2007

Aaron Wall, from SEO Book (one of my favorite SEO blogs on the Internet currently), recently posted a guide on how to view your site's pages stuck in Google's supplemental index. Aaron's article really is spot on as he talks about what causes your pages to be thrown into Google's supplemental index, how to calculate your Supplemental Index Ratio and exactly what that ratio number means to your site.

To determine what pages are in Google's supplemental index, perform the following Google search: *** -sljktf

This is definitely a good query to add to your SEO tools so you can see exactly how many of your pages are hitting the supplemental index and whether or not your supplemental index ratio is increasing or decreasing.

SharePoint v3: tp_DeleteTransactionID

By hagrin - Posted on 25 February 2007

When working with SharePoint v3 list data, it's important to understand the data structure used to store list items. List data is stored in the AllUserData table and the name should be your first indication that you might run into a problem if trying to pull or manipulate data stored in this table. Why? Well, "all" user data is stored in that table including deleted data and you will need to know how to filter out deleted items and that is where the tp_DeleteTransactionID column comes into focus.

The tp_DeleteTransactionID column is a varbinary field so you cannot readily read the contents of that column in SQL Server Enterprise Manager. This coulmn acts as a "deleted flag" and you will need to be able to know what items you have removed from your list, but you forgot to remove from your Recycle Bin. List items that you delete from your list, but that remain in your Recycle Bin will have the value of the tp_DeleteTransactionID column updated from the default value of 0x. Once you remove the items from your Recycle Bin, the item's corresponding rows will be deleted from the AllUserData, but until you do so those item's rows will remain in the AllUserData table.

So, if you want to filter out deleted content for the purpose of data manipulation or transformation, but you don't want to have to worry that the user has remembered to empty the Recycle Bin, add the following WHERE clause to your SQL statements -

WHERE tp_DeleteTransactionID = 0x

Notice, that the value 0x is not surrounded by value defining apostrophes since the value is not a true string, numeric, date, etc. value, but a hex representation for the varbinary field.

Google Apps Released

By hagrin - Posted on 22 February 2007

Today, Google announced the public release of Google Apps. Google Apps now offers a "Premier Edition" which is a subscription based online Office suite. At a cost of $50 per user per year, Google Apps Premier Edition offers users Google Calendar, Gmail (with 10GBs of storage), extended business hours tech support, VoIP through Google Talk, web page creation through Page Creator, Google Docs and Google Spreadsheets. This cost per user greatly undercuts the licensing fees required to own and utilize Microsoft Office so this marks one of the biggest efforts by a Google to capture a piece of Microsoft's market share. Several large companies have already signed on to use Google Apps Premier in attempts to lower their IT infrastructure costs. It will be interesting to hear any case studies that emerge from these larger companies over the next few years in terms of productivity, data security, downtime, technical support and user satisfaction.

Anyone who has used Google Apps (Gmail, Calendar, GTalk, etc.) usually ends up loving the applications built by Google. However, the prevailing industry opinion was exactly how "online Office applications" would function in the real-world corporate environment. The obvious risk is downtime where your workers will generally be unproductive - even in a usable offline mode. A second efficiency factor stems from all your files now being "remote shares". Although you will most likely be saving your files on a remote file server, those file servers usually sit somewhere on your LAN as opposed to sitting on a WAN where connection speeds are generally slower. This causes a major concern especially when dealing with larger files because downloading and accessing large amounts of data over a WAN pipe could end up being very inefficient. Only time will tell if online office applications will succeed in the corporate environment.

SharePoint v3: Exception of type Microsoft.Sharepoint.WebPartPages.WebPartUserException was thrown Error

By hagrin - Posted on 15 February 2007

Today, I encountered an error that I wasn't immediately sure how to fix while creating a new web part. After uploading the .DWP file to the web part gallery, I attempted to add the web part to a recently created web part page. Even though I had a Try/Catch/Finally wrapper around my code, I received a browser alert that had the following error:

Exception of type Microsoft.Sharepoint.WebPartPages.WebPartUserException was thrown

After a very quick search for that error on Google's main search index and Google Groups, I found zero results. Then, I remembered that I didn't make the necessary corrections to the .DWP file - in particular, I left the Assembly field blank. After adding the correct assembly name, I saved the file, deleted the previously uploaded DWP file, re-uploaded the new DWP file and was able to successfuly add the web part. Success!

Reading Files Using PHP

By hagrin - Posted on 14 February 2007

IBM has created yet another great tutorial this time covering how to read files using PHP. This tutorial covers such functions as fopen, fclose, feof, fgets, fread, readfile, fgetss fpassthru, fseek and fscanf. IBM masterfully breaks down each function and gives the reader a good idea what the best practice is in using each of the functions.

MySQL Replication

By hagrin - Posted on 12 February 2007

Hynek wrote a great article on MySQL replication and exactly how easy replication is to setup. I definitely enjoyed this article as I was only familiar with replication in MS SQL Server 2000 and 2005 and this article solves one more problem for database admins. Now, with stored procedures and replication introduced to MySQL, MySQL provides another database option for the corporate environment and for IT managers to avoid high priced licensing agreements.

Drupal 5 Migration Complete

By hagrin - Posted on 10 February 2007

In a quick bit of site news, I finally completed my migration to Drupal 5. Not only did I have to update my old 4.x installation, but I also had to get rid of the old pages that existed on the "fugly" black and orange template. While all the content has been transferred over, many items remain in terms of enhancing the user experience at It's been a 4 year process in the making and I'm still nowhere near done as I'm constantly brainstorming new ideas, taking on outside projects and getting wrapped up in my full-time job. However, with this migration finally complete, I do see bigger and better things coming from this domain.

So, if you have any suggestions for what you would like to see added or improved, leave me a comment and let me know.

Virtual Stock Market

By hagrin - Posted on 09 February 2007

"Whoever dies with the most money, wins" - Danny Devito in Other People's Money

I'll admit it - I want to have as much money as possible and I am always looking to make more money, save more money, work smarter, research the latest "get rich scheme" and put in the work to try and make those things happen. However, a lot of "let's make a lot of money" plans don't give entrepreneurs a virtual world to test their knowledge, strategies and "reaction" times. However, one popular method of investing money would be playing the stock market and the Virtual Stock Exchange allows beginning investors to practice their researching and pricing techniques.

Recently, a few friends have created portfolios and have been able to use this virtual world to evaluate exactly how accurate our research is and whether or not our instincts are correct. In addition, VSE teaches investors the patience needed to deal with a volatile market and to not overreact to poor stock performance. VSE allows users to create a group that your friends and you can use to create a competition based on each other's portfolios. VSE provides extensive trading options including long and short positions, limit and stop trading, margin accounts and commisison/interest calculations. If you're looking for a group to join, the group name is "" so create your portfolio today and let's make this money!