Coding on the Train

7 notes

Programming iOS 4 Review

Programming iOS4 is good reference for new and intermediate level iOS developers of aspiring iOS developers. It covers basics of iOS development with a focus on what has changed and been added in iOS 4.0. 


Though it can be read cover to cover, this is not necessary, as the topics are well encapsulated by chapter. This is particularly helpful for more experience iOS developers who might find the first few chapters a bit too introductory for them or just want to brush ip on on a particular aspect of iOS develop, such as UITables. 


From a production quality point of view the text has very few typos or other errors and seems like it was vetted thoroughly from both a technical and grammatical standpoint, something that is missing in many other technical texts. 


I would definitely recommend this text to anyone that is interested in iOS development regardless of their experience level. I would also recommend that those who are interested in iOS development read through this text for some of the changes made in iOS 4 to be prepared for the upcoming release of iOS 5. 

Filed under ios iphone iPad O'Rielly objective-c

4 notes

Review: The Book of CSS3

The Book of CSS3 is an informative text for those who have a little CSS experience and would like to see what all the fuss is about with CSS3. However, if you have no knowledge of CSS you are going to be lost at sea while reading the text. It is certainly not meant to teach the basics of CSS, rather, as the title suggests it is more focussed on what is changing and being added in CSS3.

The book can be a little dry at times, but that is to be expected given the topic; this may be my bias here but CSS is much less interesting than Objective - C or some other programming language; yeah I know that is comparing two very different things and the CSS is not a programming language at all. I don’t think that the book should be passed up due to dryness, however.

You will learn a lot about the great and powerful new features coming with CSS3 by reading The Book of CSS3  and the book will serve as a great reference no matter how infrequently you may use the technology; I know it has for me.

Filed under CSS o O'Reilly

1 note

Source Control on the Cheap

Source control is essential to software development. We all know this and accept it as fact; if you don’t then you might want to think about what would happen if your hard drive mysteriously got wiped or you make a risky change in a large scale body of code that you wish you could just undo. However, for a new or cashed strapped programmer even GitHub can be a little expensive for developers who like to work on multiple closed source projects or like to start projects out closed source before opening them. I have been using two alternative systems for my closed source control needs.



BitBucket is similar to GitHub, except that it uses Mercurial where GitHub uses Git. You can create an unlimited number of private repos so long as you are not working with more than five other developers.




That’s right good old Dropbox can be a great place to store repos on a dime. Simply store you code in a directory in Dropbox and do a simple git init (or your source control system of choice’s init command) and you are good to go. All your commits will be synched with all of your systems and stored on the Dropbox servers. 


Currently, I am in the process of transitioning off of BitBucket and Mercurial in favor of Git. I’d like to say that there is some logical reason for the switch, but it really is just a matter of comfort and I’ve become much more comfortable with Git.


If you happen to be deciding between Git and Mercurial, this is an entertaining and informative look at the differences between the two systems.

Filed under git hg theory

1 note

Retro Games for Mobile: Asteroids (Native) 0.1

This is the first in my series of tutorials that will go over basic development on iOS and later Android. My intention for this series is for it to be a fun exercise for me and to help anyone who is trying to get into either mobile or game development. I will be going to through a number of retro games and writing iOS and Android versions of them and putting all the source on in public repositories; the code is open-source. and if you don’t already have a GitHub account, get one; it’s free and it’s an amazing service. 

I have already written a little bit of coding for the project and have uploaded the code to the repo. I will be pushing the code to the public repos every-time I make a commit warts and all (assuming I have network access).

We start with Asteroids for Apple’s iOS. This app will be a native app written entirely in Objective-C and will not use any external gaming libraries, such as Cocos2D; everything is done with Quartz and the other Apple provided tools and libraries. To start, I have written the skeleton of a sprite class and the Game View class (this is the actual view for the game).

Unfortunatly, I can’t make any promises regarding the frequency of these posts and the corresponding code, but I am going to try to push them out as often as possible.

Android and mobile web app fans don’t fret. Since I am starting with a native iOS app I am going to do one of those next.

Checkout the GitHub repo :)

Filed under iPhone Objective-C iOS game development

1 note

Review: Tom Hughes-Croucher on Node

If you are looking for a video tutorial on how to get started using Node.js, then this is not the video for you. Unlike most of the O’Reilly training videos, this one puts theory far before practical development concerns, making it all but useless for practical study. 

Worse still, Croucher spends a good deal of time doing what can only be described as justifying the use of JavaScript on the server. It was interesting the first time he mentioned and probably necessary, since we tend to cast the language as a client side only tool, but when he repeats his point over and over again it sounds like he is speaking from a position of frustration or desperation rather than authority. 

Still, this video is not all bad. Though it did not teach me what I was looking to learn, it has forced me to reevaluate my opinion of JavaScript and has made even more hungry for information on Node.js. Further, Croucher does make some good comparisons between Node.js and other technologies (mostly PHP but he does mention Ruby / Rails and Python also). If anything, he has convinced me that I do not necessarily need a large framework like Rails or Django for my personal projects. 

It should also be mentioned that Croucher is writing a book Node: Up and Running that may contain more practical samples. Perhaps he intends for the book and the video to be used in conjunction with one another?

I would not recommend this to a friend unless some more real-world or practical examples were added to the content.

Filed under JavaScript O'Rielly Server Side Programming

5 notes

Review: McCullough and Berglund on Mastering Git

This is one of the best video tutorials of Git that I’ve seen and I’ve seen a lot of them. Unlike, other videos it deals with more than just Git’s basic functionality. An example, of this would be the twenty-minute long section on “rebassing”, a feature of Git that can be used to avoid merge conflicts. 

I like that all of the sections are at least 15 minutes long; some of the O’Reilly videos tend to have sections that are as short as two minutes long, making them a little inconvenient for multitasking. It’s also nice that the format is a conversation between a number of developers, instead of just a guru preaching the virtues of his system of choice at the viewer; it gives the program a much more casual feel to it and makes paying attention to it not feel like a scene from Ferris Bueller’s Day Off; I’m still haunted by the first Git video I watched in which the presenter might as well have been saying “Bueller, Bueller.” 

This video course has definitely helped me understand many of the Git commands that I use on a daily basis and has helped me avoid nasty merger conflicts. 

The bottom line is that I would and am recommending this to  my friends that are either using a non distributed source control system, or are just curious about Git. If you do decide to take a look at the video:

Filed under GIT, SCM O'rielly

0 notes

Review: Learning iPhone Programming

If you’re interested in developing dynamic iOS apps that provide the user with a great experience you have likely considered or already decided to go the native app route rather than the web app route. 

Unfortunately for many developers, especially those that are not familiar with Apple’s development ecosystem and their tools, developing a native iPhone application that leverages Cocoa Touch and Objective - C can be a daunting task.  

Learning iPhone Programming assumes no prior knowledge of the iPhone SDK and the related tools. It is a great primer for programmers that would like to expand to iOS; though it is very basic in its approach to the material. The process of actually registering as an iOS developer and installing the iOS SDK and XCode are covered in significant detail; as are common tasks like creating provisioning and distribution profiles and provisioning devices for testins. This is certainly not aimed at developers  who have written a reasonably complex iphone application, as those readers will probably find the text below there level.

Bottom Line: This is a definite read for any developers that are trying to add iOS development to their resume. 

Still for all the texts strengths, it is not recommended for someone who has absolutely no programming experience; there are other more appropriate choices both in texts and technologies.  

- Michael D.

Filed under iOS Apple iPhone iPad Obj-C Objective-C