Tag Archives: review

Book review: Pragmatic Guide to Git

When I first heard about Version Control Software, I thought it was nothing for me. But working in a team, and sharing the same source code poses interesting questions: “can I edit that file now?”, “who the hell removed my code?”, … If this sounds familiar to you, then maybe it’s time to do what I did: start using Version Control Software. Even if you’re working alone, it can never hurt to be able to revert back to an earlier version of your code.

Review

If you’re anything like me, then you want having a good reference for the tool you’re going to use. I prefer that reference to be a physical book. Nothing beats being able to browse through a book when searching for something. The one I’ll be reviewing is called “Pragmatic Guide to Git” and it’s written by Travis Swicegood. If you’ve ever been to a conference and seen him give a session about Git, then you’ll know Travis knows what he’s talking about. If you haven’t had the pleasure, then take it from me :)

The book is aimed at beginners who “don’t need a lot of hand-holding”. This just means that it’s for everyone who just wants to get started using Git, without much theory. And that’s exactly what this book delivers. The book is divided into parts, containing several tasks. A task can be translated as a single command in Git, while a part is a group of commands which all serve a common purpose.

These parts are:

  1. Getting started
  2. Working with Git
  3. Organizing your repository with branches and tags
  4. Working with a team
  5. Branching and merging revisited
  6. Working with the repository’s history
  7. Fixing things
  8. Moving beyond the basics

As you can see, things start off slowly, and gradually you start learning more and more. The good news is that all these parts are ordered in exactly the same way as you’re probably going to need them. Sometimes I find myself skipping some chapters in a book, because the things I needed were not ordered logically. Not so with this book.

Each of these parts contains tasks. A task could be “Committing changes” or “Creating and switching to a branch”. A task gives an explanation about a single command, and some of the options for that command. What’s handy is that for each task, the explanation is on the left page, while the code is on the right page. No need for you to start searching through paragraphs where the exact code is you need. Good chance you’ll quickly find it on the right hand side.

Conclusion

If you’re all new to Git, then this book is exactly what you need. You start of with the basics, and with each task you learn new stuff. The layout of the book is of great advantage when you quickly need to find something back. Travis did a great job organizing the different subjects in a way that gives you a very natural order to learn Git. For those of you who want to dive deeper, or need more advanced knowledge, then this book isn’t for you. As a first book on Git, or a quick reference, you won’t be disappointed when buying Pragmatic Guide to Git.

Book review: iPhone SDK Development

When you want to learn developing applications for the iPhone, you have to start somewhere. For me, I usually start with buying a book, and study from it. This book from the Pragmatic Bookshelf looked promising and is now my first iPhone development book. But did it get me to where I wanted to get? My review will tell you just what this book did for me.

Review

To be honest, this wasn’t my first book from the Pragmatic Bookshelf. I’ve bought The Pragmatic Programmer, and read it from cover to cover. It provided me great insights, so I hoped that this iPhone SDK Development would be of the same high quality. My goals were quite simple: I knew nothing about iPhone development, and I wanted to learn it. No, let me rephrase that: I knew nothing about iPhone development, and I wanted to learn it from this book alone, because I would be studying during my holiday in Italy, far away from the internets.

The book starts with some must-read chapters about the very basics of iPhone development. The other chapters are there for when you need them. You probably only want to read up on using MapKit, if you need it, not because it’s the basics of all iPhone applications. In this way, the chapters are well organized: basics first, fancy features later.

The first few chapters (1-7) give you a lot of information about the basics of Objective C and the iPhone SDK essentials. Since I have a programming background, I had no problem understanding these concepts, except maybe memory management. In these first chapters, the author takes you by the hand, and creates a couple of sample applications, with all code provided in the book. You just have to type it over, so to speak, and it works. Further in the book, the authors don’t go through all the trouble again and again, and then only explain the chapter’s subject in detail, leaving the rest to you.

In the book, UI elements are never created via the code. Everything is explained with the Interface Builder, a built-in tool of Xcode. This appeared to be a good choice. It saved me as a beginner from the intricacies of creating a UI element from scratch in the code. The authors teach you how to access UI elements from the got to get the data in or out of them, which is all you need in the beginning. All styling and graphical changes can be done through the Interface Builder.

When you finally reach the more advanced topics (chapters 8 through 29), you probably have spent a good amount of hours poking around in Xcode. As such, you’ve by now learned from both the book and your mistakes. I haven’t read through all the chapters just yet, only a couple I needed. From my experience, these advanced chapters give you the basics to get started with the topic. If you need more details or other functionality, you really need to get on the Internet. Not only to find answers to potential questions, but also because sometimes code is provided on the book’s website. This made it more difficult for me to study offline, which was really too bad. I spent quite some time figuring out my mistakes when dealing with Core Data.

Conclusion

iPhone SDK Development provided a very good start for me. Chapters 1-7 provided me with the basics, and chapters 8-29 provided me with information I could fall back on, if I needed to know more about that particular subject. I would recommend this book to anyone who wants to start with iPhone development, even though the book is based on SDK version 3.x. This book is aimed towards beginners, and as such delivers a good introduction.