Posted on August 26th, 2008 | No Comments »
I’ve moved jquery lightbox’s development from google code to github.com. I’ve not yet closed down the google code repository, but i’m going to take time this week to clean it up, and direct everything to github. I’ve had a nice boost of positive feedback in the last week or two, and have some features in mind for development. I’ll keep progress posted here.
Cheers!

Posted on June 22nd, 2008 | No Comments »
Just a quick update: Versions beta 2 was released this week, and with it, a fix to my google code svn issue. The beta expires in 8 days, I hope they either release a finished product, or extend the beta, because Versions has replaced svnx in my daily workflow, I dread going back. If you haven’t tried it yet, what are you waiting for?
Posted on June 12th, 2008 | No Comments »
Today, after what seemed like an eternity of waiting, Pico and Sofa (Checkout, Disco) finally released their first beta of Versions, a Subversion client for Mac OS X. I stumbled on to Versions some time last year when I was in a fever to replace svnX. While svnX works, it is far from an optimal solution to manage multiple repositories. All of the excitement started this afternoon, at around 1:30 PM AST when an email showed up in my inbox from “Versions” with the subject of “Versions Beta Announcement”:

Needless to say, I went to the website quickly and downloaded a fresh copy of the beta. The entire package clocked in around 2.7MB and downloaded very quickly. My very first impression of the app was the giant flower they have as an icon. I normally don’t fuss over icons, but this thing is gorgeous. I’ll include it here, for the sake of including.

Ok, on to actual experience with the application…
When I first opened the application, I was greeted with screen that presented me with three options:
- New Repository Bookmark
- Free Online Repository (Powered by Beanstalk)
- What do you think of Versions?
I selected the first option, because I don’t need any svn hosting, but it’s a nice idea to include a link to an svn host in the app.

When you select “New Repository Bookmark”, you get asked for a few simple pieces of information: repository name, repository url, username, passsword, and optionally a link to a ticket system which links #123 in an svn comment to http://url/of/tickets/123. Neat!

I decided i’d enter the repository information for jQuery Lightbox, hosted with google code. This is where I ran into my first problem with Versions. It threw a subversion error related to the certificate on googlecode.com

I wasn’t entirely surprised by this error, as I got a similar error in svnX. My guess is that other folks have the same trouble with google code. I decided to set up the http version of the repository. This means I wouldn’t be able to commit from versions, but i’d still be able to get a feel for everything else in the project. After changing the protocol to http and clicking “Create”, I got my first real taste of the Versions interface.

Let’s see what we’ve got there. Some of the standard controls for any svn app, update, commit, diff, etc. In the main interface, it looks like I have a list of my repositories, and the meat & potatoes of the app is in the main content view. There’s some interesting controls in there that i’d like to explore. First off, on the left of the main view, there’s a button that reads “Select” and what appears to be a depressed button next to it labeled “REV HEAD”. Clicking there allowed me to view any previous revision. The three large buttons in the middle of the view, “Timeline”, “Browse”, and “Transcript” also need to be explored. Browse looks like it’s a standard filebrowser, showing what revision files are at, date modified, who modified them. Clicking on timeline brought me to a view filled with a Trac-esque timeline view.

The timeline viewer is a great addition to an svn client, because it gives you an instant overview of project activity. Who’s making what types of changes, and when. I’ve always relied on Trac, cvstrac, and custom written timeline viewers to give me an overview of this type, but having it directly in the client makes it a good deal easier to have access to.
Now that I had the repository added, I wanted to see how Versions tracks changes through a project. To do this, I was going to have to checkout a working copy. I selected the project, clicked the “Checkout” button at the top of the window, and I was off to the races. I just needed to tell Versions where the repository was going to be checked out to, and it did everything else without issue.
With a working copy successfully checked out, it was time to make some modifications. I looked for a simple edit to make based on the project’s issue tracker. After a minute or two of reading I found my edit, and made a change to one line of the main .js file. It was time to switch back over to Versions and see where my changes showed up. At first, I didn’t see any changes listed in the file browser, and that was a little discouraging. I noticed a little refresh glyph in the top right, and decided to click it. Sure enough, my changes showed up after clicking that. While that works, it’d be great if I didn’t have to click refresh. In any case, my changes were there, with an icon appearing next to the file I had made changes to.

Also, above the file browser, I had the option to toggle between “All” and “Changed”. Changed lists just the changes files in your working copy.

So far so good. The one last thing I was worried about in this little walkthrough was how Versions would handle diff’s. I’d read on their website that if you had Xcode installed, that it would automatically use FileMerge for diff’s. This is the same behaviour that svnX uses, and i’m a big fan of it. I selected the changed file in the file browser, and clicked “Compare Diff”. Sure enough, FileMerge was there listing my change.

That was just about everything I needed to see to work with this app on a day to day basis. There’s still the regular headaches that come with svn, but this app looks like it is going to make version control a whole lot nicer to work with. I’m already sold on the app, and I haven’t even started using it with any of my work projects yet. That’s what this weekend is going to be for.
To sum it up:
The Good
- Simple, Clean Interface
- Integrated timeline
- svn+ssh:// support
- Integrates with Xcode’s FileMerge
The Bad
- Need to refresh file browser for each change
- Still In Beta!
Posted on June 8th, 2008 | No Comments »
Just like every other Mac user out there, I installed 10.5.3 when it dropped last week. And, like so many times before this, the os x update broke my local build of PHP. This time, after rebuilding PHP & Apache, I was still unable to start apache, being told that libphp5.so was the wrong architecture.
This time apparently php was building as i386, but httpd was running as x86_64 (I’ve got a SR MacBook pro as my build environment, your mileage may vary.) So, instead of figuring out how to cajole php into building as x86_64, I fell back on my friend lipo to make sure httpd was running i386. Here’s what I did:
sudo apachectl stop
cd /usr/sbin
sudo mv httpd httpd_old
sudo lipo -thin i386 httpd_old -output httpd
sudo rm -f httpd_old
sudo apachectl start
This looks like it solved all of my problems. I might keep this in mind for when 10.5.4 drops, to make my life a good bit easier.
In the mean time, if you can tell me how to convince php to build x86_64, I won’t mind. ./configure detects the following about my system:
checking host system type... i686-apple-darwin9.3.0
checking target system type... i686-apple-darwin9.3.0
Maybe i’m destined to run as i386, which I don’t mind, so long as it runs.
Cheers!
Posted on May 16th, 2008 | 1 Comment »
With everyone complaining about laptop searches crossing the border, and an upcoming trip stateside for me, I thought I might take a look at protecting some of my own data. It’s not that i’ve got anything to hide (unless uncle sam is interested in client management software), but I like to keep my data as mine. While protecting all of your data is much more difficult than i’ll cover here, protecting at least your web surfing habits is easy as pie. Safari has a great feature called “Private Browsing” that doesn’t hold onto any cache/passwords/history from session to session in your browser. The only problem with private browsing is that you’ve got to enable it every time you open your browser.
I did some searching but couldn’t find any info on tricking safari into defaulting to private browsing. That’s why I took 5 minutes out, and wrote a quick applescript app to launch Safari, and instantly turn on private browsing. It’s simple, but it works. Give it a try!
Download Private Safari
Cheers!