Do as I say, not as I do


I broke one of my cardinal rules over Labor Day weekend and I meant to blog about it last week, but I was too ashamed to admit what I did. I jumped the gun and upgraded the trusty MBP to Snow Leopard. Boy, was that ever a HUGE mistake, at least for me.

Now, mind you, the upgrade was flawless. Dropped in the DVD and let it run for an hour and there was my shiny Leopard-upgraded-to-Snow-Leopard install. That’s where the problems began. I ran into a few pieces of software that I use on a daily basis that were not playing nicely with Snow Leopard. Then came my favorite IDE right now, Xcode. What I didn’t read and realize what that once you upgrade to Snow Leopard, you have to upgrade Xcode to the version that was on the DVD and then apply the iPhone SDK extension. At the time, that version of Xcode did not build for any OSes below 3.0. For me, that was the showstopper. I had 2 apps that are built to 2.1 that I was in the middle of making some maintenance changes.

Of course, I did a full clone of my drive using Carbon Copy Cloner before I started the upgrade.

Oh, wait.

No, I didn’t.


After the upgrade is *NOT* the time to do a clone. So, I ran out to OfficeMax and used a coupon I had and purchased a new WD 500GB drive for ~$100. I formatted the drive HFS and then cloned the upgraded Snow Leopard drive off to the new 500GB drive. A few hours later, I had Snow Leopard running on the external USB drive. Now mind you, it didn’t run fast, but I had all my data and everything worked well enough for me to format my internal drive and do a clean Leopard install on the internal drive.

I’m still trying to get everything right, but I’m really pretty productive right now. One of the biggest issues I had was I had cloned my old Dell laptop to a VMware image. That image was almost 100GB. Since my internal drive is only 250GB, I was always pushing the capacity of my drive. Now, whenever I need to access my old Dell image, I run it from the external drive. Again, not the fastest solution, but it works good enough for what I need it to do.

I’m sure at some point I will do a clean install of Snow Leopard on the MBP, but I will *NEVER* do without cloning what I have first again. A $100 drive is cheap insurance.

On the bright side, my daughter’s MBP and all of her software play very nicely with Snow Leopard. With apologies to Meat Loaf, I guess that one of two ain’t bad.

I’ve recently started doing more Android development along with all my iPhone development. Up until recently, there was only one device, the G1, and it was only offered on T-Mobile. Now, there is another device (The T-Mobile myTouch 3G). This is now old news, but on 9/10 (a little after press time for me), Motorola announced their upcoming Android based devices. I’m not really sure what’s going to happen. In my opinion, none of those devices come close to putting a dent in the iPhone. However, the more I develop for Android, the better I like it. I don’t think I’ll be abandoning iPhone anytime soon, but Android is *so* much more fun to develop for than Blackberry. My gut feel is iPhone will get leap frogged by someone else, or even possibly themselves. However, I don’t think that will happen within the next 24 months. I could be wrong, but time will tell.

Recently, I purchased Parallels and have been real happy with it. I’m also using VMware Fusion, but Parallels has been a better choice for some of the VMs that I’ve been using.

That’s when some other strangeness began on my beloved MBP.

One of my client’s uses Cisco VPN. When I was at the hotel the other night, the hotel internet was flaky at best. I took out my trusty AT&T Mercury USB modem and attempted to connect. After about 5 seconds, the Cisco VPN client would disconnect. I then went off on the great Google search to solve my problem. After a number of search phrases, I finally found a post titled “Cisco VPN client used over 3G modem incompatible with Parallels”. Hold up, wait a minute, put a little love in it! (I’ve been listening to Business Up Front, Party in the Back from Family Force 5 a lot recently.) As soon as I disabled IPv4 and IPv6 for *both* of the Parallels network adapters, my 3G modem started working great. That kept me going for at least another hour before I the hotel internet came back online.

Now I need to check and see how much data I pumped through the modem in that hour. I don’t think I came anywhere near the 5GB monthly limit, but you never know. Next test is to take the modem to the McDonald’s and Starbucks and see if I can get the WiFi to work with the MBP finally. That’s fodder for a later blog post.

This past week, I’ve spent quite a bit of time installing and configuring Capistrano and Chef. I’m still not ready to write about my adventures, but suffice it to say that it hasn’t been the best of times. However, I’m liking where I’m headed with both products and I should have a short writeup here within a couple of weeks along with a more detailed adventure over at the corporate blog at the PlanetPope blog.

Also on the short term radar is Appcelerator Titanium. I’ve got it downloaded and have my mobile account setup. I met Chris Beck at the Charlotte Ruby Meetup. He recently tweeted “Just finished up one of the new iPhone apps I had planned. Knocked it out in two days with Appcelerator Titanium.”  I’m trying to think of a few quick applications to run through Appcelerator Titanium to see how good it is. I will definitely be going into greater detail on the PlanetPope blog about this venture.

Finally, many of you know that I am a huge fanboy of Terracotta. One of my clients is in the process of building out a new production infrastructure and they are moving to 64 bit Linux. The Terracotta server is a nice, fat box and the clients (in this case, Tomcat 6) are running on some tasty VMware ESX boxes. VMware produces some really nice documentation on how to configure ESX servers for an optimal setup to support Java. One of the items is using large pages. However, VMware’s supporting documentation specifically about large pages left a lot to be desired. Then I found a post by Andrig Miller titled JVM Performance Tuning. He gave a great step by step of how to configure the box. I’ve followed all the steps, but for some reason, I’m still getting the message:

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory (errno = 12)

on startup. Everything seems to be setup correctly, so I guess I still have some more work to do to get it right. Once I do, I’ll post it up at the PlanetPope blog.

I’m looking forward to a really busy weekend prepping for a massively huge release next weekend. I’ve spoken with some friends at other shops and it seems this is the time of big releases. I noticed yesterday that US Airways had a new site. Today, they were back to providing their old site. I’m guessing it didn’t go so well. There’s a lot to be learned from watching large sites do rollbacks. It would be great if someone would provide the insight into these launches. Oh, wait. . .that’s exactly what I’ll be doing next couple of weeks. Hopefully it will be all happy and not sad news.