You are hereTech News

Tech News

warning: Creating default object from empty value in /home/hagrinad/public_html/modules/taxonomy/ on line 33.

Tech News

Google's Matt Cutts' Best SEO Tips of 2006

By hagrin - Posted on 07 December 2006

SEO Egghead posted a great synopsis of Matt Cutts' best SEO Tips of 2006 in a nice, comprehensive list for SEO marketers, designers and enthusiasts to refresh their "straight from Google's mouth" SEO information. I usually don't link to blog spam; however, they really did a great job compiling, shortening and organizing the best tips offered by Matt throughout the year on his blog. So what are some of the better tips that Matt stated web developers/designers should incorporate into their sites?

  • Use dashes instead of underscores in the URL for a page.
  • Make sure that Googlebot can crawl all the content you want indexed. Content behind secured pages aren't crawled and you should offer free versions of valuable content so that it can be indexed.
  • "Assign unique, descriptive title tags and headings to every page" (direct quote from SEO Egg Heads)
  • URLS with descriptive document names will rank better than non-descript URLS (i.e. windows-vista.php vs. 2006-12-08article.php)

Most of the other tips are generally useful, but found the above tips highly useful when thinking about my own sites. Thanks Matt and SEO Egg Heads for the great information and organization.

Top Search Terms of 2006 (Yahoo!)

By hagrin - Posted on 05 December 2006

Although 2006 isn't over yet, Yahoo! has released their top search terms of 2006 in an attempt to steal some of Google's Zeitgeist's thunder (although remember, with the release of Google Trends, you could potentially pull much of this information at any time you wanted using any timeframe you wanted). There isn't much that is groundbreaking here when you look at top search terms, but I'll reaffirm the conclusions you could draw from this data (as well as data from previous years):

  • Young, Hot Female Celebrities Rule - Ah, nothing says the Internet like guys searching for hot, young women. Entertainment searches still dominate the Top 10 overall searches with the likes of Spears, Hilton, Lohan and Simpson dominating the Top 10 overall search terms. Sex still sells big on the Internet.
  • Soccer is the world's sport, Basketball and Hockey ... not so much - Although not a major sport here in the United States, 3 international soccer teams round out the Top 10 showing the true power and interest of football around the world. Meanwhile, the NBA, who has tried to internationalize their sport with trips over to Japan, the signing of Yao Ming, etc. doesn't have a single team in the Top 10 searches. As for professional hockey, there's no sight of them either. Baseball and American Football are the other two sports which dominate sports related searches.
  • Comic Books ruled the Big Screen - Of all the widely searched movies of 2006, comic book characters and story lines took almost half of the spots in the Top 10 Movie searches for 2006. Also, even though Borat was released later in the year and is currently still in movie theaters, Borat snuck into the Top 10 in last place showing the power of viral marketing over the Internet since much of the great Borat press stemmed from blogs, social news sites, etc.

You're probably asking yourself - how can I use this data to drive more data to my website. In most cases, you probably can't - especially if your site's niche isn't one of the categories Yahoo! released search data for, but you can draw conclusions that should help you some. First, remember that Yahoo! search is seen by many to be the search engine used by many non-technical users; however, Yahoo! does have a very strong international user base to consider as well. Make sure your content can be consumed and understood on an international basis. Second, when you see the success of a recent movie like Borat, remember to be proactive and not reactive when providing users new content. If you're first to the market, your information will be found first, linked to first and these links should help make your page stand out as an authoritative source to search engines. Lastly, even in the Top 10, you can see a diverse range of searched terms; therefore, make sure that your site is diverse enough to grab traffic from many areas, but not too diverse as to be too cluttered or difficult to find information.

I'll be curious to see how Google's 2006 data stacks up against Yahoo!'s.

Hiring Programmers Today

By hagrin - Posted on 02 November 2006

This morning I read a very insightful blog post over at Mini-Microsoft concerning the trouble hiring talented programmers and a potential solution. Mini MSFT draws the picture of the accomplished programmer who has a strong resume, strong background, good experience, but then fails the simple coding problem during the "whiteboard" test (for those who don't know, the whiteboard test basically entails coding out your answer on a whiteboard as opposed to a computer). Mini then questions if you're not going to take the chance on hiring this candidate and your talent pool all seems to come up short in some way, how can you strengthen your potential employee base and offers up the idea of a bootcamp like training called "Microsoft Academy".

This is an interesting dilemma and a problem that directly faces me as I progress through the technical side of my career.

(Note: the below stereotypes don't apply to everyone and skill sets and aptitude will vary on an individual basis, not on a "how did you learn" basis.)

I'm self-taught. I've never taken a computer class, never completed a training course or seminar and have learned from reading books, reading the web, Google code searches, code samples and asking other programmers I worked with (although now, I work alone and don't have any other programmers to turn to). With 5+ years experience now, I have run into most common corporate environment related programming tasks and can expertly navigate my way through the software development process. However, although I was able to eventually develop an efficient solution to a problem, each new hurdle required research and trial and error testing.

So, wrapping up Mini's post with my own situation into one neat package, how does the current hiring process by many software firms actually relate to discovering and hiring the best programming talent? Does the firm's ability to groom talent play a role in who you can and cannot hire?

Taking a critical look at my own skill set, I came up with the following list of Pros and Cons of someone who is slef-taught and who may not do well on a whiteboard interview examination due to inexperience with solving a particular problem -


  • Being self-taught shows the ability to pick up new skills outside of the classroom and on the programmer's own time. This ability relates more to what occurs in the real world life of a programmer when technology is highly dynamic and not static like shool textbooks.
  • Shows a level of self-motivation to be able to learn a craft outside of formal education.
  • Won't require the same teaching overhead that others who don't learn well on their own need.
  • Quick absorption of new material and technology released


  • Self-taught developers very often figure out "a" way of getting something to work and don't always know the most efficient coding path to solve a problem. I know I have run into this situation numerous times during code reviews later on after my development is done.
  • Time wasted on research and trial and error for topics and problems that many formally schooled developers would have tackled as part of their cirriculum.
  • May lack fundamental concepts in programming which prevent implementing technologies that are not documented well (an example of this for me was developing sophisticated web parts for SharePoint 2003)

With all the above, should you hire a programmer that has proven himself in other environments, but fails the whiteboard test? The answer is maybe (what a cop out). If your organization can take an individual an provide him ample time to "get up to speed" on a subject, the self-taught, whiteboard failing developer might be the best fit for your organization. If you need contract work done, you probably want to hire the developer who has direct experience with the solution you're looking to implement because firms hiring contract workers do not have the time to groom talented individuals.

In conclusion, if you can groom talent you can be more varied in your hiring selections and potentially garner greater rewards. Otherwise, if you're limited by budget and/or time constraints, your hiring pool will be much smaller and limited to those who possess a mastery in a certain skill set. For me personally, since I am self-taught, the company that takes a slight risk in me and gives the time to acclimate will find themselves with a highly versatile, highly motivated programmer who is always learning.

Would your company/department take the risk on hiring someone with my background? Let me know - that's what the comments section is used for.

Malware Tools

By hagrin - Posted on 23 October 2006

The security community came together and SANS has posted this comprehensive list of tools to analyze and combat malware. This is a fantastic post and hopefully one that gets around the net to all system and netowrk administrators out there dealing with malware infections of all kinds. The tools on the list are mostly freeware or shareware and almost all are for Windows machines (since malware is only seriously prevelant on Windows networks and machines - although some of the tools are cross-platform). If you run a network or even if you want to protect your home PCs, make sure to check out this list of tools.

Blog Juice Calculator

By hagrin - Posted on 11 October 2006

My Blog JuiceA new tool to calculate your blog's worth has been released called the Blog Juice Calculator. What's very interesting about this tool is that it tries to categorize your site against other sites based on topic category. It's a good way of gauging your site's performance based on such factors as Bloglines subscribers, Alexa traffic rankings, Technorati rankings and backlinks. Now, of course, all of these rankings are so incomplete and inaccurate; however, if you take enough random samplings you'll probably draw a pretty accurate total picture (basic statistics).

It's great viral marketing for Text Link Ads, but at the same time, it's worth the page load and the query.

MAPI was unable to load the information service msoc.dll

By tom - Posted on 06 October 2006

I finally found out how to fix that error which is displayed when opening Outlook. I received this error because I had the Lotus Notes connector installed, and didn't properly remove it. I tried uninstalling and deleting all the outlook and Office files I could find, as well as deleting registry entries. Nothing worked until I found the solution, i.e. where that outlook portfolio is stored. It's stored in the registry! Here is the full path, it may vary for you:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsytem\Profiles\Outlook

What I did was simply delete that whole outlook folder in the registry and Outlook started up without any problems. Note that you should backup your registry before doing any changes. Hope this helps!

Nike+ Review - Initial Thoughts

By hagrin - Posted on 07 September 2006

Panic set in pretty quickly. My 60GB Video iPod was no longer charging. With fear of long work commutes and long runs without music looming, I decided to hop on the Trek 7200 and make my way to the Apple Store located at Roosevelt Field. The "Genius" Bar was crowded with 4 other iPod users - all with "my iPod won't charge" problems. After I explained the troubleshooting steps I had already completed, they told me they needed to keep my iPod for an overnight battery test (translation - "We at Apple think you're an idiot and think our power outlet has a mysterious electric current that works better than the power at your house").

So, what does any good geek do when he's addicted to his iPod for the 2 hours every day on the train, the hour of biking and the hour of running he does every day? He buys another iPod.

I purchased the 4GB Nano (black) because I figured with my new found running prowess, I would want a lighter iPod and I would try out the Nike+ system as an extra motivator for completing the necessary mileage every week to be competitive in Ultramarathons. With the Nano and Nike+ system (and armband) purchased, I walked downstairs to the nearest Finish Line and picked up a pair of Nike+ ready running shoes (pictured below).

Nike Air Max 180s

Installation was smooth and easy. All you need to do to get your shoes "hooked up" is to lift up the left shoe's sole insert and remove the cushion placeholder. For the iPod Nano, all I had to do was just insert the receiver into the bottom and the Nano added the additional Nike+ menu option. As for the software side, I did exactly nothing. I already had the most recent iTunes software installed on my PC and I was good to go.

The recorded results of my first run left a lot to be desired. I hadn't calibrated my Nike+ system and it showed. My first run was over half a mile off (a 7 mile run) - definitely not the result I wanted. Therefore, I mapped a route out using Google Earth to get the exact mileage and calibrated my Nano for the first time. I ran the .85 miles, ended the calibration and went out and ran again. My second run yielded closer results, but was still .3 miles off on a 6.5 mile run - possibly due to elevation changes (slight elevation changes at that). As a last resort, I "guesstimated" a second calibration and ended the calibration a hundredth of a mile sooner than I should have. Since then my mileage calculation have been nearly 100% accurate with no more than a .15 mile difference on runs over 10 miles. Overall, I would have to say that the Nike+ system, once tweaked, does work pretty well; however, I still question its accurateness if I were to take it on hilly terrain or technical trail running.

The website offers a very easy to use interface with a pleasing visual, graphic display. However, after developing some of my own web tracking applications, the NikePlus system has a long way to go. First, the "My Records" section seems highly inaccurate. Take a look at the image below (click on the image to open the image full-size).

As you can see, this registered my first and only run at the time. I ran over 6 miles at 7:46 pace. However, the Nike+ system recorded my fastest 1 mile time as over 8 minutes - something that is obviously impossible and incorrect. My fastest 5K and 10K times were also incorrect and remain incorrect even after having logged ~10 runs. In addition, you cannot really get to granular with the statistics provided back to the system. You cannot get elevation readings and there are no heart rate measurements - readings that you can obtain on slightly more expensive GPS enabled running trackers (ex. ForeRunner 301).

Overall, the NikePlus system does work for what it is intended to do - track an individual's runs and performance while providing a large community to push yourself against and for those reasons alone, I would recommend the Nike+ system to others. I know that there have been times where I have gone to the gym just so my public statistics don't fall behind that of other runners. However, while it does do the basics pretty well, the NikePlus system has a long way to go. Nike should provide a data API for us geeks that would like to publically display their data to the world on their running blogs. Future revisions of the iPod Nano, the transistor or the receiver should come equipped with GPS so that elevation readings can be derived and tracked. Additional statistics should be provided on the NikePlus site as well as a community forums so that you can really build a tight runner's message board. Finally, and most obvious of them all, I would hope to see more accurate readings while running and displayed on the website.

While their might be better alternatives, the Nike+ system does provide runners a benefit that could help push runners to new levels while the cost is minimal (assuming you already have an iPod Nano).

Project: SERP Tracking & SEO Analyzer

By hagrin - Posted on 05 September 2006

Finally, I've had a chance to play around with one of the Google APIs. I decided to take my crack at the Google Web Search API since search is the cornerstone of Google's operations. After reading the documentation briefly (and being surprised that they included .Net sample code), I started brainstorming what tools I could build. Eventually, I decided on a SERP tracker/analyzer.

Now, I have quite a long way to go, but I have successfully called the API, extracted the data from a search results and stored the information in the database. For the time being, I am writing the application in VB.Net and utilizing MSFT's SQL Server 2000; however, I have every intention of porting this to other languages and platforms. Finally, I plan on releasing the source freely since the Google Wed Search API has a limit of only 1,000 queries per day and a maximum of 10 results per query. With those limitations, the only way that the "community" can really benefit from this is to run their own specific relevant term searches.

Hopefully, the feature list will include (but not be limited to):

  • Port application to .Net, PHP, Python, MS SQL, MySQL, flat text file
  • Allow users to dynamically update their API Key
  • Allow users to dynamically change their search terms and search depth (without violating API terms and conditions)
  • Store historical SERP data
  • Web interface to display contextual charts and graphs based on filtered criteria
  • Evaluate high ranking pages and upwards moving ranked pages to determine why they are so effective including comparing page rank, page titles, page summary, keyword density, META tags, keywords in headline tags and more commonly used SEO techniques.
  • Track daily application usage (to prevent API ToS violations)

The picture above shows, in simplistic form, how the SERP data could be stored in the database. Eventually, by normalizing the tables outward, I can do further analysis on the pages as I parse the sites returned as the Googlebot would see them. I'm really excited about the potential for an application like this and the SEO implications. I'm sure many tools like this exist, but I hope to deliver the application and the resulting data in an efficient and unique user experience while also making it incredibly easy for someone to setup my application using their own API key and search terms.

How To: Legally Update Your Windows XP Product Key

By hagrin - Posted on 21 August 2006

So, after quite a few months of dealing with "Your copy of Windows may not be Genuine", I finally decided to apply my newly obtained, legal Windows XP product key to my home system. After a quick Google search on how to apply the key, I realized I was in for a major problem - my system has already been patched to Service Pack 2.

Almost all of the tools that you will find in a quick Google Search will not work on SP2 patched systems or are more geared towards providing you with a product key. Since I had a legal product key through MSDN, I wanted the cleanest solution possible. I found that Microsoft has created their own Product Key patching tool that works extremely flawlessly and effortlessly. By following that link, you'll be prompted to download an executable called KeyUpdateTool.exe which, with just a few clicks and a valid XP key, will allow you to change your product key. One word of note - you will need to reboot to have this change take effect.

Hope this helps someone looking for a legal solution to changing their key.

Nike+ iPod Issues and Improvements

By hagrin - Posted on 20 August 2006

With only a week until the first ever New York City Half Marathon (in which I will be competing), I have been rapidly getting more and more obsessed with running competitively these days. In fact, I even bought a non-computer book today called Ultramarathon Man: Confessions of an All-Night Runner to psych myself up that the human body really can endure more than pain that our brain initially thinks. As I was shopping for this book, I was reminded (by an advertisement) of the partnership created by Apple and Nike to create a tracker that inserts into a runner's shoe and information is transmitted real-time back to your iPod Nano. For those not familiar with the concept, a person would purchase Nike+ shoes specifically designed with a small compartment under the sole to insert a small transmitter. Next, you would attach a receiver to your iPod Nano which will capture the results to your iPod. Finally, when you get back to your computer after your run, you could upload your running results to and track your running and compare to the rest of the Nike+ community. Although I'm a willing adopter of this technology, this solution suffers from many drawbacks and those drawbacks may ultimately prevent me from using the Nike+ system.

The Problems:
1) The iPod Nano Limitation - Although the iPod Nano makes the most sense to design this system for due to its size and weight, many people who workout at my gym own iPods ... but not Nanos (I personally own a 5th generation 60GB Video iPod). Therefore, for me to adopt this system, I would need to purchase another iPod which really doesn't make any sense and is probably the ultimate reason why I won't buy the Nike+ system. If they provided alternative options for other iPod types, I would have bought the Nike+ equipment today in time for the marathon.

2) Does the Cost Justify the Benefits? - When you really think about it, this system doesn't really offer much more than the functionality you would get from a stopwatch, some simple math and a spreadsheet. Now, if you already have an iPod Nano and you were going to buy new running shoes anyway (principle of sunk cost), then the $30 price tag for the "Sport Kit" could be easily justified. However, if you need to buy the shoes, the iPod and the Sport Kit, you're looking at a minimum of a $250 investment (add another $100 if you get the larger capacity iPod Nano). Can you really justify the expense when you can easily track the same information in less expensive manners and you have to wear shoes you many not normally use when running? Is the "e-peen" factor enough to justify the expense as well?

3) Does Nike "Just Do It" for You? - Personally, I wear Asics as my primary running shoe so the "forced" switch to the Nike brand may not be welcomed for a lot of runners including myself. Without partnerships with other running shoe producers, many runners may shy away from this product because they will have to wear shoes they are not comfortable with wearing.

So now that we have pointed out the problems with the Nike+ system, what can Apple and Nike do to resolve these problems and hope for a more widespread adoption?

The Solutions:
1) Don't Discriminate - Apple should provide adapters to their full line of iPods and I can't really see the huge hurdle that they face being able to do this. The iPod software cannot differ too greatly across the different versions and the input interface located at the bottom of the iPod is pretty standard across all the iPod versions. If they add support for the rest of their iPod line, I would think they would see more adopters of this product.

2) More Friends, More Allies - Although I do see a very serious (and probably impossible) hurdle here, if Apple could partner up with other running shoe companies, the greater shoe options to runners would also allow for more runners to seriously consider purchasing this product. However, with the whole product being called "Nike+", I'm not sure if there is an exclusivity deal in place.

Unfortunately, even though I would love to purchase something like this, I just can't justify the cost considering I would have to pick up a second iPod to utilize the Nike+ product. Hopefully, Apple will come up with a receiver that will work on their other iPod models in the near future.