Brief notes on upgrading a 2010 MacBook Pro SSD

I have a 2010 MacBook Pro which came with a 120GB SSD. I ran out of space on the drive and took it upon myself to upgrade to a bigger one. Found a great deal ($220) on this SanDisk Extreme 240GB 2.5" SATA III SSD and was ready to swap it out with the old drive.  It turns out I'd lost out on the lottery and received one of the slower Toshiba SSDs rather than one of the faster Samsung ones, so I knew the SanDisk was bound to be an improvement. After making sure my Time Machine backup was up to date I cloned my old SSD to the new one using a SATA-to-USB dock and Carbon Copy Cloner.

I started by watching this video to get a sense of my way around the inside of the laptop. The video covers a slightly different task, but I wasn't looking for hand-holding, but just the general layout and gotchas.  One of the things I gathered is that it's important to use high-quality philips and torx bits, and in my case I used a Wiha set.  It was pretty easy to take out the old SSD and plug in the new one. I couldn't find my anti-static wristband, but I made sure to wear only cotton clothing, and to touch the power supply chasis of a nearby, plugged-in desktop PC every minute or so to avoid zapping anything.

With the new SSD in place, the first boot took an eternity. Almost ten seconds from pushing the power button to the grey Apple icon, and almost another ten seconds before the little spinny boot process indicator, but it did boot up fine. I've heard that SSDs need a few days to "settle in" before they're at proper performance levels, but other than the super-slow boot-up , I haven't had any other problems. I was back to working normally right away with the new SSD.  Using Blackmagic Disk Speed Test I get speeds of around 220MB/s for read and 260MB/s for write, which is quite an improvement (and this is before any possible "settling.")

First day as a Python/Mac developer

This is primarily just my scattershot notes on getting myself ready for Python and C development on Mac. It really is a confusing picture as to how to get started with Python development on the Mac. You can get a bunch of bits and pieces from the official Mac page for Python , the Python/Mac FAQ and a few other places, but it's hard to put it al together to understand how The OS X bundled Python, MacPython, Fink, MacPorts, framework or non framework, etc. all fit together, and how to navigate the options. It didn't help that important Wiki pages such as the FAQ had been vandalized, and I was not able to fix it for some reason.
It seems to me that the reason for all this confusion is that a person just needing to run some cool Python script they downloaded would go about things in a very different way from someone like me who needs to heavily maintain software that uses advanced Python/C facilities. It all comes down to the split personality that comes from the OS X way of life superimposed upon the UNIX way of life.

Picking a distribution

Also see:

The key section from the FAQ is the following, pasted from the diff of the vandalized page:

Q: Python overload! I've got Apple's Python, Jack's Python, Fink's Python... A: Newcomers to Python-on-X are often confused by the several distributions of Python available. Each flavor has a history and a reason for existance, but if you're starting out, you probably want to look at the "official unofficial" builds of MacPython 2.4 on http://undefined.org/python and install additional packages like numarray or PIL from http://pythonmac.org/packages. These builds have a feature set that supersedes that of the beloved 'official MacPython builds' by Jack Jansen and solve many of the obstacles that are described by the FAQ entries on this page.

I followed this advice and went with MacPython, but I also set up MacPorts for some flexibility (see below).

Getting started with MacPython (including setuptools)

I grabbed and installed python-2.5-macosx.dmg dmg/python-2.5-macosx.dmg from the page recommended in the FAQ.

I went with the approach of MacPython in system directories, but packages I build from source in my home directory. This meant the following in my ~/.profile, for a start, added after the "# Setting PATH for MacPython 2.5" section added by the MacPython installer.

export PATH=$HOME/bin:/usr/local/bin:$PATH

export PYVERSION=2.5
export PYSITE=$HOME/Library/Python/$PYVERSION/site-packages
export PYTHONPATH=$PYSITE

And then the following in ~/.pydistutils.cfg:

[install]
install_lib = ~/Library/Python/$py_version_short/site-packages
install_scripts = ~/bin

I also had to do a one-time

mkdir ~/bin
mkdir -p $PYSITE

I used setuptools for the first 4Suite and Amara install, following the OS X specific instructions.
One wrinkle was that Firefox 2.0.0.1 refused to save the page with ez_setup.py so I could run it. I tried changing locations and all that to no avail. Smells like a bug. I just used Safari to get it in the end. I noticed that OS X doesn't seem to come with wget. After this set-up, a simple:

easy_install Amara

Worked like a champ, and so I had 4Suite and Amara installed. I also got them set up in CVS easily enough, with the above basic config in place.

MacPorts

I also installed MacPorts, following the install instructions.
I was able to log into Apple Developer Network very easily using my Apple Store ID. One problem is that The instructions say:

Click Customize, expand the Applications category and click the checkbox beside X11 SDK to add it to the default items.

But the XCode 2.4.1dmg I got had "X11 SDK" greyed out. I just went ahead anyway, and it turns out you must install X11 itself before XCode will allow you to install the X11 SDK. Makes sense, but the instructions on the install page have this backward.

As for installing X11 itself, the page says:

Insert the OS X 10.4 installation DVD and run the package named Additional Software.

For the MacBook Pro the installation DVD is labeled "Mac OS X Install Disc 1". The package is actually named "Optional Installs". I clicked through until I got to the page where I could select X11:

You also need to use sudo for the ports update, which isn't clear in the instructions:

sudo port -vd selfupdate

And that's really about as far as I got. I installed MacPorts just to have it handy, just in case. I might first put it to use for wget, which I won't be able to live without very long, and really should come with OS X.

[Uche Ogbuji]

via Copia

The new MacBook Pro

I ended up changing my return flight from Chicago to Denver because of the chaos from last week's huge snow-storm. By the time I got back early yesterday morning all seemed back to normal--and FedEx had attempted three deliveries of my new MacBook Pro. I went to pick it up yesterday, and when he handed me the package I peered suspiciously at the label as I hefted it, amazed at its small size and lightness. I was used to my Dells coming in near-cubic-meter boxes with respectable weight. The label seemed to be right, but I opened the package in the car, anyway. Inside I found an even more svelte box, with the unmistakable goods. Consumer Reports won't be dishing out a Golden Cocoon award to Apple any time soon, and that's a very good thing. I took a few pictures too (see below) of the out-of-box-experience, using my Dell Inspiron 8600 for comparison. The MacBook is much thinner and a bit lighter, and about the same in the other dimensions, despite having a 17" widescreen to the Dell's 15". I just hope I won't miss the Dell's WUXGA resolution too dearly.

My first moves were to install Firefox and Thunderbird. I've done a lot of research while waiting for the new computer and Tim's and Mark's public repudiation of some of the more proprietary aspects of Mac's bundled tools resonated strongly with me. The arguments that Mozilla interfaces were non-Aqua and thus ugly are completely uninteresting to me. I don't subscribe to the school of thought that only Apple is capable of good interface design. More importantly, I've used Safari and Mail.app quite a bit, and I don't really like their UI. I personally find them rather patronizing. In the end, the only reason I made the switch to Mac is that I've come to believe that I can make My Mac serve me, rather than turning me into a servant of The Great Mac Cause. Being able to install cross-platform tools for my basic work was a bit like erecting my flag of independence, to be a bit florid. Anyway I considered Camino but the incompatibility with FF extensions, including the likes of ScrapBook and Web developer tools was a show-stopper for me. I might still install Camino and even Flock. I'm all for browser polygamy.

The next thing I grabbed was Virtue Desktops (Thanks, Graham). Sorry but I can't work with all my windows crammed into one room. It seems Apple realizes the need for these as well, and is preparing the feature for Leopard. Unfortunately Virtue, and AFAICT Apple Spaces are far more limited than virtual desktop technology I'm used to. They work on the principle that each app is assigned to a "space", rather than each window. So my usual setup of having a set of Firefox windows with tabs for regular browsing, and another for client-related browsing, and another for OSS work isn't supported. I can probably get around this for browsing by using a few different browser apps, but I think this will be a real problem in the case of iTerm. I usually have a terminal window or two in each of my "spaces". I also need to find some more keyboard shortcuts for Virtue. shift-tab...arrow keys...enter is a tad too much.

I grabbed iTerm right away because I need tabs. I did find WidgetTerm, a neat Dashboard version of iTerm (no tabs, though). Dashboard is slick. I can't wait till I have some time to go hunting for widgets, and maybe even hacking up some of my own. Hope I can do so in Python.

I chose Vienna as Web feed reader. I'd have been OK paying for NetNewswire, but not on all their dubious terms . I need to quickly figure out IRC and IM (Jabber, AIM and Yahoo), and I'm finding this a bit of a murky area. AdiumX gets some great notices but some of my colleagues warned me of it because of some lingering show-stopper bugs. I'd also love to have IRC and IM in the same app. I'm guessing I'll end up trying a bunch of stuff to find what works for me. Oh well. I'm also presently trying to work out ssh-agent. I found this resource I plan to try. Then will come the hard part: my development set up. I'll be looking for an overview of Python and C dev tools on the Mac, preferably one that evaluates a broad variety of options. I think I'm going to try giving up emacs again, so I'll be checking out good stand-alone text editors. I might even go as far as trying an IDE or two. I got great advice on dev setup in comments to "Time for Mac".

A couple of annoyances I'll have to research more are lack of right click on the touchpad and an occasional disappearing mouse cursor. We ordered Lori's Intel Mac with a wireless keyboard and its mouse had right click as well as a very neat scroll button. I hope I won't be forced to use an external mouse on my notebook: I hate holding down ctrl for context menu. And sometimes the mouse cursor seems to disappear for a second or two. I'm trying to narrow down what triggers this. It's not a huge deal, but sometimes an annoying obstacle.

All in all I'm getting a god vibe about my choice. If nothing else, the energy that comes from shaking up my routine is refreshing. Thanks to all who have given such useful advice, either directly to me, or in the many general, on-line resources.

[Uche Ogbuji]

via Copia