<?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>NSCoriolisBlog</title>
	<atom:link href="http://blog.coriolis.ch/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.coriolis.ch</link>
	<description>Just another Coriolis weblog</description>
	<lastBuildDate>Sat, 13 Mar 2010 09:43:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>APNS Resources</title>
		<link>http://blog.coriolis.ch/2010/03/13/apns-resources/</link>
		<comments>http://blog.coriolis.ch/2010/03/13/apns-resources/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 09:43:13 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=291</guid>
		<description><![CDATA[Just a reminder: I keep my list of Apple Push Notification Service Gateways up-to-date. You can find it on my blog here.]]></description>
			<content:encoded><![CDATA[<p>Just a reminder: I keep my list of Apple Push Notification Service Gateways up-to-date.</p>
<p>You can find it on my blog <a  href="http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/03/13/apns-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSConference 2010</title>
		<link>http://blog.coriolis.ch/2010/02/09/nsconference-2010/</link>
		<comments>http://blog.coriolis.ch/2010/02/09/nsconference-2010/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 15:51:46 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=282</guid>
		<description><![CDATA[I was in Reading UK last week to attend the NSConference 2010. I will not write a full report of what happened there, because others will do that better. The only thing I want to say is:if you want to improve your skills in Cocoa, for Mac, iPhone or iPad, you should go: you&#8217;ll have [...]]]></description>
			<content:encoded><![CDATA[<p>I was in Reading UK last week to attend the <a  href="http://www.nsconference.com/">NSConference 2010</a>. I will not write a full report of what happened there, because others will do that better.</p>
<p>The only thing I want to say is:if you want to improve your skills in Cocoa, for Mac, iPhone or iPad, you should go: you&#8217;ll have the best speakers, the best organization you can dream of. And you will come back with new contacts, new ideas, new code to try.</p>
<p>You can (should) read Alex Repty report <a  href="http://alexrepty.com/archives/179-NSConference-2010-UK.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/02/09/nsconference-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tablet, iSlate, iPad, &#8230;</title>
		<link>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/</link>
		<comments>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 21:54:17 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[greasekit]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[islate]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=270</guid>
		<description><![CDATA[If, like me, you are tired seeing all these rumors about the absolutely freaking crazy product that Apple MAY announce tomorrow, and you are tired of reading about these rumors on absolutely every website in the world, I have a solution for you. It&#8217;s a GreaseMonkey (and GreaseKit) script that will obliterate all mentions of [...]]]></description>
			<content:encoded><![CDATA[<p>If, like me, you are tired seeing all these rumors about the absolutely freaking crazy product that Apple <strong>MAY</strong> announce tomorrow, and you are tired of reading about these rumors on absolutely every website in the world, I have a solution for you.</p>
<p>It&#8217;s a GreaseMonkey (and GreaseKit) script that will obliterate all mentions of the words &#8220;Tablet&#8221;, &#8220;iSlate&#8221;, &#8220;iPad&#8221;, &#8220;iTablet&#8221; and replace them with &#8220;Unicorn&#8221;, because more people have seen Unicorns than the famous iTablet.<br />
<span id="more-270"></span><br />
So this is how this post looks without the script:<br />
<a  href="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.07.jpg" rel="lightbox[270]"><img src="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.07.jpg" alt="Script Disabled" title="Without" width="586" height="159" class="aligncenter size-full wp-image-272" /></a></p>
<p>And with script installed:<br />
<a  href="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.18.jpg" rel="lightbox[270]"><img src="http://blog.coriolis.ch/wp-content/uploads/2010/01/Capture-d’écran-2010-01-26-à-22.34.18.jpg" alt="Script enabled" title="With" width="579" height="158" class="aligncenter size-full wp-image-273" /></a></p>
<p>To use this script, you&#8217;ll need to have <a  href="https://addons.mozilla.org/firefox/addon/748">GreaseMonkey</a> installed (if running Firefox) or <a  href="http://8-p.info/greasekit/">GreaseKit</a> if you use Safari.</p>
<p>You can install (or download) the script <a  href="http://www.coriolis.ch/unicorn.user.js"> here </a>.</p>
<p>This script is based on the <a  href="http://diveintogreasemonkey.org/casestudy/dumbquotes.html">dumbquotes</a> sample, my previous attempt with jQuery was a too heavy to load for each page.</p>
<p>Have fun, and I hope I will not need this script for too long.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2010/01/26/tablet-islate-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extend UIWebView to handle all special links</title>
		<link>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/</link>
		<comments>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 21:57:09 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[browsing]]></category>
		<category><![CDATA[UIWebView]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=235</guid>
		<description><![CDATA[Have you ever wanted to add an UIWebView to your application, so you can browse the internets without leaving your application? While it is a trivial task to add an UIWebView to a project, there are some links that an UIWebView will not handle. These are: mailto YouTube maps.google.com iTunes AppStore I&#8217;ve written a generic [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to add an UIWebView to your application, so you can browse the internets without leaving your application? While it is a trivial task to add an UIWebView to a project, there are some links that an UIWebView will not handle.</p>
<p>These are:</p>
<ul>
<li>mailto</li>
<li>YouTube</li>
<li>maps.google.com</li>
<li>iTunes</li>
<li>AppStore</li>
</ul>
<p>I&#8217;ve written a generic BrowserViewController, code available on GitHub here: <a  href="http://github.com/sburlot/browserviewcontroller">http://github.com/sburlot/browserviewcontroller</a> which handles all these cases:</p>
<p><strong>mailto</strong> links are handled with a MFMail: I tried to handle all variations on the link: &#8220;to&#8221;, &#8220;cc&#8221;, &#8220;subject&#8221; and &#8220;body&#8221;.</p>
<p><strong>YouTube</strong>, <strong>Map</strong>, <strong>iTunes</strong> and <strong>AppStore</strong> links are opened in their respective apps.</p>
<p>You can customise the view and decide if you want a navigation tab bar or not.</p>
<p>The navigation tab bar will add standard web buttons: Back, Forward, Stop, Reload and also a button to send the url of the current page via email, or open it in Safari.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/10/29/extend-uiwebview-to-handle-all-special-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>As Seen On TV</title>
		<link>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/</link>
		<comments>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:41:18 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[nouvo]]></category>
		<category><![CDATA[television]]></category>
		<category><![CDATA[tsr]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=230</guid>
		<description><![CDATA[The swiss TV (TSR) made a portrait of me, for the tech show &#8220;Nouvo&#8221;. Grab it here while it&#8217;s hot: Nouvo, sept. 30 2009]]></description>
			<content:encoded><![CDATA[<p>The swiss TV (TSR) made a portrait of me, for the tech show &#8220;Nouvo&#8221;. Grab it here while it&#8217;s hot: <a  href="http://www.nouvo.ch/s-043">Nouvo, sept. 30 2009</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/10/06/as-seen-on-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing an iPhone Application: tools round up</title>
		<link>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/</link>
		<comments>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 09:44:54 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=217</guid>
		<description><![CDATA[There are different schools on how to start the design of an iPhone app. Some will prefer designing on paper (I do), others will use the computer to design their next breath-taking GUI. So here is a list of some of the tools, template to design your next iPhone application. Templates: Keynote &#8217;09: via MockApp [...]]]></description>
			<content:encoded><![CDATA[<p>There are different schools on how to start the design of an iPhone app. Some will prefer designing on paper (I do), others will use the computer to design their next breath-taking GUI.</p>
<p>So here is a list of some of the tools, template to design your next iPhone application.</p>
<p>Templates:</p>
<ul>
<li>Keynote &#8217;09: <a  href="http://mockapp.com/download/">via MockApp</a></li>
<li>Microsoft PowerPoint (WTF?): <a  href="http://mockapp.com/download/">via MockApp</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/413">via Patrick Crowley</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/392">via Yahoo</a></li>
<li>OmniGraffle: <a  href="http://www.graffletopia.com/stencils/495"> via Designing Web Interfaces</a></li>
<li>Illustrator: <a  href="http://www.mercuryintermedia.com/blog/index.php/2009/03/iphone-ui-vector-elements">via Mercury Intermedia</a></li>
<li>PhotoShop: <a  href="http://www.teehanlax.com/blog/?p=1628">via Teehan+Lax</a></li>
</ul>
<p>Specialized Tools</p>
<ul>
<li><a  href="http://www.balsamiq.com/">Balsamiq Mockups</a></li>
</ul>
<p>For pen &#038; paper aficionados:</p>
<ul>
<li>Stainless steel stencil: <a  href="http://www.designcommission.com/shop/iphone-stencil-kit/">iPhone Stencil Kit</a></li>
<li>DesignCommission also provides a <a  href="http://www.designcommission.com/shop/iphone-stencil-kit/">PDF template</a>
<li>Sketch Paper in pdf: <a  href="http://labs.boulevart.be/index.php/2008/06/05/sketch-paper-for-the-mobile-designer/">on labs.boulevard</a></li>
<li>Printed SketchBook: <a  href="http://www.mobilesketchbook.com/">Kaplan Software Group</a></li>
</ul>
<p>In <a  href="http://www.pragprog.com/titles/ahptl/pragmatic-thinking-and-learning">Pragmatic Thinking and Learning: Refactor Your Wetware</a>, Andy Hunt recommends using pen and paper to use your right brain and free your creative mind. When using a computer, you will concentrate on the details, not the complete user experience.</p>
<p>Another drawback of using a computer: if you show your design to the client, he also will concentrate on the details (&#8220;can you change the shade of this red button? It&#8217;s TOO red.&#8221;). Showing a hand-drawn design will let him <em>imagine</em> how the final product will look. This can be a double-edged sword, so you better know what the customer is expecting before using one of these techniques.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/09/24/designing-an-iphone-application/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arbitrary rotation of a CGImage</title>
		<link>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/</link>
		<comments>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 09:13:50 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[cgimage]]></category>
		<category><![CDATA[cgimageref]]></category>
		<category><![CDATA[rotation]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=206</guid>
		<description><![CDATA[For my current project, I have to rotate a CGImageRef by an arbitrary angle. Here is the code: - (CGImageRef)CGImageRotatedByAngle:(CGImageRef)imgRef angle:(CGFloat)angle { CGFloat angleInRadians = angle * (M_PI / 180); CGFloat width = CGImageGetWidth(imgRef); CGFloat height = CGImageGetHeight(imgRef); CGRect imgRect = CGRectMake(0, 0, width, height); CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians); CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, transform); CGColorSpaceRef [...]]]></description>
			<content:encoded><![CDATA[<p>For my current project, I have to rotate a CGImageRef by an arbitrary angle.</p>
<p>Here is the code:</p>
<pre><code>
- (CGImageRef)CGImageRotatedByAngle:(CGImageRef)imgRef angle:(CGFloat)angle
{
  CGFloat angleInRadians = angle * (M_PI / 180);
  CGFloat width = CGImageGetWidth(imgRef);
  CGFloat height = CGImageGetHeight(imgRef);

  CGRect imgRect = CGRectMake(0, 0, width, height);
  CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians);
  CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, transform);

  CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
  CGContextRef bmContext = CGBitmapContextCreate(NULL,
                                                 rotatedRect.size.width,
                                                 rotatedRect.size.height,
                                                 8,
                                                 0,
                                                 colorSpace,
                                                 kCGImageAlphaPremultipliedFirst);
  CGContextSetAllowsAntialiasing(bmContext, FALSE);
  CGContextSetInterpolationQuality(bmContext, kCGInterpolationNone);
  CGColorSpaceRelease(colorSpace);
  CGContextTranslateCTM(bmContext,
                        +(rotatedRect.size.width/2),
                        +(rotatedRect.size.height/2));
  CGContextRotateCTM(bmContext, angleInRadians);
  CGContextTranslateCTM(bmContext,
                        -(rotatedRect.size.width/2),
                        -(rotatedRect.size.height/2));
  CGContextDrawImage(bmContext, CGRectMake(0, 0,
                                           rotatedRect.size.width,
                                           rotatedRect.size.height),
                     imgRef);

  CGImageRef rotatedImage = CGBitmapContextCreateImage(bmContext);
  CFRelease(bmContext);
  [(id)rotatedImage autorelease];

  return rotatedImage;
}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/09/04/arbitrary-rotation-of-a-cgimage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apple Push Notification Service Gateways</title>
		<link>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/</link>
		<comments>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 18:32:14 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apn]]></category>
		<category><![CDATA[push]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=183</guid>
		<description><![CDATA[I&#8217;ve not yet had the request to implement Push in an iPhone app, but a thread on the Developer Forums gave me a hint: Some companies are already providing (or planning to provide) a gateway to the APN: These are: Urban Airship iLime AppNotify These are in closed beta: Push.io iPushServer.com msgpush Urban Airship and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve not yet had the request to implement Push in an iPhone app, but a thread on the Developer Forums gave me a hint:</p>
<p>Some companies are already providing (or planning to provide) a gateway to the APN:</p>
<p>These are:</p>
<ul>
<li><a  href="http://urbanairship.com">Urban Airship</a></li>
<li><a  href="http://www.ilime.com/">iLime</a></li>
<li><a  href="http://www.appnotify.com/">AppNotify</a></li>
</ul>
<p>These are in closed beta:</p>
<ul>
<li><a  href="http://push.io/">Push.io</a></li>
<li><a  href="http://www.ipushserver.com/">iPushServer.com</a></li>
<li><a  href="http://msgpush.com/">msgpush</a></li>
</ul>
<p>Urban Airship and iLime also provide In App Purchase.</p>
<p>Or you can build your own: <strong>Open Source &#038; Tutorials</strong></p>
<ul>
<li><a  href="http://code.google.com/p/apns-php/">ApnsPHP: Apple Push Notification &#038; Feedback Provider</a></li>
<li><a  href="http://www.easyapns.com/">EasyAPNS: Open Source solution (PHP, MySQL)</a></li>
<li><a  href="http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/">Tutorial on how to setup your own server in PHP</a></li>
<li><a  href="http://code.google.com/p/php-apns/">Source code (in PHP), requires PHP with memcache</a></li>
<li><a  href="http://code.google.com/p/apns-python-wrapper/">Python wrapper for Apple Push Notification Service</a></li>
<li><a  href="http://pyapns.org/">A universal Apple Push Notification Service (APNS) provider in Python</a></li>
<li><a  href="http://chrismoos.com/2009/07/13/apple-push-notification-library-for-haskell/">Apple Push Notification Library for Haskell</a></li>
<li><a  href="http://github.com/thegeekbird/Apns4r/tree/master">Apple Push Notification Library for Ruby</a></li>
<li><a  href="http://github.com/samsoffes/apple_push_notification">Rails plugin for Apple Push Notifications</a></li>
<li><a  href="http://github.com/markbates/apn_on_rails/tree/master">Apple Push Notifications on Rails</a></li>
<li><a  href="http://code.google.com/p/apns-sharp/">Apple Push Notification &#038; Feedback Services Client C# Library</a></li>
<li><a  href="http://github.com/aufflick/p5-net-apns-persistent"> Persistent Apple APNS interface for Perl 5</a></li>
</ul>
<p>I will try to keep this list updated.</p>
<p>Edit: added ApnsPHP &#038; pyapns.org<br />
Edit: separated the active services from the beta, added msgpush.com and C# Library<br />
Edit: added a Rails plugin<br />
Edit: added AppNotify (in Beta)<br />
Edit: AppNotify is no more in Beta.<br />
Edit: Added EasyAPNS source code<br />
Edit: Removed <a  href="http://www.httpush.com/">Bigcurl HTTPush</a>, since it&#8217;s reserved for <a  href="http://www.bigcurl.de/">bigcurl  agency</a> customers<br />
Edit: added a Perl module</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/08/07/apple-push-notification-service-gateways/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Increase the responsiveness of your UITableViews</title>
		<link>http://blog.coriolis.ch/2009/05/04/increase-the-responsiveness-of-your-uitableviews/</link>
		<comments>http://blog.coriolis.ch/2009/05/04/increase-the-responsiveness-of-your-uitableviews/#comments</comments>
		<pubDate>Mon, 04 May 2009 08:36:36 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=167</guid>
		<description><![CDATA[Let&#8217;s say you have an UITableView in which rows, when touched, changes the display to another view with an animation. If you touch quickly a row, the row will highlight just before the animation starts. If the action performed when touching the row takes some time (let&#8217;s say more than 0.5 seconds), after having touched [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s say you have an UITableView in which rows, when touched, changes the display to another view with an animation.</p>
<p>If you touch quickly a row, the row will highlight just before the animation starts.</p>
<p>If the action performed when touching the row takes some time (let&#8217;s say more than 0.5 seconds), after having touched the row, nothing will be visible while your code is running <strong>then </strong>the row will highlight and the animation will happen.</p>
<p>To make the row highlight immediately, so the user has a immediate feedback on its action, do this:</p>
<p>Change the name of your method<br />
<strong>- (void)tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath</strong></p>
<p>to</p>
<p><strong>- (void) didSelectRowAtIndexPath:(NSIndexPath *)indexPath</strong></p>
<p>And add this method to your view controller:</p>
<pre><code>
- (void)tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  [self performSelector:@selector(didSelectRowAtIndexPath:) withObject:indexPath afterDelay:0.1f];
}</code></pre>
<p>The feedback when touching a row is immediate and will greatly improve the subjective responsiveness of your application (IMHO).</p>
<p>(via the <a  href="http://blog.instapaper.com/">Instapaper blog</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/05/04/increase-the-responsiveness-of-your-uitableviews/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP is teh suck</title>
		<link>http://blog.coriolis.ch/2009/04/14/php-is-teh-suck/</link>
		<comments>http://blog.coriolis.ch/2009/04/14/php-is-teh-suck/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 13:49:35 +0000</pubDate>
		<dc:creator>Stephan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sucks]]></category>

		<guid isPermaLink="false">http://blog.coriolis.ch/?p=144</guid>
		<description><![CDATA[The other day, I had to write a PHP script that reads a csv file of addresses and outputs the longitude and latitude of every address in the file. Since I haven&#8217;t done a lot of PHP recently, I had to look in the documentation for the function that reads a file into an array [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, I had to write a PHP script that reads a csv file of addresses and outputs the longitude and latitude of every address in the file.</p>
<p>Since I haven&#8217;t done a lot of PHP recently, I had to look in the documentation for the function that reads a file into an array because I couldn&#8217;t remember the name.</p>
<p>There is a reason for that: the name of this function is (take a deep breath):</p>
<p><strong>file</strong></p>
<p>Who can remember a function name that doesn&#8217;t relate to what it&#8217;s supposed to do? </p>
<p>In Cocoa, we have &#8220;<strong>arrayWithContentsOfFile</strong>&#8220;, and when reading some code, if you find</p>
<pre><code>
varName = [NSArray arrayWithContentsOfFile:someData];

</code></pre>
<p>Even with non-significant variable names as in this example, you can understand what this assignment does.</p>
<p>But when you read</p>
<pre><code>
varName = file(someData);

</code></pre>
<p>You have no clue, unless you code in PHP everyday.</p>
<p>I really can&#8217;t understand the logic behind the naming of functions in PHP.</p>
<p>Example:</p>
<p>Why do we have &#8220;<strong>utf8_encode</strong>&#8220;, &#8220;<strong>json_encode</strong>&#8221; but &#8220;<strong>urlencode</strong>&#8220;?</p>
<p>PHP is really teh suck.</p>
<p>PS: I do prefer Perl as a scripting language, perhaps because I&#8217;ve done more Perl in my life than PHP. I must admit that</p>
<pre><code>
@varName = &lt;someData&gt;;

</code></pre>
<p>isn&#8217;t clearer, but I do prefer it. </p>
<p>PS2: while ranting about PHP, I wondered what was the longest method name in Cocoa, so with the help of a Perl script, here are my findings:</p>
<p>MacOSX 10.5:<br />
<strong>managedObjectContextsToMonitorWhenSyncingPersistentStoreCoordinator</strong></p>
<p>67 chars, I&#8217;m glad to have auto-completion in Xcode.</p>
<p>iPhone SDK 2.2.1<br />
<strong>willAnimateSecondHalfOfRotationFromInterfaceOrientation</strong></p>
<p>Only 55 chars, still auto-completion is a must!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.coriolis.ch/2009/04/14/php-is-teh-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (enhanced)

Served from: www.coriolis.ch @ 2010-09-03 04:46:46 -->