<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Mark Aufflick's Weblog</title>
<link>http://mark.aufflick.com/blog/</link>
<description>Mark Aufflick's Weblog</description>
<generator>OpenACS 5.0</generator>
<lastBuildDate>Sat, 13 Mar 2010 18:29:35 GMT</lastBuildDate>
<image>
<title>Mark Aufflick's Weblog</title>
<url>http://mark.aufflick.com/rss-support/images/openacs_logo_rss.gif</url>
<link>http://mark.aufflick.com/blog/</link>
<width>126</width>
<height>48</height>
</image>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MarkAufflicksWeblog" /><feedburner:info uri="markaufflicksweblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>-33.832</geo:lat><geo:long>151.218</geo:long><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
<title>Code Bubbles - the most important IDE innovation since SmallTalk?</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/ZffgHON63bk/code-bubbles-the-most-important-ide-innovation-since-smalltalk</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/03/13/code-bubbles-the-most-important-ide-innovation-since-smalltalk</guid>
<description>&lt;p&gt;Wow. An IDE concept (with prototype and promise of a beta implementation that you can sign up for) that for the first time makes me want to program in Java. People who know me will know how huge that is.&lt;/p&gt;

&lt;object width="965" height="509"&gt;&lt;param name="movie" value="http://www.youtube.com/v/PsPX0nElJ0k&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/PsPX0nElJ0k&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="965" height="509"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;I loved the SmallTalk IDE's concept of method-level programming ever since I was first exposed to it. Code-folding just isn't the same, you are still conceptually dealing with files on a file system - methods and their interactions aren't presented as first class entities in "modern" editors or IDEs and thus struggle for that place in the minds of most developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.cs.brown.edu/people/acb/codebubbles_site.htm"&gt;Code Bubbles&lt;/a&gt;, by Andrew Bragdon at Brown University resumes this paradigm from SmallTalk and takes the UI to the logical next level, all with a polish that just invites you to hunt through the code to sqaush any bugs!&lt;/p&gt;

&lt;p&gt;Any professional developer, Java or otherwise, needs to check it out.&lt;/p&gt;

&lt;p&gt;/via &lt;a href="http://lambda-the-ultimate.org/node/3854"&gt;Lambda the Ultimate&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZffgHON63bk:57yzhPpMHVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZffgHON63bk:57yzhPpMHVs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZffgHON63bk:57yzhPpMHVs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZffgHON63bk:57yzhPpMHVs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZffgHON63bk:57yzhPpMHVs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZffgHON63bk:57yzhPpMHVs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZffgHON63bk:57yzhPpMHVs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZffgHON63bk:57yzhPpMHVs:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/ZffgHON63bk" height="1" width="1"/&gt;</description>
<pubDate>Sat, 13 Mar 2010 18:29:35 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/03/13/code-bubbles-the-most-important-ide-innovation-since-smalltalk</feedburner:origLink></item>
<item>
<title>IBM 305 RAMAC</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/g2QNa0vDyEA/ibm-305-ramac</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/02/19/ibm-305-ramac</guid>
<description>&lt;p&gt;I wouldn't want to be debugging that 'wired format control'!&lt;/p&gt;

&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zOD1umMX2s8&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=sv_SE&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zOD1umMX2s8&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=sv_SE&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;p&gt;via &lt;a href="http://royal.pingdom.com/2010/02/18/amazing-facts-and-figures-about-the-evolution-of-hard-disk-drives/"&gt;Royal Pingdom&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=g2QNa0vDyEA:yz8kFghEBOo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=g2QNa0vDyEA:yz8kFghEBOo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=g2QNa0vDyEA:yz8kFghEBOo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=g2QNa0vDyEA:yz8kFghEBOo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=g2QNa0vDyEA:yz8kFghEBOo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=g2QNa0vDyEA:yz8kFghEBOo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=g2QNa0vDyEA:yz8kFghEBOo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=g2QNa0vDyEA:yz8kFghEBOo:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/g2QNa0vDyEA" height="1" width="1"/&gt;</description>
<pubDate>Fri, 19 Feb 2010 15:41:13 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/02/19/ibm-305-ramac</feedburner:origLink></item>
<item>
<title>CocoaJobs.info - the Cocoa community job site</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/j12uaKQhzvs/cocoajobs-info-the-cocoa-community-job-site</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/02/13/cocoajobs-info-the-cocoa-community-job-site</guid>
<description>As the organiser of &lt;a href="http://cocoaheads.org/au/Sydney/"&gt;CocoaHeads Sydney&lt;/a&gt; I wanted a way to better connect Cocoa developers and employers here in Australia. The result is CocoaJobs.info - a free job post site exclusively for Cocoa and Cocoa Touch positions.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://CocoaJobs.info/"&gt;http://CocoaJobs.info/&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;It is available for use globally so please feel free to let any companies or recruiters know about it, as well as your own CocoaHeads chapters of course.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=j12uaKQhzvs:Qpksjlhjmog:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=j12uaKQhzvs:Qpksjlhjmog:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=j12uaKQhzvs:Qpksjlhjmog:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=j12uaKQhzvs:Qpksjlhjmog:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=j12uaKQhzvs:Qpksjlhjmog:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=j12uaKQhzvs:Qpksjlhjmog:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=j12uaKQhzvs:Qpksjlhjmog:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=j12uaKQhzvs:Qpksjlhjmog:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/j12uaKQhzvs" height="1" width="1"/&gt;</description>
<pubDate>Sat, 13 Feb 2010 18:46:07 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/02/13/cocoajobs-info-the-cocoa-community-job-site</feedburner:origLink></item>
<item>
<title>iPad gets back to the priorities of the first Macintosh</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/3nHavdSzQVw/ipad-gets-back-to-the-priorities-of-the-first-macintosh</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/01/28/ipad-gets-back-to-the-priorities-of-the-first-macintosh</guid>
<description>The first Mac I ever used was a Mac 128, when my Dad brought one home as part of the ground breaking Apple Test Drive promotion. It booted into the Finder quickly even though it used a floppy. It only ran one program at once, so programs (mostly) started and exited quickly and didn't interact. It had a fixed screen size so everyone's experience was the same. There were desk accessories that gave access to limited functionality while applications were running.&lt;/p&gt;
&lt;p&gt;Sounds a lot like the iPad (except bigger and black and white - and of course no 3G ;).&lt;/p&gt;
&lt;p&gt;Seriously, it's Steve Job's core vision all over again. Steve Jobs didn't want the Apple ][ to have any expandability, it was Steve Wozniak who convinced him (correctly) that computers were still very much a hobbyist device and need expandability. The original Mac wasn't supposed to have upgradeable ram - it was the engineers (Burrell Smith I think) who secretly made the circuit board easily upgradeable.&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;Only now, the hardware and connectivity reality has caught up with Jobs' reality: hardware is cheap, expendable and compact - and Apple makes the best. Once again another insanely great device is going to change the place computers have in our lives.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=3nHavdSzQVw:oedTcTGoZ0Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=3nHavdSzQVw:oedTcTGoZ0Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=3nHavdSzQVw:oedTcTGoZ0Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=3nHavdSzQVw:oedTcTGoZ0Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=3nHavdSzQVw:oedTcTGoZ0Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=3nHavdSzQVw:oedTcTGoZ0Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=3nHavdSzQVw:oedTcTGoZ0Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=3nHavdSzQVw:oedTcTGoZ0Q:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/3nHavdSzQVw" height="1" width="1"/&gt;</description>
<pubDate>Thu, 28 Jan 2010 11:08:13 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/01/28/ipad-gets-back-to-the-priorities-of-the-first-macintosh</feedburner:origLink></item>
<item>
<title>Debugging release/autorelease issues in Cocoa</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/RRty2uudTUU/debugging-release-autorelease-issues-in-cocoa</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/01/14/debugging-release-autorelease-issues-in-cocoa</guid>
<description>So your code crashes with an EXC_BAD_ACCESS in objc_msgSend and there
is *none* of your own code in the stack trace. Bummer. Since all we
know from objc_msgSend is that it's trying to call a method on an
object. Since we got EXC_BAD_ACCESS you can bet your bottom dollar
that it's attempting to call a method on a freed pointer, so there's
no obvious way of finding out what the object was. We can, though,
easily find the method. Read Greg Parker's excellent post &lt;a href="http://www.sealiesoftware.com/blog/archive/2008/09/22/objc_explain_So_you_crashed_in_objc_msgSend.html"&gt;So you crashed in objc_msgSend()&lt;/a&gt;. For the iPhone
simulator on my Mac I need to do this at the gdb prompt to decode the
eax register:&lt;p&gt;

&lt;pre&gt;(gdb) &lt;b&gt;x/s $ecx&lt;/b&gt;
0x980530c4:	 "release"&lt;/pre&gt;

you can see that the selector in the second argument is "release". Now
we're getting somewhere, we know an already freed object is trying to
be released. Since there is none of our code in the stack trace it's a
fair bet that it's happening when the autorelease pool is releasing.&lt;p&gt;

There are a few tricks in your toolbox for tracking down over-released objects. There's the &lt;a href="http://www.cocoadev.com/index.pl?NSZombieEnabled"&gt;NSZombieEnabled&lt;/a&gt;, &lt;a href="http://carpe-cocoa.com/2009-05-08/detecting-memory-leaks-in-the-iphone-simulator/"&gt;NSAutoreleaseFreedObjectCheckEnabled&lt;/a&gt; and &lt;a href="http://www.cocoabuilder.com/archive/cocoa/87251-how-do-debug-an-autorelease-crash.html#87250"&gt;other&lt;/a&gt; environment variables which will give you better logging rather than just crashing.&lt;p&gt;

I've found this is not always reliable (logs from the above builtin debug options showed that the over-release was on an NSCFDate object, when in fact it was an NSNumber). Sometimes you also just want to trace through exactly what is happening with your retain/release/autorelease cycles. That's what we're about to achieve here.&lt;p&gt;

Ok, so you have a unit test that replicates this problem right? I use
the excellent &lt;a href="http://github.com/gabriel/gh-unit"&gt;GHUnit&lt;/a&gt; by &lt;a href="http://rel.me/"&gt;Gabriel Handford&lt;/a&gt;. If not
you'll have to play around a bit to narrow down your problem code. In my case, I wanted to confirm that a particular unit test was
failing during the autorelease pool release. Best way is to wrap the
offending code in a new autorelease pool. Then it will be freed inside
your code, which you will see in the stack trace, and confirm you have
found the reason. My unit test now looks like:&lt;p&gt;

&lt;script src="http://gist.github.com/276766.js?file=gistfile1.m"&gt;&lt;/script&gt;

&lt;i&gt;(Note that the code examples, embedded in github gists, are not showing up in my RSS feed. I'll fix that later, but for now please read the &lt;a href="http://mark.aufflick.com/blog/2010/01/14/debugging-release-autorelease-issues-in-cocoa"&gt;original post&lt;/a&gt;)&lt;/i&gt;&lt;p&gt;

Now when I fail with EXC_BAD_ACCESS my stack trace looks like this:&lt;p&gt;

&lt;script src="http://gist.github.com/276775.js?file=gistfile1.txt"&gt;&lt;/script&gt;

Where line 91 of CJTestCJCard.m is the [pool release] call above. So
something is being added to the autorelease pool, and is *also* being
fully released, or maybe it's being added to the pool more times than
it is being retained. There doesn't seem to be a way to interrogate the
contents of the autorelease pool (which is a shame) but we log some
really useful info by overriding a few methods, like NSObject's
release and autorelease methods, so we can see when things are being
added to the pool and when things are being released. This is some
funky stuff, but since we're only doing it in our unit test class, not
code we're going to release you can sleep soundly at night. Here's how
I effected logging in release and autorelease.&lt;p&gt;

Add this to the top of your unit test class, before your current @implementation:&lt;p&gt;

&lt;script src="http://gist.github.com/276769.js?file=gistfile1.m"&gt;&lt;/script&gt;

Now in your unit test class @implementation, you can use the
setupClass method to effect the method implementation switcharoo:&lt;p&gt;

&lt;script src="http://gist.github.com/276770.js?file=gistfile1.m"&gt;&lt;/script&gt;

Now your log will be filled with log lines like:&lt;p&gt;

&lt;script src="http://gist.github.com/276776.js?file=gistfile1.txt"&gt;&lt;/script&gt;

This can help when tracking down tricky releasing bugs. Note that not
all classes seem to comply. For instance I see plenty of log lines for
NSCFString, but never any release lines. I assume that NSCFString
release implementation is a bit different since it's a toll free bridged object -
getting that to log is an exercise left for the reader!&lt;p&gt;

If you're interested in the functions I used above to interact with
the runtime, check out the &lt;a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html"&gt;Introduction to The Objective-C Programming Language&lt;/a&gt; and &lt;a href="http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html"&gt;Objective-C Runtime Reference&lt;/a&gt;. Note that
the code above works fine in the iPhone simulator. It should be fine
on 64 bit Mac apps, but you may need to diddle the method structs
manually in 32 bit Mac apps since they use the legacy Objective-C
runtime (which you can read about in the &lt;a href="http://developer.apple.com/legacy/mac/library/documentation/Cocoa/Reference/ObjCRuntimeRef1/ObjCRuntimeRef1.pdf"&gt;Objective-C 1 Runtime Reference&lt;/a&gt;).&lt;p&gt;

Also note it won't work on the iPhone itself, so to save constantly commenting out code, you can wrap the offending code in #if TARGET_IPHONE_SIMULATOR #endif pairs.&lt;p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=RRty2uudTUU:7PxkOG0v-2g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=RRty2uudTUU:7PxkOG0v-2g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=RRty2uudTUU:7PxkOG0v-2g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=RRty2uudTUU:7PxkOG0v-2g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=RRty2uudTUU:7PxkOG0v-2g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=RRty2uudTUU:7PxkOG0v-2g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=RRty2uudTUU:7PxkOG0v-2g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=RRty2uudTUU:7PxkOG0v-2g:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/RRty2uudTUU" height="1" width="1"/&gt;</description>
<pubDate>Thu, 14 Jan 2010 12:38:44 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/01/14/debugging-release-autorelease-issues-in-cocoa</feedburner:origLink></item>
<item>
<title>Wow - twitter has sure killed my blogging</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/ZpizHZQN0Pc/wow-twitter-has-sure-killed-my-blogging</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2010/01/03/wow-twitter-has-sure-killed-my-blogging</guid>
<description>I'm not the first to note this, but my blogging sure has taken a huge hit thanks to Twitter (where you can follow me as &lt;a href="http://twitter.com/markaufflick"&gt;@markaufflick&lt;/a&gt;). It's been a bit over a month since my last post. Contrast that with the fact that in the more than 6 years I've been writing this blog I've only not blogged in April 2008, March 2009 and December 2009.&lt;/p&gt;
&lt;p&gt;And that's a shame - because some things I blurt out on twitter, either technical or personal, could stand more thought and word-smithing than 140 characters allow.&lt;/p&gt;
&lt;p&gt;So one of my 2010 resolutions is to blog more - even if I tweet first.&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;I'm even open to topic suggestions.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZpizHZQN0Pc:SbPcl-5mTlQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZpizHZQN0Pc:SbPcl-5mTlQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZpizHZQN0Pc:SbPcl-5mTlQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZpizHZQN0Pc:SbPcl-5mTlQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZpizHZQN0Pc:SbPcl-5mTlQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZpizHZQN0Pc:SbPcl-5mTlQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=ZpizHZQN0Pc:SbPcl-5mTlQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=ZpizHZQN0Pc:SbPcl-5mTlQ:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/ZpizHZQN0Pc" height="1" width="1"/&gt;</description>
<pubDate>Sun, 03 Jan 2010 03:37:24 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2010/01/03/wow-twitter-has-sure-killed-my-blogging</feedburner:origLink></item>
<item>
<title>Book Review: iPhone SDK 3 Visual Quickstart Guide</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/KsjXC3hu6C4/book-review-iphone-sdk-3-visual-quickstart-guide</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2009/10/25/book-review-iphone-sdk-3-visual-quickstart-guide</guid>
<description>&lt;img src="http://images.amazon.com/images/P/0321669533.01.MZZZZZZZ.gif" width="124" height="160" border="0" style="float: left;"&gt;&lt;br /&gt;
CocoaHeads Sydney member &lt;a href="http://objective-d.com/"&gt;Duncan Campbell&lt;/a&gt; has just published a book with PeachPit press titled "iPhone SDK 3 Visual Quickstart Guide".&lt;/p&gt;
&lt;p&gt;Like all of Peachpit's "Visual Quickstart Guides", the book is mostly broken into two columns - text and images. At first I thought it would suck! As soon as I got into it though, I quite liked the thin column. It has readability like a newspaper, although it did make following inline code a little tedious.&lt;/p&gt;
&lt;p&gt;The book covered all the basics you need for making a great app, and made some tricky tasks simple - like custom cells and multi-touch.&lt;/p&gt;
&lt;p&gt;It avoids a common approach of many intro books where they continually build into an ever evolving single app. Instead, each example is short and entirely standalone. I have to say it was refreshing - it avoided wasting time in frivolities and allowed the author to introduce concepts at the time he chose, rather than the time it was needed to continue building the app.&lt;/p&gt;
&lt;p&gt;I also appreciated the time spent on one of the most important rools - the Xcode interface. Even I learned a handy Xcode shortcut!&lt;/p&gt;
&lt;p&gt;The choice to use code for UI layout instead of interface builder makes the writing easier to follow, no enless 'click here, control click and drag here...' and also avoids those madenning bugs where you've missed a step but can't easily compare the compound result. Similarly, the continual tweaks to IB won't invalidate the examples.&lt;/p&gt;
&lt;p&gt;I also appreciated how each example was standalone - building and running an interesting looking example didn't rely on carefully building examples stretching back through previous chapters.&lt;/p&gt;
&lt;p&gt;Two extra chapters can be downloaded as PDFs from the Peachpit press website once you have the book covering the Address Book api and the Media apis. The latter is very useful - covering saved images, using the camera and playing audio and video.&lt;/p&gt;
&lt;p&gt;While this is a book for people starting out with iPhone programming, it's not for people who have never programmed before. If you have programmed before but don't know at least the bare basics of one of C, C++, Objective-C then I would suggest completing an introduction to Objective-C first. &lt;a href="http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html"&gt;Apple has one&lt;/a&gt; and there are lots of great books.&lt;/p&gt;
&lt;p&gt;One of the positives above is that the use of code to create UI controls is repeatable, easy to error check and shows how it all works. Once you start building apps, though, you'll use Interface Builder a lot. You'll need to brush up on that &lt;i&gt;after&lt;/i&gt; completing this book. Again, Apple has one and there are lots of great books! Aaron Hillegass's &lt;a href="http://mark.aufflick.com/bookshelf#0321503619"&gt; Cocoa Programming for Mac OS X&lt;/a&gt; will cover both Objective-C and Interface Builder really well - and you'll learn how to write MacOS X apps to boot!&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;So in summary, it's a great book. I enjoyed it and you hopefully will too! Available &lt;a href="http://www.amazon.com/gp/product/0321669533/ref=ac_bb3_,_amazon?ie=UTF8&amp;tag=pumptheorycom-20&amp;link_code=qcb&amp;creativeASIN=0321669533"&gt;at Amazon&lt;/a&gt; and all good bookstores :)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=KsjXC3hu6C4:y0xuoTS-kn4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=KsjXC3hu6C4:y0xuoTS-kn4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=KsjXC3hu6C4:y0xuoTS-kn4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=KsjXC3hu6C4:y0xuoTS-kn4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=KsjXC3hu6C4:y0xuoTS-kn4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=KsjXC3hu6C4:y0xuoTS-kn4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=KsjXC3hu6C4:y0xuoTS-kn4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=KsjXC3hu6C4:y0xuoTS-kn4:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/KsjXC3hu6C4" height="1" width="1"/&gt;</description>
<pubDate>Sun, 25 Oct 2009 19:33:47 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2009/10/25/book-review-iphone-sdk-3-visual-quickstart-guide</feedburner:origLink></item>
<item>
<title>Problem compiling Erlang 13B02 on MacOS</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/twQfKcKLJPI/problem-compiling-erlang-13b02-on-macos</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2009/09/30/problem-compiling-erlang-13b02-on-macos</guid>
<description>&lt;p&gt;I was getting the following error compiling erlang 13B02 on MacOS Leopard:&lt;/p&gt;

&lt;script src="http://gist.github.com/276959.js?file=gistfile1.txt"&gt;&lt;/script&gt;

&lt;p&gt;Thanks to the Google translation of a page in Japanese on javaeye.com (&lt;a href="http://translate.google.com.au/translate?hl=en&amp;sl=zh-CN&amp;u=http://cryolite.javaeye.com/blog/475487&amp;ei=OHbCSsvXLYyBkQW6_ODBBQ&amp;sa=X&amp;oi=translate&amp;resnum=2&amp;ct=result&amp;prev=/search%3Fq%3Dgen/wxe_events.cpp:277:%2Berror:%2B%2527wxEVT_COMMAND_AUINOTEBOOK_TAB_MIDDLE_DOWN%2527%2Bwas%2Bnot%2Bdeclared%2Bin%2Bthis%2Bscope%26hl%3Den"&gt;link&lt;/a&gt;) I figured out I had to rebuild wxWidgets (even though version 2.8 already seems installed in Leopard). Here's the nub of it:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Download wxWidgets 2.8.x, untar to a directory of your choice
&lt;li&gt;cd into the un-tarred directory and make a build dir (eg. mkdir MYBUILD)
&lt;li&gt;cd into that new directory and build a static install into a destination of your choice (I put it in /opt/wxWidgets28):&lt;br&gt;
../configure --with-opengl --enable-unicode --enable-graphics_ctx --enable-gnomeprint --disable-shared --prefix=/opt/wxWidgets28&lt;br&gt;
make&lt;br&gt;
sudo make install&lt;br&gt;
cd contrib/src/stc&lt;br&gt;
make&lt;br&gt;
sudo make install
&lt;li&gt;Now you can build OTP/Erlang properly, but make sure the new wx-config is first in your path, eg:&lt;br&gt;
PATH=/opt/wxWidgets28/bin:$PATH ./configure ....
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=twQfKcKLJPI:peDf-rGIfNQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=twQfKcKLJPI:peDf-rGIfNQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=twQfKcKLJPI:peDf-rGIfNQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=twQfKcKLJPI:peDf-rGIfNQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=twQfKcKLJPI:peDf-rGIfNQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=twQfKcKLJPI:peDf-rGIfNQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=twQfKcKLJPI:peDf-rGIfNQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=twQfKcKLJPI:peDf-rGIfNQ:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/twQfKcKLJPI" height="1" width="1"/&gt;</description>
<pubDate>Wed, 30 Sep 2009 18:53:00 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2009/09/30/problem-compiling-erlang-13b02-on-macos</feedburner:origLink></item>
<item>
<title>Higher Order Perl now available as a *free* PDF</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/wziqD22iYIk/higher-order-perl-now-available-as-a-free-pdf</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2009/09/17/higher-order-perl-now-available-as-a-free-pdf</guid>
<description>I've &lt;a href=""&gt;reviewed&lt;/a&gt; "Higher Order Perl" by Mark Jason Dominus before - it's a great book for people who know Perl and want to master topics such as parsing or memoisation or who want to incorporate more functional approaches such as currying into their code.&lt;/p&gt;
&lt;p&gt;It's worth buying, but now you can also get a free PDF thanks to the generosity of  the author, Mark Jason Dominus:&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;&lt;a href="http://hop.perl.plover.com/book/"&gt;http://hop.perl.plover.com/book/&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=wziqD22iYIk:efBCoXmC4LU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=wziqD22iYIk:efBCoXmC4LU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=wziqD22iYIk:efBCoXmC4LU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=wziqD22iYIk:efBCoXmC4LU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=wziqD22iYIk:efBCoXmC4LU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=wziqD22iYIk:efBCoXmC4LU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=wziqD22iYIk:efBCoXmC4LU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=wziqD22iYIk:efBCoXmC4LU:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/wziqD22iYIk" height="1" width="1"/&gt;</description>
<pubDate>Thu, 17 Sep 2009 14:37:16 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2009/09/17/higher-order-perl-now-available-as-a-free-pdf</feedburner:origLink></item>
<item>
<title>CocoaHeads Sydney October Meetup - Thursday October 1st - Blocks and Beer!</title>
<link>http://feedproxy.google.com/~r/MarkAufflicksWeblog/~3/yrnKyTC18c0/cocoaheads-sydney-october-meetup-thursday-october-1st-blocks-and-beer</link>
<guid isPermaLink="false">http://mark.aufflick.com/blog/2009/09/16/cocoaheads-sydney-october-meetup-thursday-october-1st-blocks-and-beer</guid>
<description>Hooray - it's that time of month again!&lt;/p&gt;
&lt;p&gt;Chris Suter will be giving a talk on Blocks and perhaps some other shiny things he learnt at WWDC. It promises to be a great topic so come and heckle! There are a few new people coming so please be welcoming :)&lt;/p&gt;
&lt;p&gt;As always, bring along any Mac related projects you want to show off&lt;br /&gt;
or ask for advice on.&lt;/p&gt;
&lt;p&gt;IMPORTANT! Room has changed.&lt;/p&gt;
&lt;p&gt;It will now be in CB02.05.32.&lt;/p&gt;
&lt;p&gt;That's Building 2, Level 5, Room 32. You can access building 2 via the main entrance. This will be our room for the rest of the year.&lt;/p&gt;
&lt;p&gt;You might find the UTS Broadway campus map useful: &lt;a href="http://is.gd/3l1iu"&gt;http://is.gd/3l1iu&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to David Morrison for sorting this out.&lt;/p&gt;
&lt;p&gt;A gleaming pile of laptops will surely guide you, else call me on my mobile: 0438 700 647.&lt;/p&gt;
&lt;p style="margin-bottom: 0px;"&gt;The Australian CocoaHeads mailing list is at &lt;a href="http://groups.google.com/group/cocoaheadsau"&gt;http://groups.google.com/group/cocoaheadsau&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=yrnKyTC18c0:AgLuj0EXRDw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=yrnKyTC18c0:AgLuj0EXRDw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=yrnKyTC18c0:AgLuj0EXRDw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=yrnKyTC18c0:AgLuj0EXRDw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=yrnKyTC18c0:AgLuj0EXRDw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=yrnKyTC18c0:AgLuj0EXRDw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?i=yrnKyTC18c0:AgLuj0EXRDw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?a=yrnKyTC18c0:AgLuj0EXRDw:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MarkAufflicksWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MarkAufflicksWeblog/~4/yrnKyTC18c0" height="1" width="1"/&gt;</description>
<pubDate>Wed, 16 Sep 2009 22:49:18 GMT</pubDate>
<feedburner:origLink>http://mark.aufflick.com/blog/2009/09/16/cocoaheads-sydney-october-meetup-thursday-october-1st-blocks-and-beer</feedburner:origLink></item>
</channel>
</rss>
