Core Data iOS Essentials is quite possibly the best book I’ve read so far on Core Data. Core Data can be a tricky thing to master especially if you’re so used to using SQLite. The author, B.M. Harwani does a wonderful job at taking your through the world of Core Data as it related to iOS development. The book starts off by giving you a brief history of the Enterprise Object Framework (EOF) and Core Data followed by an entire chapter devoted to understanding Core Data. This books leaves very little to be desired with topics covering what Core Data is and how it works, how to build full featured data=driven applications for iOS devices, searching with Core Data, displaying your data, etc…

The book assumes some knowledge of iOS programming and encourages some tinkering with Core Data. If you don’t know what Core Data is and why you should use it in your application and you are needing to build an app that needs to store data in some format then this books is for you. If you have a need to store data, then you have a need to use Core Data and this book will teach you what you need to know to use it efficiently and successfully.

I’ve really enjoyed the section on Implementing UITableViewDataSources protocol methods. This section walks you through the basics of setting up a UITableView and using it with Core Data to display your data within your iOS app. The code examples are easy to follow and appear to be very accurate.

If you are planning on developing an app that needs to store data or are currently working on an app with data storage needs then please consider giving Core Data a try, together with the Core Data iOS Essentials book from Packt Publishing you should be able to build a pretty solid app.

Purchase from Packt Publishing

Have you purchased this book? What do you think about it? Is there anything you think that this book lacks that should have been added? I’d like to hear your comments

I’ve recently been able to read another book entitled Cocoa and Objective-C Cookbook. I must say, I am really starting to enjoy the Cookbook series from Packt Publishing. The Cookbook series provide you with quick and simple solutions to common tasks and issues. I particularly enjoyed this book since I am actively developing apps for Max OS X using Cocoa and Objective-C. There are many great books out there that teach you the fundamentals and there are plenty available that also teach you some of the more advanced programming skills. These books are great but are not very useful for everyday reference. Books such as the ones I just mentioned are often within the 500 page range and make it difficult for you to reference back to certain materials.

With the Cocoa and Objective-C Cookbook I found it very easy to refer to some of the simple every day tasks. It also does a very good job at taking you beyond just the basics and introduces you to some of the more advanced topics, such as, Core Animation, Pinch and Swipe, Keychain API, MySQL, SQLite and a few advanced debugging techniques and tools.

Cocoa and Objective-C Cookbook is written  in a straightforward easy-to-follow format and provides a selection of the most important tasks and problems with well organized instructions for solving problems efficiently. With right at 200 pages packed full of helpful hints, tutorials and code samples, I find that this is not a book that will stay on my book shelf collecting dust.

It’s a little difficult to explain who this book might be for, you may think, “I already know everything”, well, that may be true but its the little things that we forget. For instance, I know how to use NSTableView very well but when I started developing my application I totally forgot how to set the datasource. Well, with this book in hand, I was able to quickly find a page with an easy to follow example that got me up and running fast.

There are also a few things I didn’t know how to do, for example, I’ve never before used any of the pinch and swipe features. This book has a whole chapter that is devoted to Handling Events and explains the pinch and swipe very well. All in all, if you are a developer using Cocoa and Objective-C, you should own this book.

Purchase from Pack Publishing

Have you purchased this book? What do you think about it? Is there anything you think that this book lacks that should have been added? I’d like to hear your comments

I wanted to share another great book with everyone. Lately I’ve been doing a lot of development using PHP with the CakePHP framework. What is CakePHP? CakePHP is an Open Source web application framework for producing web applications. It is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT license. CakePHP provides an extensible architecture for developing, maintaining, and deploying web applications. There are plenty of tutorials available on the web for beginners that wish to utilize all that the CakePHP framework has to offer but if you want more in-depth knowledge and would like to begin developing more sophisticated applications then CakePHP 1.3 Application Development Cookbook is the right book for you.

Inside the Cookbook you will find a straightforward and easy to follow format, a selection of the most important tasks and problems, carefully organized instructions for solving the problem efficiently, clear explanations of what you did, and shows you how to apply the solution to other situations.

What this book doesn’t seem to cover is everything required to get you started. If you are looking for step by step tutorials starting you off with a “Hello World” example then this book is not for you. I suggest you get familiar with CakePHP before you get started with CakePHP 1.3 Application Development Cookbook. This book seems to be more centered around expanding your knowledge of the CakePHP framework. The book is very well written and contains over 60 great recipes for developing, maintaining, and deploying web applications.

If you are already familiar with the PHP language and CakePHP and want to build upon your knowledge to create more sophisticated web applications then I urge you to give this book a try. If nothing else it would be great to add to your reference collection. Below you will find a link to purchase this book on Amazon as well as a link to preview the 1st chapter of CakePHP 1.3 Application Development Cookbook.

Buy CakePHP 1.3 Application Development Cookbook on Amazon

Preview Chapter 1 of CakePHP 1.3 Application Development Cookbook

Buy CakePHP 1.3 Application Development Cookbook from the Publishers Site

Have you developed any web apps using CakePHP? Have you read this book? What do you think about CakePHP? Would love to hear from my readers. Have a great weekend everyone.

I’ve recently had the pleasure of reading Flash: Game Development by Example by Emanuele Feronato, published by Packt Publishing. This book is fantastic, no matter if you’ve never developed a game before or you’ve made a start but want to refine your skills and build complete, successful projects. Everything is very well structured which makes it easy to move a long at a fast pace. During the course of the book you will get to build 9 classic games with each game introducing new game development skills, techniques, and concepts. By the time you finish the book you will have built 10 complete games and have the skills you need to design and build your own game ideas.

In only 330 pages you will build games with AI, levels, shooting at moving targets, puzzles, scoring systems, time limits, and more. You’ll learn to build games in the style of Concentration, Minesweeper, Connect Four, Snake, Tetris, Astro-PANIC!, Bejeweled, Puzzle Bobble, and BallBalance.

What I like most about Game Development by Example is that the book not only walks you through the process of building these fun games but also does a very good job at explaining how everything works. If you’ve ever wanted to build your own game or are just curious how games are built then you should definitely give this book a try. Check out the link below.

Flash: Game Development by Example ( 1st Chapter Preview )

Buy Flash: Game Development by Example on Amazon

Buy Flash: Game Development by Example on the Publishers website

Agile software development (Agile)

  • Pros Minimizes feature creep by developing in short intervals resulting in miniature software projects and releasing the product in mini-increments.
  • Cons Short iteration may add too little functionality, leading to significant delays in final iterations. Since Agile emphasizes real-time communication (preferably face-to-face), using it is problematic for large multi-team distributed system development. Agile methods produce very little written documentation and require a significant amount of post-project documentation.

Extreme Programming (XP)

  • Pros Lowers the cost of changes through quick spirals of new requirements. Most design activity occurs incrementally and on the fly.
  • Cons Programmers must work in pairs, which is difficult for some people. No up-front “detailed design” occurs, which can result in more redesign effort in the long term. The business champion attached to the project full time can potentially become a single point of failure for the project and a major source of stress for a team.

Joint application design (JAD)

  • Pros Captures the voice of the customer by involving them in the design and development of the application through a series of collaborative workshops called JAD sessions.
  • Cons The client may create an unrealistic product vision and request extensive gold-plating, leading a team to over- or under-develop functionality.

Lean software development (LD)

  • Pros Creates minimalist solutions (i.e., needs determine technology) and delivers less functionality earlier; per the policy that 80% today is better than 100% tomorrow.
  • Cons Product may lose its competitive edge because of insufficient core functionality and may exhibit poor overall quality.

Rapid application development (RAD)

  • Pros Promotes strong collaborative atmosphere and dynamic gathering of requirements. Business owner actively participates in prototyping, writing test cases and performing unit testing.
  • Cons Dependence on strong cohesive teams and individual commitment to the project. Decision making relies on the feature functionality team and a communal decision-making process with lesser degree of centralized PM and engineering authority.


  • Pros Improved productivity in teams previously paralyzed by heavy “process”, ability to prioritize work, use of backlog for completing items in a series of short iterations or sprints, daily measured progress and communications.
  • Cons Reliance on facilitation by a master who may lack the political skills to remove impediments and deliver the sprint goal. Due to relying on self-organizing teams and rejecting traditional centralized “process control”, internal power struggles can paralyze a team.

Source material from Wikipedia.