Sunday, January 10, 2010

Pragmatic Version Control Using Git by Travis Swicegood Review

Having worked in configuration management for the last 15 years or so, I've been exposed to most of the mainstream version control systems.  Recently I've been using BuildBot and found an fixed some bugs. They use the git revision control system (hosted on github), so it was time to learn something new.

So thanks to Tony,  Baypiggies' publisher interface, I was able to obtain a review copy.  So now just find the time. :)

I've read both the CVS and Subversion editions of Pragmatic version control from The Pragmatic Programmers and in both cases found the books well written and easy to read.

As Git (The version control system originally written by Linus when the bitkeeper folks decided the cancel the license they'd granted to Linux) is one of a new generation of Distributed Revision Control systems, it's necessary to take a step back from what you may already know about revision control.  Git tracks diff's and not files.

The first chapter does an admirable job helping one wrap one's head around the fundamental differences between Git and the centralized repository based RCS's.

The second chapter walks through obtaining and setting up Git on your favorite platform(s) (Linux, Mac OSX, and Win-blech OS's are discussed)

The third chapter has the reader create a repository, and then walks you through a number of checkins and basic command usage.  That ends the first section.

The second section (composed of 6 chapters) walks you through increasingly complicated examples with a fictitious project.

Finally, the third section is composed of two chapters on administrative topics, migrating to Git, and running a git server.

As I expected, this book upholds the high standards set by the CVS and Subversion editions of this book, and is a great introductory read to get anyone up and running with Git!

Sunday, October 18, 2009

Swapping views on the iPhone

Recently, I've been working on an iPhone app with a couple of friends. It involves a splash/start screen (though I guess Apple discourages splash screens), a menu page to select what time of game play, and then the game screen (which is the same for all modes, but just behaves differently).

It seems to be non trivial to transition from one screen to the next in a simple way. I'm trying a few variations, UINavigationController, UIView's which swap in subviews. I don't think that UITabBarController would work for this app.

I am enjoying learning a new programming framework. But it's quite different from other programming I've done in the past.

Sunday, June 28, 2009

Git, Buildbot, and "Pragmatic Version Control Using Git"

So my first patch to buildbot was accepted and merged into the trunk (or whatever git's equivalent is).
So given my lack of getting git, I acquired (thanks to O'Reilly and baypiggies relationship with them) a review copy of "Pragmatic Version Control Using Git".
I'll be posting a review on Baypiggies Website when I've finished reading it.
As usual (being a Pragmatic Programmers book) this book is quite well written (well thus far up to chapter 3), and works step by step through git and how to use it. So I'm hoping to get Git soon.
:)

Monday, June 8, 2009

iPhone programming

I've been learning iPhone developing for a while.
I got the book "The iPhone Developer's Cookbook" a while back for free as a review copy (which I'm reviewing here ). It does say in its introduction that the book can be used to learn iPhone programming. I'd have to dissagree. That book is best for learning neat tricks and hacks to squeeze the last bit of coolness out of the SDK (and beyond).

A friend pointed me at Beginning iPhone Development: Exploring the iPhone SDK as a better book to get started with, and, just 2 chapters and change into the book, it's clearly the superior book to learn iPhone programming. Things which had be befuzzled in the other book are very clearly explained in this book. Highly recommended.

Sunday, June 7, 2009

My First Buildbot GIT checkin to github.com

After about 1/2 day of hacking and reading various docs on the web I got the hang of pulling updates from the main branch for buildbot. Using:
git remote add upstream git://github.com/mirkoboehm/buildbot.git

I'm hoping that's correct, and it did seem to pull in changes.
I added a new argument to the CVS buildstep checkout_options, so I can add -N to the generated cvs command line.

Since one client's CVS configuration has an alias specified which has multiple directories, and buildbot's generated command line uses -d, -N is required to get the alias to work properly.
I'm hoping the pull request is accepted and then I can have that client switch to the mainline of buildbot, rather than having to patch whenever they install.

Saturday, June 6, 2009

Experimenting with git and github.com to try and work on some patches to buildbot, but the directions, although explicit, are either not working with the current version of git, not working at all, or I'm totally not grok'ing what I'm supposed to do to update my git branch from the master branch. :(
An unexpectedly lovely day in San Francisco. The weather man had predicted rain all week, and the as late as yesterday, rain for the whole weekend. Although we could probably use the rain, I'm happy that the predictions were flawed.