Category Archives: Geeky

Migrating My Defected Ultrabook SSD to a New SSD – My Journey and Lessons Learned

Last few months I have been seeing strange behavior on my Windows 7 Ultrabook – like failing to boot on occasions and getting same Windows updates over and over, certain application wouldn’t install correctly, and etc. I figured the original 240GB SSD may be reaching its end of life, though I have been using my laptop for just 2 years. After downloading HD Tune Pro, my fear was confirmed. The SSD had more than 8% of damaged blocks. I quickly purchased another SSD from Amazon of the “same” size (at least I thought), then the real battle began…

First, the new Samsung SSD was advertised to have 250GB of storage when in fact has only 232.88GB of true storage (Lawyers’ ears should be perked up by now). My original Micron SSD was advertised to have 240GB by Acer when it has 238GB of true storage. So the new SSD is slightly smaller than the old one. This was bad news. It’s much easier to migrate from a small disk to large disk. Lesson #1: always buy a bigger disk than the original. When in doubt, go for the next bigger size. In order to overcome this issue, I had to shrink the original disk: 1) Right click on Computer and Select Manage, 2) Click on Storage->Disk Management, 3) Select the partition to be shrunk, 4) Right Click -> Shrunk Volume). So I managed to shrink just 8GB. This was good enough to scrape by and meet the new SSD size.

Next, I had to clone the disk to the new drive. The new Samsung SSD came with their migration tool. Unfortunately, their tool refused to work because my original disk had data corruption. It’s kind of silly to have a tool that wouldn’t work with the situation it’s called out to do. Then I tried CloneZilla, which was a nice tool I used to clone and backup disk image. It’s good at duplicating disk verbatim, as long as the destination disk is larger than the source disk. But it choked badly on this task because I needed to go from a slightly larger SSD to a smaller SSD. No Go. I tried manually copying the partition but the Windows partitions were a nightmare to copy correctly. I almost gave up and was ready to return the SSD back to Amazon for a next-size, 500GB SSD, which cost another $100. Then I remembered Acronis True Image (2009 version I used), whose “Clone Disk” function was smart enough to skip the empty partition when copying and eventually saved my butt and migrated correctly to the new disk. Another lesson learned, a good disk migration software goes a long way of solving a real challenging problem.

I’ll spare you the painful story I went through in replacing the SSD (12 screws on the cover, 5 screws on the SSD housing) on my Ultrabook. What a relief to see the new disk booted up nicely and performing well. A journey indeed. One last lesson: SSD may be a technology wonder in terms of its high performance but it’s still a way off to have the same reliability as a hard disk.

Book Review: “Think Python” by Allen Downey

It’s been a while since I used Python last. See my review on another Python book: “Invent Your Own Computer Game with Python” Unfortunately, like most spoken languages, you’d lose the ability to use a computer language if you don’t use it often. And I did forget most of it. This time, inspired by “Think Bayes,” my original intention to learn about Bayesian Statistics (more on this in future blogs), I decided to learn Python using Allen Downey’s book – Think Python.

Thanks to Downey’s teacher style, this time I think it’s going to stick with me. Also it helps to have the Enthought Canopy Express – a free tool with an integrated IDE to practice Python along the way.

Due to my previous programming experience with C, this time it took me just a week to finish the book during my “leisure” time. Also, having the free e-book (Thanks to Allen Downey’s generosity) side by side with Canopy makes a good hands-on experience. All the examples and downloadable directly from thinkpython.com.

It’s very helpful to do the exercises assigned to enhance the learning experience. Nothing beats actually coming up with the solutions on your own, then check against the downloaded solutions. Learning by doing it. That’s the ticket to retained learning. Also I refreshed my understanding of the object programming and learned a few things about GUI programming with Python and Tkinter.

“Think Python” accomplishes the goal of teaching the users how to program in Python – an excellent book and resource. Now moving on to “Think Bayes” next!