Sorry for the Spam: The Google+ for Google Apps Rollout

I use Google Apps for my E-mail here on johnbeales.com. Earlier today I was updating some unimportant thing in the admin and noticed that I could turn on Google+ for johnbeales.com, something that I’ve been wanting to do for a while, woohoo! With Google+ up & running it was time to set up my circles.

For those of you who aren’t familiar with Google+ it’s Google’s answer to Facebook, and you can add your friends to groups, called “Circles.” There’s animation & stuff and it’s kind of fun.

After turning on Google+ for johnbeales.com I went ahead and added pretty much my whole address book, (Since Google already controls my E-mail it can show me anyone that E-mailed, pretty much ever), thinking that I was putting the people I know into groups that would make them easier to find and when if I needed to contact them again. What I hadn’t realized was that Google was E-mailing every single person I put into a group. So if I did business at some point with you years ago I might have put you into my “acquaintances” group, or perhaps into my “Vendors” or “Customers” group, and you would have received an E-mail because of this. If I’ve dealt with you at multiple E-mail addresses you may have receives an E-mail at each address. I did not mean for this to happen. Inboxes are polluted enough, and I’m sorry for polluting your inbox even more.

So of course I went and turned off the E-mail notifications, right? Wrong. I can’t figure out how. Once you’re already signed up with Google+ you can say that you don’t want notifications when other people add you to their circles, but it seems that if you’re not already a member you’re doomed to just keep getting this spam from Google. If Google is smart, and they often are, this will change. I’ll keep looking for a solution. In the meantime, I’ll be more selective about who I add to circles.

Transferring OS X and Boot Camp to a New Hard Drive

For Christmas my brother gave me a copy of the game Portal, which required there to be about four gigabytes of available space on my hard drive. There wasn’t. In fact, every time I’ve wanted to copy a large file for the last while I’ve had to re-arrange and purge my hard drive, both in OS X and in my Boot Camp partition. It was time for a new, upgraded, hard drive, and this is how I was able to copy both my OS X partition and Boot Camp, (Windows), partitions to the new drive, and expand both partitions to fill my drive, all without re-installing any software.

The Hardware

First, the hardware. I use a Macbook Pro that dates from the summer of 2007. Until I made this change it had its factory-installed 160 GB, 5400 RPM hard drive. This was an upgrade from the standard 120 GB drive, but three and a half years later it’s no longer big enough for me. I had dedicated 32 GB to my Boot Camp partition, which with a Vista installed was very cramped, perhaps even more cramped than my OS X partition that made up the balance of the drive. I ordered a 500GB, 7200 RPM Western Digital Scorpio Black , (yes, that’s an Amazon Affiliate link), hard drive from Amazon to replace the factory-installed drive. Apparently the WD Scorpio Black uses the same amount of power as a normal 5400 RPM drive, but is faster. I’m not super concerned with power these days as my 3 1/2 year old battery doesn’t exactly hold a charge so I’m always plugged in anyway.

A note on warranties and recalls:

My laptop is in the group affected by the NVIDIA Recall, so even though my 3-year AppleCare is expired, (and it was worth it – a new mainboard and hard drive later), I am still covered for a few months if the video goes kaput. I called Apple to see if I could change my hard drive without voiding that special coverage and they said that yes, so long as there was no physical damage to the computer, I would still be covered if my video died.

My Best Way to Transfer Everything, Step by Step

Required Equipment
  • Your Mac, with the old hard drive still installed
  • Your new hard drive
  • A way to connect your new hard drive to your Mac, probably a SATA to USB connector, or an external hard drive case.
Required Software
The Steps
  1. Plug your new hard drive into your Mac, using whatever connector you have.
  2. If your Mac isn’t already on, boot from your old hard drive
  3. Using Disk Utility format your new hard drive. Select a GUID Partition table, (so you can start your computer from the drive), and, unless you’ve specifically chosen another format, OS X Case-Insensitive, Journaled, as the format. Make the partition as one single partition, (volume), that fills the whole drive. We’ll add in a Boot Camp partition later.
  4. Using SuperDuper! copy your OS X partition from your old drive to the new volume you just created on your new hard drive. Use the “Backup – all files” option in SuperDuper!
  5. Go clean the garage, or plant the garden. This will take a while. It took about four hours for me to copy about 115 Gigabytes of data
  6. When SuperDuper! is finished its business shut off your computer and disconnect everything. You’re about to take your computer apart.
  7. Find your computer on iFixit.com and make sure you have the appropriate tools. I only needed two screwdrivers, however one of them was a T6 Torx screwdriver, and the smallest I had was a T8. My father-in-law also had a T8 as his smallest. We ended up using a file to give a hexagonal screwdriver a shape closer to a Torx screwdriver.
  8. Follow the instructions on iFixit.com to replace your computer’s old hard drive with the new one that you copied OS X to in steps 4 & 5.
  9. Once everything’s connected, but before you’ve put your whole computer back together, I recommend starting up your computer to make sure everything’s connected properly. Be careful not to touch anything inside your computer when it’s running, you could hurt yourself, (or worse, your computer!), if you touch the wrong thing. Once you know the hard drive is properly connected turn off your computer again and remove the power source.
  10. Re-assemble your computer.
  11. Hook your old hard drive up to your computer the same way you had the new hard drive hooked up before you installed it.
  12. Start your computer.
  13. If you did everything right you should be running off of your new hard drive now. Check that you are running off of your new hard drive by starting finder and checking the size of your hard drive, or use Disk Utility to check the brand name of your hard drive, or just start without the old drive hooked up and connected it later.
  14. Now we’re going to move your Boot Camp partition.
    1. With the computer booted, and the old hard drive connected externally, start Boot Camp Assistant, (it’s in Applications > Utilities).
    2. Follow the wizard to create a BootCamp partition. This partition does not need to be the same size as your old Boot Camp partition. When Boot Camp Assistant asks you to insert a Windows install disk quit Boot Camp Assistant. Your partition is created.
    3. Install and run WinClone. It will probably ask you to install the NTFSProgs Binaries, which it needs to do some reading and writing to NTFS-formatted filesystems, (like Windows partitions), these seem to be safe so go ahead and install them.
    4. With WinClone you’ll first need to make a disk image, (a file that contains the whole contents of your old Boot Camp partition), then restore it to your new Boot Camp partition. So, you’ll need OS X formatted space to store this image. This could be your new hard drive if you’ve just installed a larger drive like I did, or it could be another external drive.
    5. Tell WinClone to make an image of your old Boot Camp partition. It took about 1/2 hour for me to image a 32 Gigabyte partition.
    6. Tell WinClone to “restore” the data in the disk image you just made to your new Boot Camp partition. This could take a while. Grab lunch.
    7. When WinClone is done turn off your Mac and disconnect the old hard drive.
    8. Turn on your Mac holding down the Option key on the keyboard. You should see your Boot Camp partition as a boot option, (it’s probably labeled “Windows”). Select it to boot into Windows.
    9. Windows may want to run a chkdisk. It’s probably best to let it do so. It shouldn’t take crazy long, but will probably take long enough to make a pot of coffee.
    10. After chkdisk runs and you’re booted in Windows check everything is ok.
  15. That’s it. Enjoy your new hard drive!

Notes on Backups

The first time I connected my Time Machine drive to my Mac after doing the hard drive replacement Time Machine realized that I had installed a new hard drive and did a full backup. This took a while, (especially because I accidentally pulled the USB cable out of the computer halfway through). If you’re using a Time Capsule it is a good idea to plug your computer in to the Time Capsule with an ethernet cable, not do the full backup over the air.

BackBlaze, (again, that’s an affiliate link), which I use on two computers, didn’t notice the change in disks and continued as normal. I am pretty happy about that because the initial backup with any online service can take a long time and this saved me from uploading over 60 Gigabytes of data over my DSL connection.

Notes on Fragmentation

I took the opportunity to defragment both my Windows and OS X, (I use iDefrag to defragment OS X. In reality there was very little fragmentation on either side, I think that the process of copying everything from the old disk to the new one may have essentially defragmented everything anyway.

Running my Boot Camp partition in VMWare Fusion

The first time I tried to launch my Boot Camp partition in VMWare Fusion I got an error because the Boot Camp volume had changed. It asked me to remove and re-add the virtual hard drive, which I couldn’t figure out how to do in 5 seconds, so I removed my Boot Camp partition from my Virtual Machine Library. Then to re-add it I had to click “Home” in the VM Library window and choose “Run Windows from your Boot Camp partition” on the right hand side. There’s a setup that’ll run for a few minutes, (it took less than 2 minutes for me), and the Boot Camp partition should be re-added to the VM Library.

Windows Activation

After I had my Boot Camp partition running for a while in VMWare Fusion Windows informed me that it had been deactivated due to a hardware change and I had to reactivate. I don’t know if this was only because of the remove and re-add I did to the Boot Camp virtual machine, or if it was because of the actual hard drive change. Either way Windows had to be reactivated, which is a pain since activation online never works for me anymore and I always have to activate Windows over the phone. However, it’s activated now and seems to work fine.

Conclusion

While it seems like there were a lot of steps, and copying everything around took quite a while, it was much, much easier to copy everything from my old hard drive to a new one. I didn’t have to re-install any software or any operating systems, something that I was afraid I would have to do. It’s something that can be accomplished in about a day, if you have all of the tools and equipment on hand. If you do it on the weekend then you don’t have to feel guilty about the downtime.

Regular Expression Testing Tool

I had a mod_rewrite problem that was really tough, tough enough that I needed to break down my Regular Expression step by step and see what was matching. I’m not a huge fan of doing this in Terminal, and I work on a Mac so Editpad Pro was out, (it’s good to use on a PC). So, I built a web-based tool to see how my regular expression was matched against a string. It’s available here.

To use it enter a Regular Expression, and a string to match it against. It’ll tell you if the regex matches the string and if so it’ll show you the substring that matches the regex, (if it is a substring), and any parenthetical substring matches.

This little script uses PHP’s native preg_match() function to determine matches, I believe its matching engine is very, very, close to Apache’s engine used in mod_rewrite so it should work well.

So, did this help me solve my problem? Yes it did. It told me that the problem wasn’t in the rewrite rule that I thought it was in.

Try out the Regular Expression Testing Tool.

Update 29 December 2010: I posted a small update to make the input fields larger and corrected some text when the regex does not match.

Demoing Drape: a Multiple URL Shortener

One of the projects that I’ve been involved with has a new product out: Drape. Drape is a multiple URL shortener, and I’ve prepared a demo. Here’s a drape that I created of some interesting blogs about living with less impact on the planet.

And, here’s what the cut & paste button looks like:

Interesting Living on the way to Living Green

Show your Olympic Colours

I’ve turned johnbeales.com and @johnbeales red for the 2010 Olympic Games in Vancouver. Join me and do the same for your blog, Twitter profile, or both.

Look how awesome my twitter profile looks all decked out for the Vancouver games:
Vancouver 2010 Twitter theme

You can do the same. Here’s a ZIP file containing the PSD Source, and PNGs of both my Twitter background, (with the text), and the blog background, (without the text).

Go nuts, and let me know here or on Twitter about it!

Edit: Here are direct links to the backgrounds with text, and without text.