<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CocoaHeads Belgium &#187; Drew McCormack</title>
	<atom:link href="http://cocoaheads.be/wordpress/tag/drew-mccormack/feed/" rel="self" type="application/rss+xml" />
	<link>http://cocoaheads.be/wordpress</link>
	<description>Home of the Belgian CocoaHeads Chapter</description>
	<lastBuildDate>Sun, 29 Apr 2012 07:16:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Book review: Beginning Mac OS X Snow Leopard Programming</title>
		<link>http://cocoaheads.be/wordpress/2010/02/book-review-beginning-mac-os-x-snow-leopard-programming/</link>
		<comments>http://cocoaheads.be/wordpress/2010/02/book-review-beginning-mac-os-x-snow-leopard-programming/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 21:04:09 +0000</pubDate>
		<dc:creator>Spencer Pieters</dc:creator>
				<category><![CDATA[Book Reviews]]></category>
		<category><![CDATA[Information]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Drew McCormack]]></category>
		<category><![CDATA[Mac Development]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://cocoaheads.be/wordpress/?p=323</guid>
		<description><![CDATA[If you're completely new to OSX development, then I reckon this is a very book to get you started. Follow it up with a few classics from Aaron Hillegas and Marcus Zarra and you'll be up and running in no time.]]></description>
			<content:encoded><![CDATA[<p>When I attended NSConference 2010 in Reading, UK I felt really lucky for 2 reasons. First of all I saw some great speakers on stage and I got to meet most of them in person as well. One of the speakers I enjoyed most was Drew McCormack. I felt his speeches were clear, to the point and his Keynote slides were pretty classy, very Apple like.</p>
<p>I had the opportunity to talk with Drew during a break. It was nice to hear his story about going independent. As always I invited him to contact us should he ever want to spend some quality time in Ghent.</p>
<p>A few days after NSConference I saw on Twitter that he had a new book out called Beginning Mac OSX Snow Leopard Programming. At that time I had just finished writing the review of More iPhone Development for the CocoaheadsBe website, so I kindly offered him to do a similar book review. To my surprise, he was happy to comply *and* he told me I could keep the book as well. It&#8217;s little things like this that make me proud to be part of such a great community.</p>
<p>Drew, if you&#8217;re reading this, thank you very much for the book. Next time we meet, drinks are on me.</p>
<h3>Introduction</h3>
<p>So far my only experience with Cocoa has been on the iPhone and iPad. I&#8217;ve never written a desktop app for Apple computers. I&#8217;ve tried though. During a quiet moment I started a new Application project in Xcode to see how far my iPhone knowledge would get me. It wasn&#8217;t very far and I pretty much abandoned the project straight away.</p>
<p>Sometimes you need someone to explain you the basics or &#8211; if you don&#8217;t have that &#8211; a good book. And a good book is what we have here, ladies and gents.</p>
<p>First of all, I&#8217;d like to get something off my chest. It may seem bizarre to you and I admit I&#8217;m an avid reader (well over 100 books in my library) and I enjoy proper books with proper paper. I mean, these things don&#8217;t come cheap and I expect quality for my money. Some of Apress&#8217; latest books look and feel like they were printed on a deskjet printer, bound together and then shipped. Paper quality is often flimsy, which &#8211; in my opinion &#8211; is the only thing wrong with Apress&#8217; books because their content is great.</p>
<p>Not so with this one: Beginning Mac OS X is a solid book with quality paper and gives you a good-value-for-money feeling. End paper rant.</p>
<p>Let&#8217;s have a look inside. This is what the table of contents looks like:</p>
<p><strong>Part 1: Mac OS X developer resources</strong></p>
<div>Chapter 1: The Mac OS X environment</div>
<div>Chapter 2: Developer Tools</div>
<div>Chapter 3: Xcode</div>
<p>Chapter 4: Interface builder</p>
<p><strong>Part 2: Application programming</strong></p>
<div>Chapter 5: The application</div>
<div>Chapter 6: The C language</div>
<div>Chapter 7: The Objective-C language</div>
<div>Chapter 8: Introduction to Cocoa</div>
<div>Chapter 9: Document-based Cocoa applications</div>
<p>Chapter 10: Core Data-based Cocoa applications</p>
<p><strong>Part 3: Script programming</strong></p>
<div>Chapter 11: Overview of scripting languages</div>
<div>Chapter 12: The bash shell</div>
<div>Chapter 13: Applescript and ApplescriptObjC</div>
<p>Chapter 14: Javascript, Dashboard and Dashcode</p>
<p>Chapter 1 introduces you to OS X and takes a look at the building blocks that form this great operating system. There&#8217;s some history about Unix and the big blocks are explained.</p>
<p>As soon as I hit chapter 2 I was learning new things. A few tools for debugging were mentioned that I had never heard of. I have used the ones that I had heard of for iPhone development so I know how powerful they are. Learning new ones can only be a good thing.</p>
<p>Xcode is the center of attention in chapter 3. I know *some* Xcode but I&#8217;m not expert at it. This chapter made me that little bit more confident with it.</p>
<p>The chapter on Interface Builder is a good one. I just spent an entire day working with Xcode 3.2.1 (which was very recently released at the time of writing this article) and with every new release of Xcode I feel Interface Builder is getting better and better. This is an interesting chapter.</p>
<p>Chapter 5 is called &#8220;The application&#8221; and it explains in detail why we don&#8217;t see folders with content when talking about applications but just one single icon. It explains in detail how OSX applications are bundled and what&#8217;s inside that bundle.</p>
<p>Chapter 6 takes you through the C language which might seem strange at first, but remember that some frameworks in the iPhone SDK are written in C. This chapter will help you understand more should you ever be confronted with such frameworks. Also remember that C is the base language on which many other languages &#8211; including Objective-C &#8211; are based.</p>
<p>Speaking of Objective-C, chapter 7 introduces you to OO programming, explains the difference with procedural programming and explains the big chunks of Objective-C.</p>
<p>Chapter 8 gives an introduction to Cocoa. It learns you how to set outlets and create actions.</p>
<p>If you come from a Windows programming background then chapter 9 is basicly a chapter on MDI, or document based applications.</p>
<p>On to chapter 10 then and it&#8217;s Core Data on stage. I&#8217;ve heard so much about Core Data and I have a few iPhone projects on the way that need to store loads of data locally. Needless to say, it&#8217;s something I will eventually have to sit down for and take some time to study.</p>
<p>Chapters 11 and 12 are very theoretical and introduced little new for me.</p>
<p>Chapter 13, however, interested me a lot. I&#8217;d heard of Applescript before but had no clue what it was about and how much could be done with it.</p>
<p>The final chapter introduces you to Javascript, dashboard and dashcode.</p>
<h3>Conclusion</h3>
<p>And if you&#8217;re still here reading this, then you must be very interested in this book. So, what&#8217;s the verdict then ?</p>
<p>My first reaction was &#8220;I expected a bit more from this book&#8221;. However, it&#8217;s a few days later now as I write my book reviews over several days to let things sink. I don&#8217;t know why, but I expected this book to become my bible of OSX development. I now realize that there is no such book for any platform.</p>
<p>Books on topics such as .net, Java or Cocoa programming have to cover a very wide base because the subjects are so wide. It is always a combination of different books &#8230; one general book and a few books on specific aspects explained in detail that get me going.</p>
<div>If you&#8217;re already into OSX programming then this book will teach you very little. However, if you&#8217;re completely new to OSX development, then I reckon this is a very book to get you started. Follow it up with a few classics from Aaron Hillegas and Marcus Zarra and you&#8217;ll be up and running in no time.</div>
]]></content:encoded>
			<wfw:commentRss>http://cocoaheads.be/wordpress/2010/02/book-review-beginning-mac-os-x-snow-leopard-programming/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NSConference Day 3 &#8211; iPhone Conference</title>
		<link>http://cocoaheads.be/wordpress/2010/02/nsconference-day-3-iphone-conference/</link>
		<comments>http://cocoaheads.be/wordpress/2010/02/nsconference-day-3-iphone-conference/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 14:41:29 +0000</pubDate>
		<dc:creator>Stefaan Lesage</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Core Animation]]></category>
		<category><![CDATA[Drew McCormack]]></category>
		<category><![CDATA[GameKit]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[Jeff LaMarche]]></category>
		<category><![CDATA[Mac Development]]></category>
		<category><![CDATA[Marcus Zarra]]></category>
		<category><![CDATA[Mike Lee]]></category>
		<category><![CDATA[NSConference2010]]></category>
		<category><![CDATA[OpenGL ES]]></category>
		<category><![CDATA[ZSync]]></category>

		<guid isPermaLink="false">http://cocoaheads.be/wordpress/?p=300</guid>
		<description><![CDATA[Well, after a brief night it was time for the last day of NSConference which was targetted at iPhone development an developers.  I did notice quite a few new faces on this last day.]]></description>
			<content:encoded><![CDATA[<h3>Meet the User &#8211; Mike Lee</h3>
<p>Today started with an opening keynote by <a href="http://twitter.com/bmf">Mike Lee</a>.  This time his keynote was awesome.  There was plenty of advice in this Keynote.  One thing he showed us is that you should target your app at the average user.  In fact he said : &#8220;If you are targeting the expert user of your app, you are targeting the wrong user&#8221;.  You should actually design your app to do the most common tasks really well, and not a few complicated things which will only be used by 3 or 4 users anyway.  He really gave me one piece of advice which I&#8217;ll carry with me and that is &#8220;Know your target user&#8221;.  If you know who will be using your application, you will have a pretty good idea on the features they are looking for.</p>
<h3>Hard and Fast OpenGL ES &#8211; Jeff LaMarche</h3>
<p>This session concentrated around OpenGL and OpenGL ES.  OpenGL ES is apparently a great tool for 2d and 3d drawing, but probably not as easy as Core Animation and Core Graphics.  Both OpenGL and OpenGL ES define their own datatypes which are actually the same ones as the default ones but prefixed with GL.  For functions there is apparently some specific convention as well.  Functions are suffixed with a letter depending on the types of arguments passed to the function.</p>
<p>This was again one of those sessions which made me realize I still have a lot to learn.  Still OpenGL and OpenGL ES seems to be quite interesting for Game Development.</p>
<h3>Core Data Synchronization &#8211; Marcus Zarra</h3>
<p>Yesterday we had a presentation from <a href="http://www.bignerdranch.com/">The Big Nerd Ranch</a> in which he mentioned that Data Synchronization would become a very important issue.  Wouldn&#8217;t it in face be nice if your twitter client on your desktop would automatically mark tweets as read if you viewed them with the same twitter client on your iPhone ?</p>
<p>Well, that&#8217;s where <a href="http://www.zarrastudios.com/ZSync/ZSync.html">ZSync</a> comes to play.  ZSync can be used to sync data between your desktop and your mobile phone.   Apparently right now syncing from the iPhone to the desktop seems to be working and is 90% finished.  For now it has only WiFi syncing though.  The goal is to have cloud syncing over 3G or WiFi in the future as well as Mac to Mac syncing and a few other things.</p>
<h3>The Physics of Sumo: Developing Games with Core Animation &#8211; Drew McCormack</h3>
<p><a href="http://twitter.com/drewmccormack">Drew McCormack</a> was back with a session on Core Animation which he used for his Sumo Master game.  He did mention though that if you plan to do a game, you should probably take a look at OpenGL instead of Core Animation.  But he did show us that you could actually do quite a lot of things with Core Animation too.</p>
<p>To me, this was one of my favorite session.  It showed you the power of some of the iPhone API&#8217;s.  You can actually achieve some very good looking results with it, and still have code which isn&#8217;t looking all too complex.  Drew showed us several stages of the development phase and showed us some pieces of code which he used to solve some animation problems.</p>
<h3>Supporting Online Play and GameKit in your app &#8211; Jeff LaMarche</h3>
<p>This last session of NSConference was all about GameKit, which is a framework provided to you that can facilitate easy network play over Bluetoot.  It&#8217;s main focus is probably that it&#8217;s designed for networkable games on the iPhone (it can&#8217;t communicate with bluetooth on a desktop machine).  Quite interesting for those of us developing games with network play, but apparently you can actually transfer any kind of data with it.</p>
<h3>Closing Words</h3>
<p>Well, that concluded the NSConference, and if you ask me if it was worth it&#8217;s money, my answer would be &#8220;Absolutely&#8221;.  Not only were the sessions quite interesting, but there was a lot of opportunity to meet up and chat with presenters and fellow developers.  I think I probably learned as much from the discussions outside the session room than from those in the sessions.  So I would like to take the opportunity to thank <a h ref="http://twitter.com/macdevnet">Scotty</a>, <a h ref="http://twitter.com/timisted">Tim</a> and all others who made this conference possible.</p>
<p>The conference actually motivated me to start with my own iPhone application, and although I still have a lot to learn it&#8217;s going quite well.   I really hope we will have an European version of NSConference next year to, and if that is the case, I&#8217;ll surely be signing up for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cocoaheads.be/wordpress/2010/02/nsconference-day-3-iphone-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSConference 2010 &#8211; Day 1</title>
		<link>http://cocoaheads.be/wordpress/2010/02/nsconference-2010-day-1/</link>
		<comments>http://cocoaheads.be/wordpress/2010/02/nsconference-2010-day-1/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 10:05:38 +0000</pubDate>
		<dc:creator>Stefaan Lesage</dc:creator>
				<category><![CDATA[Information]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Core Animaiton]]></category>
		<category><![CDATA[Core Plot]]></category>
		<category><![CDATA[Dave Dribin]]></category>
		<category><![CDATA[Drew McCormack]]></category>
		<category><![CDATA[iPhone Development]]></category>
		<category><![CDATA[Mac Development]]></category>
		<category><![CDATA[Marcus Zarra]]></category>
		<category><![CDATA[Mike Lee]]></category>
		<category><![CDATA[NSConference]]></category>
		<category><![CDATA[NSConference2010]]></category>
		<category><![CDATA[Rentzsch]]></category>

		<guid isPermaLink="false">http://cocoaheads.be/wordpress/?p=281</guid>
		<description><![CDATA[After the workshop and some socializing in the bar, the conference really kicked off now.  Meanwhile the other members of the CocoaHeads Belgium community (<a href="http://twitter.com/spencerpieters">Spencer</a> and <a href="http://twitter.com/CodingMammoth">Jelle</a>) arrived as well.]]></description>
			<content:encoded><![CDATA[<h3>Engineering Life &#8211; Mike Lee</h3>
<p>The day started with the opening keynote by <a href="http://twitter.com/bmf">Mike Lee</a> which was called &#8220;Engineering Life&#8221;.  To me this Keynote was a bit strange.  It wasn&#8217;t really a technical speech and that felt a bit awkward to me.  Mike did gain my respect though when he contacted me through twitter and started a discussion after he noticed my feedback on his session.  His keynote did encourage me to make something of my life though, and to enjoy it.</p>
<h3>Spelunking OS X &#8211; Jonathan &#8220;Wolf&#8221; Rentzsch</h3>
<p>Well, I complained about the previous session not being to technical enough, but this time technical was an understatement <img src='http://cocoaheads.be/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>
<p>I met <a href="http://twitter.com/rentzsch">Jonathan</a> the day before in the dining room but I had no idea back then who I was talking to.  I was quite impressed with the plethora of debugging tools, het editors and ways to inject your own code at runtime he presented during his session.</p>
<p>In all honesty I didn&#8217;t understand all of it, but since I complained about the previous session not being technical I thought it was a good idea to go hide in a little dark corner right now <img src='http://cocoaheads.be/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<h3>Clean Code &#8211; Dave Dribin</h3>
<p>I&#8217;ve been a Delphi developer for about 10 years now and I&#8217;ve always been an advocate of writing clean, readable and maintainable code, so I was pretty anxious to hear how I should do it in XCode / Objective-C.  I listened very carefully to what <a href="http://twitter.com/DDribin">Dave Dribin</a>, a.k.a. the best Cocoa Devleoper ever (according to his mum), had to say.</p>
<p>Quite a few things he mentioned were things I&#8217;ve been using in my Delphi development too.  Choosing good names for Variables, Methods and Classes is one of my own personal rules, and so is writing clean, readable and especially short routines.  My goal as a software developer has always been to write great apps, but my second goal has always been to write clean code, code which could be read and understand by other people.</p>
<p>On one of his slides I noticed the following quite, which I quickly scribbled down :</p>
<blockquote><p>&#8220;programs must be written for people to read, and only incidentally for machines to execute&#8221;</p></blockquote>
<p>I forgot to write down where the quote came from, but I found it quite intresting.  The other thing he mentioned was that the Quality of the code can be measured in the number of WFT&#8217;s per minute.  That made me laugh, but I have to admit that it is actually true.</p>
<p>Dave did teach me a few things and mentioned some other things I didn&#8217;t think about yet.  At some point he mentioned it&#8217;s sometimes better to comment why you are doing something instead of commenting what you are actually doing.  This is something I&#8217;ll have to remember myself.</p>
<p>All in all, I found this a great session.  Would have loved seeing more practical examples and I surely hope I&#8217;ll be able to get hold of the actual slides or video of the session so I can have another look at it.</p>
<h3>Data Presentation in Mac Apps &#8211; Drew McCormack</h3>
<p>Next up was <a href="http://twitter.com/drewmccormack">Drew McCormack</a> who did a session on data presentation on the Mac.  He started off by showing us different ways of showing the same data.  This lead to the types of views you typically find in Mac applications.</p>
<p>What was quite interesting is the fact that most views used in a Mac application are actually single column type views.  He also mentioned a few ways to do multiple column views, and quickly compared Table Views with Collection Views and Tabular Views, giving us the Pro and Cons of each type of view.  </p>
<p>He ended with some advantages of using WebKit do display information (eg in iTunes) and gave a quick sneak peak at <a href="http://code.google.com/p/core-plot/">Core Plot</a> wich is actually a 2D visualization library for the Mac an iPhone.  The objectives of Core Plot is to get a complete plotting framework using the Cocoa API which runs both on the Mac and on iPhone.  There is currently no official release yet, but it is usable and already has quite a lot of features (Scatter and Line plots, Bar Plots, Histograms, Financial Plots, Pie Chards, &#8230;)</p>
<h3>Core Animation &#8211; Marcus Zarra</h3>
<p>The last session of today was a session by <a href="http://twitter.com/mzarra">Marcus Zarra</a> on Core Animation.  Core Animation can actually be use to do pretty much anything including state changes and transitions but also particle effects.<br />
Marcus showed us the basics of CABasicAnimation and CAKeyframeAnimation and showed us the core principles of both.</p>
<h3>Socializing at the Bar and Dinner</h3>
<p>The great thing about NSConference is that you have plenty of time in between sessions to meet the other attendees and have a chat with them.  That way you had the ability to meet people, share ideas and even code or even solve a problem using some help from others.  During those breaks I&#8217;ve seen quite a lot of people show their ideas, iPhone and Mac applications and even pieces of source code to each-other.</p>
<p>After our &#8216;session&#8217; at the bar we went to the other room where a nice Dinner was prepared for us.  Spencer and myself sat down at a table and were joined by <a href="http://twitter.com/rentzsch">Jonathan “Wolf” Rentzsch</a> and <a href="https://twitter.com/violasong">Victoria Wang</a> from the USA, <a href="http://twitter.com/sburlot">Stephan Burlot</a> from Switzerland, our new met fried <a href="http://twitter.com/jakobdamjensen">Jakob Dam Jensen</a> the &#8220;knae hoej kaerse&#8221; guy from Danmark and someone from Argentina (sadly forgot his name).  Dinner was fabulous and we had some very interesting discussions.  You would think all of those would be about geeky stuff, but we actually had some great discussions on politics and other things as well.</p>
<h3>Closing Words</h3>
<p>This was the first day of the actual conference and it was great.  There was a good mixture of quite technical sessions and some less technical ones, from which I learned quite a few things.  The great thing with NSConference though is that you don&#8217;t stop learning when the sessions are done, you just step outside of the room, have a drink at the bar, go get some food and keep learning from fellow attendees.</p>
]]></content:encoded>
			<wfw:commentRss>http://cocoaheads.be/wordpress/2010/02/nsconference-2010-day-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

