How to: Install Multiple Versions of Python 3 on Mac

Was needing to test some code against multiple versions of Python 3. Namely: 3.2.x and 3.3.x and 3.4.x. Installing 3.5.x was easy using homebrew (brew install python3). But I couldn’t find brew packages for python3.2 and python3.3 and python3.4!

I ended up doing it the manual way, which wasn’t that hard.

  1. Download the installer from: https://www.python.org/downloads/mac-osx/
  2. Run the installer, I chose to do a “custom” install and only selected the command line tools (leaving out the docs and the GUI).
  3. Re-link your homebrew installation and fix permissions
~$ brew unlink python3 && brew link --overwrite python3
~$ sudo chown -R damon:admin /usr/local/bin

Now you should be set with python3.2, python3.3, python3.4 and python3 will run python3.4!

Note: this will cause a warning when using brew doctor that reads:

Warning: Python is installed at /Library/Frameworks/Python.framework
 
Homebrew only supports building against the System-provided Python or a
brewed Python. In particular, Pythons installed to /Library can interfere
with other software installs.

So far I have been able to safely ignore this warning. That’s the location the Python installer writes to.

How To: Filter Lookup Field Values by Current User

I had been struggling with SharePoint 2007 trying to get the current user’s ID using SPServices and jQuery. I wanted to filter results based on a SharePoint user lookup field in a custom list. The issue I was struggling with, using SPServices, was that I wasn’t able to get the current user ID. I’m not sure, but I think it’s because I’m still using SharePoint 2007.

However, I stumbled across this solution which didn’t require me to know the ID of the user. And it worked like a charm (with one small change).

var userName = $().SPServices.SPGetCurrentUser({ fieldName: "Name" });
 
var query = '<Query>' +
                '<Where>' + 
                    '<Eq>' +
                        '<FieldRef Name="SharePointUser" />' +
                            '<Value Type="User">' + userName + '</Value>' +
                    '</Eq>' +
                '</Where>' +
            '</Query>'; 
 
$().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "UserAccessList",
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
    CAMLQuery: query,
    completefunc: function (xData, Status) {
      $(xData.responseXML).SPFilterNode("z:row").each(function() {
            // will return only results that match the current logged in user
            // in the 'SharePointUser' column
            console.log($(this).attr("ows_Title"));
      });
    }
});

How To: Unlock, Root, and Install a Custom ROM on a Galaxy Nexus (Verizon) Using a Mac

Purpose: unlock and root the Galazy Nexus (Verizon) using nothing but a Mac and Google’s Android SDK. We’re a Mac household (with some Linux underpinnings) and I had a hard time finding what I would call a definitive guide to approaching the task with my Galaxy Nexus (Verizon).  I had started with Droid Life’s Complete Nexus Guide but it was primarily for Windows users and I couldn’t get VMWare Fusion to play nice with the Samsung driver. So: here’s how I unlocked my Galaxy Nexus (Verizon) on my Mac.  It only took Google Search and a couple hours in front of the computer and was actually really, really easy in the end.  Much easier than on the PC and much easier than any Mac guide I coud find (which all required me to download a mythical fastboot if I could find it. I ended up just using the “fastboot” that came from Google in the SDK.  Wee!

Read the rest of this entry »

How To: Install Vim 7.x Locally on Site5

Purpose: upgrade your Vim distribution to 7.x on your Site5 account with minimal hassle. I had tried to follow this guide initially but kept running into problems with my $VIMRUNTIME files … anyway, this method works very easily utilizing a bash script and eliminating the problems I had.

Read the rest of this entry »

How To: Store iMovie ’09 Events and Projects on a Network Volume (NAS)

Purpose: while iMovie ’09 allows you to store your events and projects on physically attached hard drives (external or internal) it doesn’t offer an out-of-the-box way to store them on a network attached storage (NAS) device. I have a file serve and I want to use it.

Read the rest of this entry »

How To: Test Connection Speed Between Two Machines

Purpose: as a quick diagnostic tool, sometimes it’s nice to know exactly how fast two machines can (theoretically) be connected.  I was having some slow downs on my NAS and using these command line tools, was able to determine that it was my NIC (and not my hard drives) that was causing the slow down.  I learned this from a thread at slashdot.

Read the rest of this entry »

How To: Automated Encrypted Incremental Backups on Amazon S3 with Duplicity (OS X or Ubuntu)

Purpose: setup an automatic encrypted off-site backup system that utilizes Amazon S3 with incremental backups by duplicity on the Mac (Leopard) or Ubuntu. Currently, I do have my own on-site backup system in place (nightly backups via rsync to external hard drive), but I am wary that some day my house may explode and I’ll have nothing left. Enter my new friend: the encrypted off-site backup.

Read the rest of this entry »

How to: Retreive Custom Field Data in a WordPress Post

Purpose: use WordPress’s “Custom Field” key/data pairs to store and retrieve specific post information and display it in your own custom templates.

Read the rest of this entry »

How To: Install MacPorts on OS X Leopard (10.5)

Purpose: install MacPorts on OS X Leopard (10.5) to gain access to a host of open source applications and tools that make working on the Mac as cool as can be. Using MacPorts makes it easy to install applications you would otherwise have to build from source — which can be difficult for folks like me, who don’t understand what the hell they are doing in the first place.

Read the rest of this entry »

How To: Network Trash on Ubuntu File Server (NAS) with SFTP (SSH + Fuse) and AFP (netatalk)

Purpose: create a Network Trash functionality for a Ubuntu Linux file server (NAS). Reason being: by default, files deleted from the command line on file server go away permanently. If I am connected to my file server from my Mac via AFP (through netatalk) or SSH (SFTP through Fuse) and delete a file, that file is gone forever! This is a problem, because often I find I want them back. Enter: libtrash!

Read the rest of this entry »