Erik Vergobbi Vold
Vancouver, BC Canada

Two Windows XP Boot Camp Issues And Solutions

I had a really annoying issue come up after setting up Windows XP on my MacBook with Boot Camp, and installing some essential software I could no longer right click (two finger touch), or tab to click, because the Boot Camp service was not running.

At first, I went to the Control Panel and opened Boot Camp from there, once I did this I had to enable the trackpad settings I wanted, and everything was fine, until I restarted, at which point I would have to go through the whole process again. So after a few reboots to convince myself that was a dead end, I took a look for the Boot Camp executable on my C Drive, and found it at C:\Program Files\Boot Camp\KbdMgr.exe, but when I tried to run it, I could see it running in the Task Manager, but it was not working at all.

So finally I gave up, and uninstalled Boot Camp, then reinstalled Boot Camp, and after the reinstall reboot, I got a couple errors, and my Ethernet Controller device no longer had a driver.. The good part however was that the Boot Camp service was running again, and after I enabled my trackpad settings, and rebooted, it continued to work.

To deal with the Ethernet Controller driver, I installed the D:\Boot Camp\Drivers\NVidia\NVidiaChipsetXP.exe from my MacBook Mac OS X Install DVD, and I was all done.

How To Setup Windows XP With Boot Camp On A Macbook

I finally setup Windows XP Pro on my Macbook using Boot Camp over the weekend, and I hit some gotchas, because I did not read the guide. So I thought I would make a quick summary of the process. Although, I would recommend the reading the installation guide to anyone doing this for the first time.

Setting up Windows XP on a Macbook with Boot Camp:

  1. Run Boot Camp Assistant.
  2. Create a partition for Windows (you will need at least 6 GB, I prefer around 20 GB).
  3. Insert Windows XP Installation CD when it is requested, Boot Camp will restart the system and start the Windows installation process.
  4. Follow the Windows installation instructions until you are asked to selected a partition.
  5. Select the C: BOOTCAMP partition.
  6. Select "Format the partition using the FAT file system (Quick)". Do not select "Leave the current file system intact".
  7. Continue following the Windows installation instructions until it has completed.
  8. Insert your Mac OS X Installation DVD. If the installer does not start automatically, then run the setup.exe on the disc.
  9. Follow the Boot Camp + Drivers installation instructions until the setup is complete.
  10. Go to Start -> All Programs -> Apple Software Update, and run this to install the Multi-Touch Trackpad Update for Windows XP & Vista, which is very important.
  11. Update Windows and your done.

Note: To manually select the Operating System that you want to use during startup, press and hold the "option" key after you hear the chime during the boot cycle.

I Vote For The Vote Links Microformat

I'm still not sure if I'm a fan of all of the microformats that I have come across so far. But I can tell you that I am a huge fan of the VoteLinks microformat, because I think there is a huge need for them in SEO arena.

Currently search engines like Google, Yahoo, and that other search engine (made by the same company that makes that crappy browser) all primary rely on PageRank, which determines the importance of a document by considering the importance of the documents that link to it. In PageRank, every link is valuable, except those links that use the nofollow link type (ie: any link without the nofollow link type is considered an endorsement). PageRank does not consider the possibility that document A might want to have a vote on document B's calculated importance, besides just the option of endorsing document B.

Enter the VoteLinks microformat. With this specification, website masters can now specify links on their web documents as votes for or against other web documents. You can also abstain from voting, ofcourse.

For example, you may have noticed that in my second paragraph I was taking a shots at the Microsoft Corporation (which I love to do) and if you look at the html markup, then you will notice that those links are votes against Live Search and Internet Explorer. So now I'm telling any user agent that visits this document that this document is a vote against those Microsoft products. This document is also a vote for some wikipedia articles, Google, Yahoo, and the VoteLinks microformat. That's a lot of knowledge that spiders can gain because of this markup, hopefully the search engine spiders start considering this microformat as a factor soon..

Anyhow, if you want to start using the VoteLinks microformat now, all you need to do is insert the following values into the rev attribute of your html anchor tags:

  • vote-for: This signals that the current document is a vote for the href url of the anchor tag.
  • vote-against: This signals that the current document is a vote against the href url of the anchor tag.
  • vote-abstain: This signals that the current document is indifferent to the href url of the anchor tag.

Do Not Disable Right Click On Your Website With JavaScript

I'm just going to list some reasons why it's a bad idea to disable right clicking on your website with JavaScript.

  • Any user can simply disable JavaScript, then view source, copy, etc, etc, without any trouble.
  • With tools such as NoScript and Greasemonkey, users can disable your code automatically.
  • It's another reason for your users to remember "oh yeah that's why I hate you".
  • It's a waste of your time, and all of your users' time.
  • It's extra data that has to be downloaded, wasting electricity.

So please do not listen to people that suggest doing this, it's a bad idea.

How To Setup Linklint In Cygwin For Windows

Here is a short guide on how to setup Linklint windows machine using cygwin.

Setup Instructions:

  1. Install Cygwin, and make sure that you install the perl package.
  2. Create a folder for Linklint (mine is c:/apps/linklint/).
  3. Download Linklint.
  4. Extract the archive of Linklint to the folder you created in step 2.
  5. Open Cygwin, and move to the folder you created in step 2.
  6. run "$ perl linklint-x-x-x" (this will bring up some instructions & options)

How To Install Cygwin For Windows

This is just some very breif instructions on how to install cygwin for windows.

For those of you that do not already know, cygwin is a linux-like environment for windows

  1. Create a folder c:\cygwin
  2. Download cygwin's setup.exe from http://www.cygwin.com/ and save setup.exe in c:\cygwin
  3. Click Start...Run...and type c:\cygwin\setup.exe
  4. When it asks for "Local Package Directory", type c:\cygwin
  5. When a selection screen comes up, you can resize the window to see better, click the little "View" button for "Full" view, then find and select the packages you wish to use.
  6. Click next to start installing cygwin.

Open External Links as Blank Targets via Unobtrusive JavaScript (Microformat Safe Version)

If you are concerned with using the target attribute when using document type definitions for which the target attribute is not valid, and will thus throw validation errors. Then I have written a microformat safe improved version of the unobtrusive javascript written here, and also found (slightly improved) here.

Here it is:

<script>
function externalLinks(){
   if (!document.getElementsByTagName) return;
   var externalRegExp = /(^|\s)external($|\s)/i;
   var anchors = document.getElementsByTagName("a");
   for (var i=0;i<anchors.length;i++){
      var anchor = anchors[i];
      if(
         anchor.getAttribute("href")
         &&   ( !anchor.getAttribute("target") || anchor.getAttribute("target") == ""
            )
         &&   ( externalRegExp.test(anchor.getAttribute("rel")) )
      )
      anchor.target = "_blank";
   }
   return;
}
</script>

With this function, all you need to do is call the externalLinks() function when the page loads and all of the anchor tags with a href value, without an existing target attribute, and that includes the string "external" somewhere in the rel attribute will be given the target="_blank" attribute+value pair.

Regular Expression to Determine if a Base 10 Number is Divisible by 5

This regular expression is a really easy one to write, but it will highlight that when writing regular expressions, it is sometimes easier to skip writing the DFA; which provided to be a useful step when I created a regular expression to determine if a base 10 number is divisible by 3.

The Problem:

Let L = { w | w mod 5 = 0 }, where the alphabet is {0,1,2,3,4,5,6,7,8,9}; give the DFA for L, and convert this in to a regular expression.

 

The Solution:

[More]

Decrease Bounce Rate by Using target="_blank" on External Links

PageRank is built on links, so search engine optimization is centered around them, and people link to the entities that they support. But many times, I see people increasing their own bounce rate by linking to an external page they support without using the target="_blank" attribute+value pair on the anchor tag.

This especially does not make sense most of the time, because most of the time, the external link is really a side note to the website and webpage at hand. So, using target="_blank", which forces the link to open in a new tab or window, is exactly what you should want, for the simple reason that it makes sense, and that it will reduce your bounce rate.

Don't be a fool, use target="_blank"!

Dissect Your Google Analytics Cookies! Whahaha

Brian K at VKI Studios has whipped up a sweet JavaScript class for Google Analytics cookies and released it just this week, in the post titled "Slicing and Dicing Google Cookies - Part I". I just got to read it today, and came up with some ideas for improvements, so I convinced him to create a Google Code project for the script, called "ga-vki-cookies".

I'm thinking about adding detection of Google Website Optimizer cookies, and setters for all of the GA and GWO cookie values. If you can think if any other ideas please let us know at VKI Studios!, or contribute to the ga-vki-cookies - Google Code project.

More Entries