<?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>Under The Bridge &#187; Blog</title>
	<atom:link href="http://www.alexcurylo.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexcurylo.com</link>
	<description>Alex Curylo, iPhone Programmer</description>
	<lastBuildDate>Wed, 01 Feb 2012 15:47:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Review: Cocos2d for iPhone 1 Game Development Cookbook</title>
		<link>http://www.alexcurylo.com/blog/2012/01/31/review-cocos2d-for-iphone-1-game-development-cookbook/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/31/review-cocos2d-for-iphone-1-game-development-cookbook/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 08:40:21 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reviews]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/31/review-cocos2d-for-iphone-1-game-development-cookbook/</guid>
		<description><![CDATA[So, now that we&#8217;re all up on the latest in cocos2d web events, let&#8217;s take a look as promised at the latest in cocos2d publishing events:<br />
Cocos2d for iPhone 1 Game Development Cookbook<br />
<br />
  <br />
<br />
SHORT REVIEW:<br />
Buy it now. No, seriously. Buy it now.<br />
SOMEWHAT LONGER REVIEW:<br />
We absolutely guarantee that just about anyone will find the book worth way more than its price in time saved. To see for yourself, head over to the book&#8217;s ...]]></description>
			<content:encoded><![CDATA[<p>So, now that we&#8217;re all up on <a href="http://www.alexcurylo.com/blog/2012/01/29/cocos2d-a-go-go/">the latest in cocos2d web events</a>, let&#8217;s take a look as promised at the latest in cocos2d publishing events:</p>
<p><a href="http://www.packtpub.com/cocos2d-for-iphone-1-game-development-cookbook/book">Cocos2d for iPhone 1 Game Development Cookbook</a></p>
<div style="text-align: center;">
  <img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/cover_image_250w.jpg" width="250" height="309" alt="cover_image_250w.jpg" />
</div>
<p>SHORT REVIEW:</p>
<p>Buy it now. No, seriously. Buy it now.</p>
<p>SOMEWHAT LONGER REVIEW:</p>
<p>We absolutely guarantee that just about anyone will find the book worth way more than its price in time saved. To see for yourself, head over to the book&#8217;s website</p>
<p><a href="http://cocos2dcookbook.com/">http://cocos2dcookbook.com/</a></p>
<p>and check out the <a href="http://cocos2dcookbook.com/explore-the-book/">Explore The Book</a> section for videos and explanations of the recipes in each &#8230; and download the demo apps. Yep, the demo apps, there&#8217;s free demo apps up on the store for you to check out the recipes in action:</p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=goXYUj1aTb0&amp;offerid=146261&amp;type=3&amp;subid=0&amp;u1=C2DCookbookBlog&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D448251192%2526mt%253D8%2526partnerId%253D30">Cocos2d Cookbook Ch1-3</a></p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=goXYUj1aTb0&amp;offerid=146261&amp;type=3&amp;subid=0&amp;u1=C2DCookbookBlog&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D489395357%2526mt%253D8%2526partnerId%253D30">Cocos2d Cookbook Ch4-6</a></p>
<p><a href="http://click.linksynergy.com/fs-bin/stat?id=goXYUj1aTb0&amp;offerid=146261&amp;type=3&amp;subid=0&amp;u1=C2DCookbookBlog&amp;tmpid=1826&amp;RD_PARM1=http%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D489396147%2526mt%253D8%2526partnerId%253D30">Cocos2d Cookbook Ch7-8</a></p>
<p>Now <i>that&#8217;s</i> how you go about supporting a book!</p>
<p>Also check out <a href="http://www.cocos2d-iphone.org/forum/topic/28114">the book&#8217;s thread on the cocos2d-iphone forums</a> for some subtle understated commentary like</p>
<ul>
<li>&#8220;This book looks like it is going to be a requirement in every developer&#8217;s library!&#8221;</li>
<li>&#8220;Ok, I have read a handful of recipes and I am completely sold. This is an awesome book.&#8221;</li>
<li>&#8220;&#8230;every developer needs to have this book.&#8221;</li>
<li>&#8220;this book is an absolute must for anyone developing cocos2d apps.&#8221;</li>
<li>&#8220;Great book, instant buy!&#8221;</li>
</ul>
<p>Gee, gushing much? But it actually does deserve all that and more. Let us take the very first recipe, &#8220;Drawing sprites&#8221;. Oh for crying out loud, you think, how does that merit a recipe? Is this thing going to be full of fluff I already know? Well, no actually, that simple sounding recipe goes over drawing from files, images, textures, and frames; explains mipmapping and batch nodes; and tops it off with colorizing rectangles. Well, that is pretty good for a first recipe, isn&#8217;t it now.</p>
<p>The first graphics chapter goes on to cover not only common drawing and animating but movie playing, particle effects, simple 3D effects, texture animation, palette swapping, screenshots, parallax, and lighting. Pretty much a worthwhile purchase already, and we&#8217;re barely started!</p>
<p>Second chapter covers user input of varying types, including virtual joysticks, d-pads, and accelerometer; nothing too novel here, but useful time savers here if you&#8217;re newish to cocos2d.</p>
<p>Third chapter covers data management; reading and saving plist/JSON/XML &#8230; and even SQLite and Core Data. Probably not much completely new to you here either, but the details of working with sprites and the like are handy.</p>
<p>Fourth chapter is on physics and is a particularly valuable one for those of us weak on the background there; focusing on Box2D, takes you from basic setup through impulses and forces to joints, bullets, ropes, and ending up with a 2.5D isometric game engine! That&#8217;s a pretty standout one there.</p>
<p>Fifth chapter, &#8216;Scenes and Menus&#8217;, is mostly pretty straightforward but still handy code. The sliding menu grid and minimap are particularly nice.</p>
<p>Sixth chapter, &#8220;Audio&#8221; is another notably useful one, nice explanations of sound manipulating, positioning, metering, recording, iPod library usage, and finishing up with creating a MIDI synthesizer with <a href="http://code.google.com/p/mobilesynth/">MobileSynth</a> and then speech recognition/synthesis.</p>
<p>Seventh chapter, &#8220;AI and Logic&#8221; is well-nigh invaluable for those without a background in it; basic waypoints, targeting, line of sight, flocking, pathfinding (the &#8220;in a Box2D world&#8221; getting special mention, good luck figuring that one out without some help!) and finishing off with discussion of Lua integration.</p>
<p>We figured the last chapter &#8220;Tips, Tools, and Ports&#8221; was a bit weaker; the tools picked here mostly aren&#8217;t up to the currently regarded best of breed mentioned in yesterday&#8217;s roundup, and the cocos2d-x and cocos3d intros were too short to really be of much use. But hey, still worth a read.</p>
<p>Closest thing we have to a real complaint is that you have to <a href="http://cocos2dcookbook.com/support/">email the author</a> to get <a href="http://cocos2dcookbook.com/explore-the-book/extra-chapter-ads-networking-and-social-integration/">the extra chapter</a> which was omitted from the print versions; really, how hard would it be to put it as an addenda in the electronic versions most of us are going to be buying anyways? But hey, if mild inconvenience is the worst whine we can come up with, that&#8217;s pretty solid.</p>
<p>So, yeah. We pretty much can&#8217;t imagine anyone developing with cocos2d who won&#8217;t find something in here well worth the price; for those just starting out it might be a bit over your head, but it would make a perfect second step after one of the introductory books or our starting recommendation <a href="http://iphonegamekit.com/">The iPhone Game Kit</a>. So buy it now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/31/review-cocos2d-for-iphone-1-game-development-cookbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>cocos2d A-Go-Go</title>
		<link>http://www.alexcurylo.com/blog/2012/01/29/cocos2d-a-go-go/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/29/cocos2d-a-go-go/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 20:12:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/29/cocos2d-a-go-go/</guid>
		<description><![CDATA[So it was just about a year ago we did our last big survey of cocos2d resources, and look at that, we&#8217;re in the exact same position today of pawing through our mountain of collected links before we get around to reviewing a Packt book:<br />
<br />
  <br />
<br />
Check back soon Take a look here for our thoughts on that!<br />
In the meantime, first off let&#8217;s take a look at how the various flavours mentioned a year ago ...]]></description>
			<content:encoded><![CDATA[<p>So it was just about a year ago we did <a href="http://www.alexcurylo.com/blog/2011/01/23/cocos2d-linkapalooza-2/">our last big survey of cocos2d resources</a>, and look at that, we&#8217;re in the exact same position today of pawing through our mountain of collected links before we get around to reviewing <a href="http://www.packtpub.com/cocos2d-for-iphone-1-game-development-cookbook/book">a Packt book</a>:</p>
<div style="text-align: center;">
  <img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/4002EXP_Cocos2d-for-iPhone-Game-Development-Cookbook.jpg1.png" width="125" height="151" alt="4002EXP_Cocos2d-for-iPhone-Game-Development-Cookbook.jpg.png" />
</div>
<p><s>Check back soon</s> <a href="http://www.alexcurylo.com/blog/2012/01/31/review-cocos2d-for-iphone-1-game-development-cookbook/">Take a look here</a> for our thoughts on that!</p>
<p>In the meantime, first off let&#8217;s take a look at how the various flavours mentioned a year ago have developed:</p>
<ul>
<li><a href="http://www.cocos2d.org/">The original cocos2d</a> went from 0.4 to 0.5;</li>
<li><a href="http://www.cocos2d-iphone.org/">cocos2d-iphone</a> finally hit 1.0.0! At writing <a href="http://www.cocos2d-iphone.org/download">downloads are</a> 1.0.1 stable and branched off into 1.1 and 2.0 beta versions, the 2.0 version eponymously supporting only OpenGL ES 2.0 devices (3GS or newer) and iOS &gt;= 4.0, blog-featured new supplements are <a href="http://www.cocos2d-iphone.org/archives/1274">the 3D extension &#8216;cocos3d&#8217;</a> and the collection <a href="http://www.cocos2d-iphone.org/archives/1641">Cocos2D-iPhone-Extensions</a>;</li>
<li><a href="http://www.cocos2d-javascript.org/">cocos2d-javascript</a> went from 0.1 to 0.2;</li>
<li><a href="http://www.cocos2d-x.org/">cocos2d-x</a> has been <a href="http://www.cocos2d-iphone.org/archives/1674">humming right along</a>, current version at cocos2d-1.0.1-x-0.11.0 and <a href="http://www.cocos2d-x.org/projects/cocos2d-x/apps">widely used</a>;</li>
<li>All others mentioned then are apparently pretty much dead.</li>
</ul>
<p>Other particularly notable developments:</p>
<ul>
<li><a href="http://www.kobold2d.com/display/KKSITE/Home">Kobold2D™</a> is a customized distribution bundled with many popular supplements, definitely worth looking into as a simple option for starting new projects;</li>
<li><a href="http://iphonegamekit.com/">The iPhone Game Kit</a> is updated to 4.0 with cocos2d 1.0.1 &#8212; still our top recommendation for anyone new to game writing;</li>
<li>More cocos2d books <a href="http://www.learn-cocos2d.com/store/book-learn-cocos2d/">from Steffen Itterheim</a> and <a href="http://cocos2dbook.com/">from Ray Wenderlich + Rod Strougo</a>;</li>
<li>
    <a href="http://click.linksynergy.com/fs-bin/click?id=goXYUj1aTb0&amp;subid=0&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM0=http%3A%2F%2Fitunes.apple.com%2Fca%2Fapp%2Flevelhelper%2Fid421740820%3Fmt%3D12&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fca%2Fapp%2Flevelhelper%2Fid421740820%3Fmt%3D12&amp;u1=BlogLevelHelper">LevelHelper</a> and <a href="http://click.linksynergy.com/fs-bin/click?id=goXYUj1aTb0&amp;subid=0&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM0=http%3A%2F%2Fitunes.apple.com%2Fca%2Fapp%2Fspritehelper%2Fid416068717%3Fmt%3D12&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fca%2Fapp%2Fspritehelper%2Fid416068717%3Fmt%3D12&amp;u1=BlogSpriteHelper">SpriteHelper</a> are new design tools widely raved about -</p>
<ul>
<li><a href="http://www.raywenderlich.com/4622/how-to-use-spritehelper-and-levelhelper-tutorial">How To Use SpriteHelper and LevelHelper Tutorial</a></li>
<li><a href="http://maniacdev.com/2011/07/tutorial-building-complete-games-with-spritehelper-and-levelhelper/">Tutorial: Building Complete Games With SpriteHelper And LevelHelper</a></li>
<li><a href="http://maniacdev.com/2012/01/tutorial-quickly-create-a-jetpack-joyride-like-game-with-cocos2d-box2d-levelhelper-and-spritehelper/">Tutorial: Quickly Create A Jetpack Joyride Like Game With Cocos2D, Box2D, LevelHelper, And SpriteHelper</a></li>
<li><a href="http://www.highoncoding.com/Articles/789_Creating_Physics_Enabled_Game_Using_Cocos2d__LevelHelper_and_SpriteHelper.aspx">Creating Physics Enabled Game Using Cocos2d, LevelHelper and SpriteHelper</a></li>
<li>I<a href="http://highoncoding.com/Articles/831_Implementing_Nutty_Squirrels_Using_SpaceManager__LevelHelper_and_SpriteHelper.aspx">mplementing Nutty Squirrels Using SpaceManager, LevelHelper and SpriteHelper</a></li>
</ul>
</li>
<li>There&#8217;s some <a href="http://www.cocos2d-iphone.org/forum/topic/25414">interesting options in progress</a> for getting your Objective-C code <a href="http://www.cocos2d-iphone.org/archives/1774">to those other, lesser, platforms</a>.</li>
</ul>
<p>Moving on to more &#8216;comprehensive&#8217; as opposed to &#8216;notable&#8217; listings, the tools scene in general has been getting more active; besides Level Helper and Sprite Helper mentioned above, things out there to help you are:</p>
<ul>
<li><a href="http://www.alexcurylo.com/blog/2011/10/27/texturepacker-2-4-0/">TexturePacker 2.4.0 reviewed here</a> is the most capable sprite sheet editor around and <a href="http://www.texturepacker.com/texturepacker/the-road-to-texturepacker-3-0-0-grace-period-started/">being actively developed</a>.</li>
<li><a href="http://www.physicseditor.de/">PhysicsEditor</a> from the same author supports Box2D and Chipmunk in a variety of engines.</li>
<li><a href="http://glyphdesigner.71squared.com/">GlyphDesigner</a> is the go-to font rendering tool, from the people <a href="http://www.alexcurylo.com/blog/2010/04/23/particle-designer/">who brought you Particle Designer</a>.</li>
<li><a href="http://fontstruct.com/">FontStruct</a> is a font creation tool <a href="http://www.71squared.com/2011/01/perfect-glyph-designer-companion/">recommended by the GlyphDesigner folk</a>.</li>
<li><a href="http://click.linksynergy.com/fs-bin/click?id=goXYUj1aTb0&amp;subid=0&amp;offerid=146261.1&amp;type=10&amp;tmpid=3909&amp;RD_PARM0=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fitilemaps%2Fid432784227%3Fmt%3D8&amp;RD_PARM1=http%3A%2F%2Fitunes.apple.com%2Fus%2Fapp%2Fitilemaps%2Fid432784227%3Fmt%3D8&amp;u1=ITMBlog">iTileMaps</a> looks pretty handy for your <a href="https://github.com/bjorn/tiled/wiki/TMX-Map-Format">TMX Map Format</a> tilemap editing needs.</li>
<li><a href="http://cocosbuilder.com/">CocosBuilder</a> is a tool for basic scene layout.</li>
<li><a href="https://github.com/andrew0/cocoshop/#readme">Cocoshop</a> is <a href="http://www.cocos2d-iphone.org/forum/topic/15668">another layout tool</a>, this one open source.</li>
<li><a href="http://www.crocodella.com.br/2011/05/leveraging-cocos2d-actions-for-cutscenes/">Leveraging cocos2d actions for cutscenes</a> provides a work-in-progress cutscene editor.</li>
<li>Check out <a href="http://www.learn-cocos2d.com/2011/06/complete-list-cocos2d-tools/">The Complete (?) List Of Cocos2D Tools</a> for anything else we missed here.</li>
</ul>
<p>So has the tutorial scene:</p>
<ul>
<li>At this point it&#8217;s getting hard to find anything <b>not</b> <a href="http://www.raywenderlich.com/tutorials">covered by the Ray Wenderlich team</a>; notable cocos2d additions this year besides the LevelHelper+SpriteHelper ones above include
<ul>
<li><a href="http://www.raywenderlich.com/4428/how-to-mask-a-sprite-with-cocos2d-2-0">How To Mask a Sprite with Cocos2D 2.0</a></li>
<li><a href="http://www.raywenderlich.com/4817/how-to-integrate-cocos2d-and-uikit">How To Integrate Cocos2D and UIKit</a></li>
<li><a href="http://www.raywenderlich.com/3857/how-to-create-dynamic-textures-with-ccrendertexture">How To Create Dynamic Textures with CCRenderTexture</a> + <a href="http://www.raywenderlich.com/3888/how-to-create-a-game-like-tiny-wings-part-1">How To Create A Game Like Tiny Wings</a></li>
<li><a href="http://www.raywenderlich.com/4970/how-to-implement-a-pathfinding-with-cocos2d-tutorial">How To Implement A* Pathfinding with Cocos2D</a></li>
<li><a href="http://www.raywenderlich.com/4666/how-to-create-a-hud-layer-with-cocos2d">How To Create a HUD Layer with Cocos2D</a></li>
<li><a href="http://www.raywenderlich.com/3611/how-to-make-a-space-shooter-iphone-game">How To Make A Space Shooter iPhone Game</a></li>
<li><a href="http://www.raywenderlich.com/4756/how-to-make-a-catapult-shooting-game-with-cocos2d-and-box2d-part-1">How To Make a Catapult Shooting Game with Cocos2D and Box2D</a></li>
<li><a href="http://www.raywenderlich.com/4456/how-to-make-a-multiplayer-iphone-game-hosted-on-your-own-server">How To Make a Multiplayer iPhone Game Hosted on Your Own Server</a></li>
<li><a href="http://www.raywenderlich.com/3997/introduction-to-augmented-reality-on-the-iphone">Introduction to Augmented Reality on the iPhone</a></li>
</ul>
</li>
<li><a href="http://www.iphonegametutorials.com/">iPhone Game Tutorials</a> has <a href="http://www.iphonegametutorials.com/tutorials/">a wide variety of good stuff</a> too.</li>
<li><a href="http://www.highoncoding.com/Articles/798_Creating_a_Vertical_Scrolling_Car_Game_Using_Cocos2d_Part_1.aspx">Creating a Vertical Scrolling Car Game Using Cocos2d</a></li>
<li><a href="http://www.learn-cocos2d.com/2011/12/how-to-use-ccrendertexture-motion-blur-screenshots-drawing-sketches/">How to use CCRenderTexture for Motion Blur, Screenshots and Drawing Sketches</a></li>
<li><a href="http://www.learn-cocos2d.com/2012/01/download-modified-files-web-server-cocos2d-webcam-viewer/">How to Download Modified Files from a Web Server for a Cocos2D Webcam Viewer</a></li>
<li><a href="http://karnakgames.com/wp/2011/02/how-to-take-in-game-screenshots-with-cocos2d-and-upload-them-to-a-facebook-album/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+KarnakGames+%28Karnak+Games%29">How to take in-game screenshots with Cocos2D and upload them to a Facebook album</a></li>
<li><a href="http://www.johnwordsworth.com/2011/07/loading-cocos2d-sprite-frame-animations-from-plist-files/">Loading Cocos2D Sprite Frame Animations from Plist Files</a></li>
<li><a href="http://brandontreb.com/Cocos2D-Tutorial-Dynamically-Coloring-Sprites/">Cocos2D Tutorial &#8211; Dynamically Coloring Sprites</a></li>
<li><a href="http://xperienced.com.pl/blog/cocos2d-meets-mvc-implementing-board-game-part-1">cocos2d meets MVC – Implementing simple board game</a></li>
<li><a href="http://www.ruttencutter.com/?p=109">Creating Dynamic Scaling Menu Interfaces in cocos2d</a></li>
<li><a href="http://tapswipepinch.tumblr.com/post/5051122217/getting-started-with-core-motion-in-cocos2d">Getting Started With Core Motion in Cocos2D</a></li>
<li><a href="http://www.tech-wanderings.com/one-day-help-system-cocos2d-ios">The One Day Help System, in Cocos2d for iOS</a></li>
<li><a href="http://gamecollage.com/development/task-sequencer-or-how-i-was-lazy-to-learn-lua/">Task Sequencer or how I was lazy to learn Lua</a></li>
<li><a href="http://www.crocodella.com.br/2011/05/positional-audio-with-cocos2d-and-cocosdenshion/">Positional audio with cocos2d and CocosDenshion</a></li>
<li><a href="http://playsnackgames.com/blog/2011/09/cocos2d-tutorial-creating-a-reusable-pause-layer/">Cocos2d tutorial: Creating a reusable pause layer</a></li>
<li><a href="http://www.kerp.net/box2d/">Todd&#8217;s Box2D Tutorials</a> are Flash-targeted, but still of interest</li>
</ul>
<p>Aaaaaand here&#8217;s a grab bag to finish up with of interesting techniques, projects, libraries, and snippets:</p>
<ul>
<li><a href="http://www.alexcurylo.com/blog/2011/11/03/irregular-touch-detection/">Irregular Touch Detection</a> is nifty enough to merit a repost.</li>
<li><a href="https://github.com/lozarcher/KnightFight">Knight Fight</a> is <a href="http://maniacdev.com/2011/07/open-source-2d-isometric-action-rpg-game-cocos2d/">an isometric 2D tile based action RPG</a>.</li>
<li><a href="http://jpsarda.tumblr.com/post/6171831450/tiny-wings-hills-with-cocos2d">Another take on</a> Tiny Wing&#8217;s hills. Also note <a href="https://github.com/haqu/tiny-wings">Tiny Wings Remake</a> clone.</li>
<li><a href="http://www.amasso.info/?p=284">Cocos2D/Box2D Endless Platformer</a></li>
<li><a href="https://github.com/manucorporat/CCNotifications">CCNotifications</a> implements <a href="http://www.cocos2d-iphone.org/archives/804">Notifications in OpenGL</a></li>
<li><a href="http://www.cocos2d-iphone.org/forum/topic/25446#post-132523">Flood fill implementation</a> for <a href="http://www.cocos2d-iphone.org/forum/tags/ccmutabletexture2d">CCMutableTexture2D</a></li>
<li><a href="http://www.cocos2d-iphone.org/forum/topic/25594">Astar Pathfinding with source</a></li>
<li><a href="http://www.cocos2d-iphone.org/forum/topic/19463">CCTMXTiledMap A* pathfinding class</a></li>
<li><a href="http://www.amasso.info/?p=221">Cocos2D/Box2D Collision Filtering</a> + <a href="http://www.amasso.info/?p=260">Cocos2D/Box2D – Detecting top collisions</a></li>
<li><a href="https://github.com/axcho/CCBox2D">CCBox2D</a> is a cocos2d-flavored wrapper for Box2D.</li>
<li><a href="http://maniacdev.com/2012/01/example-source-code-cocos2d-iphone-particle-engine-class-using-a-sequence-of-images/">Cocos2D iPhone Particle Engine Class Using A Sequence Of Images</a></li>
<li><a href="http://www.cocos2d-iphone.org/forum/topic/20327">CCShake</a> is a neat effect.</li>
<li><a href="http://abitofcode.com/2012/01/weve-open-sourced-the-sketchshare-colour-picker/">The Sketchshare Colour Picker</a> is pretty nice.</li>
<li><a href="http://maniacdev.com/2011/09/example-create-a-lightning-effect-in-cocos2d-using-opengl-es/">Create A Lightning Effect In Cocos2D Using OpenGL ES</a></li>
<li><a href="https://github.com/hiepnd/CCBlade">CCBlade</a> is <a href="http://maniacdev.com/2012/01/cocos2d-iphone-and-cocos2d-x-ninja-finger-slice-example-source-code/">just the thing</a> for your Fruit Ninja cloning needs.</li>
<li><a href="http://maniacdev.com/2011/12/example-how-to-make-realistic-water-ripples-with-cocos2d-very-impressive/">How To Make Realistic Water Ripples With Cocos2D</a></li>
<li><a href="https://github.com/asinesio/cocos2d-PRKit">cocos2d-PRKit</a> has a handy filled polygon node, <a href="http://www.cocos2d-iphone.org/forum/topic/8142#post-86637">discussion here</a>.</li>
<li><a href="http://www.cocos2d-iphone.org/forum/topic/14895">Cocos2D Joystick (zJoystick v1.0)</a> for a joystick controller &#8230; if you really must.</li>
<li>Lagrange curve <a href="http://dl.dropbox.com/u/271717/CurvesDemo2.zip">source link</a>, <a href="http://www.cocos2d-iphone.org/forum/topic/4853">discussion here</a></li>
<li><a href="https://github.com/jandrad/AdRootViewController">AdRootViewController</a> supports iAd and AdMob.</li>
<li><a href="http://maniacdev.com/2011/08/open-source-library-for-easier-gesture-recognizers-scrolling-views-and-tableviews-in-cocos2d/">Library For Easier Gesture Recognizers, Scrolling Views, And TableViews In Cocos2D</a></li>
<li><a href="http://www.supersuraccoon-cocos2d.com/">SuperSuRaccoon</a> (follow that blog!) has a 102-item mostly cocos2d <a href="https://docs.google.com/spreadsheet/ccc?key=0Ap9yzw5RaZIZdFNoWEtvTXdfbThHM0hJUGxWUHZwSGc#gid=0">Demo List at Google Docs</a>.</li>
<li>Particularly worth attention are <a href="http://cocos2d-central.com/topic/539-cocos2d-three-simple-but-cool-effect-demo-with-source-code/">Three simple but cool effect demos with source code</a>.</li>
<li>iUridium <a href="http://www.iuridium.com/?page_id=2">sells its code</a> and has <a href="http://www.iuridium.com/?p=436">a list of open source goodies here</a>.</li>
<li><a href="http://maniacdev.com/2011/11/source-code-to-cocos2d-puzzle-game-previously-listed-in-the-ios-app-store-as-whats-hot-is-released/">iLabyrinth</a> and <a href="http://maniacdev.com/2011/08/open-source-cocos2d-tile-map-based-game-ipad-text-editor-and-music-synthesizer-apps/">Bubbsy</a> are new additions to the always worth watching <a href="http://maniacdev.com/2010/06/35-open-source-iphone-app-store-apps-updated-with-10-new-apps/">Maniac.dev Open Source Apps List</a>.</li>
<li><a href="http://mobile.tutsplus.com/tutorials/iphone/learn-ios-game-development-by-example-10-projects-to-get-you-started/">Learn iOS Game Development By Example: 10 Projects to Get You Started</a> picks arguably the best for learning out there.</li>
</ul>
<p>That should keep you busy reading for a while!</p>
<p>UPDATES:</p>
<p><a href="http://www.raywenderlich.com/7261/monkey-jump">How To Build a Monkey Jump Game Using Cocos2D, PhysicsEditor &amp; TexturePacker</a> is by <a href="http://twitter.com/CodeAndWeb">Andreas Loew</a> the tools&#8217; author.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/29/cocos2d-a-go-go/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programming Book Giveaway!</title>
		<link>http://www.alexcurylo.com/blog/2012/01/24/programming-book-giveaway/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/24/programming-book-giveaway/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 07:46:54 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Miscellanea]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/24/programming-book-giveaway/</guid>
		<description><![CDATA[So, what better way to get rolling into 2012 than learn something new from a good programming book? Why, nothing at all, that&#8217;s what. And courtesy of the great folk over at Packt Publishing, here we have four choices for you, and a dead simple way to get whichever one of them you like: just tweet the message of your choice with the link provided to the book&#8217;s page, and this weekend we&#8217;ll do a search, first tweet we find ...]]></description>
			<content:encoded><![CDATA[<p>So, what better way to get rolling into 2012 than learn something new from a good programming book? Why, nothing at all, that&#8217;s what. And courtesy of the great folk over at <a href="http://www.packtpub.com/">Packt Publishing</a>, here we have four choices for you, and a dead simple way to get whichever one of them you like: just tweet the message of your choice with the link provided to the book&#8217;s page, and this weekend we&#8217;ll do a search, first tweet we find with each link wins! So without further ado, here are your choices:</p>
<p>#1: <a href="http://www.packtpub.com/cocos2d-for-iphone-1-game-development-cookbook/book">Cocos2d for iPhone 1 Game Development Cookbook</a></p>
<p><img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/4002EXP_Cocos2d-for-iPhone-Game-Development-Cookbook.jpg.png" width="125" height="151" alt="4002EXP_Cocos2d for iPhone Game Development Cookbook.jpg.png" /></p>
<p><a href="twitter://post?message=I'd%20like%20to%20read%20this%20book%20on%20cocos2d!%20%20http%3A%2F%2Fis.gd%2FuMGIcA">Tweet this:</a> I&#8217;d like to read this book on cocos2d! http://is.gd/uMGIcA</p>
<p>#2: <a href="http://www.packtpub.com/unreal-development-kit-game-programming-with-unrealscript-beginners-guide/book">Unreal Development Kit Game Programming with UnrealScript: Beginner&#8217;s Guide</a></p>
<p><img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/1925EXP_UDK-Game-Programming-with-UnrealScript-Beginners-Guide.jpg.png" width="125" height="151" alt="1925EXP_UDK Game Programming with UnrealScript Beginner's Guide.jpg.png" /></p>
<p><a href="twitter://post?message=I'd%20like%20to%20read%20this%20book%20on%20UnrealScript!%20%20http%3A%2F%2Fis.gd%2FD59QkK">Tweet this:</a> I&#8217;d like to read this book on UnrealScript! http://is.gd/D59QkK</p>
<p>#3: <a href="http://www.packtpub.com/android-3-0-animations-beginners-guide/book">Android 3.0 Animations: Beginner’s Guide</a></p>
<p><img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/5283EXP_Android-3.jpg.png" width="125" height="151" alt="5283EXP_Android 3.jpg.png" /></p>
<p><a href="twitter://post?message=I'd%20like%20to%20read%20this%20book%20on%20Android%20animations!%20%20http%3A%2F%2Fis.gd%2FT0g0Wi">Tweet this:</a> I&#8217;d like to read this book on Android animations! http://is.gd/T0g0Wi</p>
<p>#4: <a href="http://www.packtpub.com/microsoft-xna-4-0-game-development-by-example-beginners-guide/book">XNA 4.0 Game Development by Example: Beginner&#8217;s Guide – Visual Basic Edition</a></p>
<p><img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/2403EXP_XNA-4.0-Game-Developement-by-Example.jpg.png" width="122" height="152" alt="2403EXP_XNA 4.0 Game Developement by Example.jpg.png" /></p>
<p><a href="twitter://post?message=I'd%20like%20to%20read%20this%20book%20on%20XNA4%20game%20development!%20%20http%3A%2F%2Fis.gd%2FR42Uoa">Tweet this:</a> I&#8217;d like to read this book on XNA4 game development! http://is.gd/R42Uoa</p>
<p></p>
<p>And if you don&#8217;t so happen to be a lucky winner, fear not, you can still get your hands on any of these for a little quid pro quo, that being to post a review on your blog and Amazon and the like: just drop a line to <a href="mailto:shaveeri@packtpub.com">Shaveer Irani of Packt</a> with the subject &#8220;book name- review request copy&#8221; to join our Distinguished Fraternity Of Review Writers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/24/programming-book-giveaway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iBooks Author EULA</title>
		<link>http://www.alexcurylo.com/blog/2012/01/23/ibooks-author-eula/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/23/ibooks-author-eula/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 07:49:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Miscellanea]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/23/ibooks-author-eula/</guid>
		<description><![CDATA[So the latest Apple-related brouhaha for those who like to get their knickers in a twist to be all knicker-twisted about is the EULA attached to iBooks Author, as no doubt you&#8217;ve heard. Normally we&#8217;d just snicker at the lachrymose lamentations of those who profess that strings attached to something given away for free is somehow unprecedentedly evil, but there is a particularly interesting bit in Jeff Lamarche&#8217;s display of common sense in punditry here:<br />
How I Learned to Stop ...]]></description>
			<content:encoded><![CDATA[<p>So the latest Apple-related brouhaha for those who like to get their knickers in a twist to be all knicker-twisted about is <a href="http://venomousporridge.com/post/16126436616/ibooks-author-eula-audacity">the EULA attached to iBooks Author</a>, as no doubt you&#8217;ve heard. Normally we&#8217;d just snicker at the lachrymose lamentations of those who profess that strings attached to something given away for free is somehow unprecedentedly evil, but there is a particularly interesting bit in Jeff Lamarche&#8217;s display of common sense in punditry here:</p>
<p><a href="http://iphonedevelopment.blogspot.com/2012/01/how-i-learned-to-stop-worrying-and-love.html">How I Learned to Stop Worrying and Love the iBooks Author EULA</a></p>
<blockquote>
<p>&#8230; Let&#8217;s say, for giggles, that &#8220;book stealing&#8221; <b>was</b> Apple&#8217;s intent, and such an intent was found to be both legal and the actual intent of the contract, and Apple decided to exercise those rights to steal my books. You know what? Even with all that, <i>it&#8217;s still a hell of a lot better deal than I&#8217;ve ever gotten from a traditional publisher.</i> Apple is offering 70% of the sale price to me. The most favorable contract I&#8217;ve ever gotten from a publisher starts at 12% of the net price the publisher gets from the distributor, wholesaler, or retailer (which is half or less of the retail price). That percentage does slowly escalate up to 20% if I sell a ton of books, but if I publish a new edition of an existing book, the escalators go back down to 12% and I have to start all over. To put this in more concrete terms, if I were to sell a book in the iBooks Store for $9.99, I would get $6.99 per book sold, which is about four times what I get when one of my current $39.99 books sells, and I&#8217;d get that money months sooner. Oh, and guess what? I don&#8217;t own those books published through a traditional publisher, either. My publisher can even have someone else update the book and can continue to use my name to promote it, even if I don&#8217;t like the revisions or think the update sucks&#8230;</p>
</blockquote>
<p>Wow! We were vaguely aware that writing books was for most people a pretty low return endeavour, but we had no idea that terms were on the order of a twentieth of the cover price. That rather puts all the huffing and puffing from excitable quarters into its proper context, doesn&#8217;t it now?</p>
<p>UPDATES :</p>
<p>A rather more amusing take on the huffing and puffing types: <a href="http://cyreid.com/post/16407202498/in-favour-of-ibook-author">In Favour Of iBook Author</a></p>
<p>Lots of thought-provoking <a href="http://mattgemmell.com/2012/01/19/ibooks-ideas/">iBooks Ideas</a> from <a href="http://twitter.com/mattgemmell">@mattgemmell</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/23/ibooks-author-eula/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snippet: Locale Listing</title>
		<link>http://www.alexcurylo.com/blog/2012/01/22/snippet-locale-listing/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/22/snippet-locale-listing/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 07:56:42 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/22/snippet-locale-listing/</guid>
		<description><![CDATA[Ever wonder just what those annoyingly obtuse NSLocale codes are? Here&#8217;s the snippet to print them out:<br />
And here is your comprehensive list of just what shows up on an iPad 2 with 5.0.1. And comprehensive indeed it is!<br />
<br />
&#8216;af&#8217; is: Afrikaans&#8217;<br />
&#8216;af_NA&#8217; is: Afrikaans (Namibia)&#8217;<br />
&#8216;af_ZA&#8217; is: Afrikaans (South Africa)&#8217;<br />
&#8216;agq&#8217; is: Aghem&#8217;<br />
&#8216;agq_CM&#8217; is: Aghem (Cameroon)&#8217;<br />
&#8216;ak&#8217; is: Akan&#8217;<br />
&#8216;ak_GH&#8217; is: Akan (Ghana)&#8217;<br />
&#8216;am&#8217; is: Amharic&#8217;<br />
&#8216;am_ET&#8217; is: Amharic (Ethiopia)&#8217;<br />
&#8216;ar&#8217; is: Arabic&#8217;<br />
&#8216;ar_AE&#8217; is: Arabic (United ...]]></description>
			<content:encoded><![CDATA[<p>Ever wonder just what those annoyingly obtuse NSLocale codes are? Here&#8217;s the snippet to print them out:</p>
<pre class="brush: objc; title: ; notranslate">
- (void)logAllLocales
{
   NSLocale *curentLocale = [NSLocale currentLocale];
   NSArray *locales = [[NSLocale availableLocaleIdentifiers] sortedArrayUsingSelector:@selector(compare:)];
   for (NSString *locale in locales)
      NSLog(@&quot;locale '%@' is: %@'&quot;, locale, [curentLocale displayNameForKey:NSLocaleIdentifier value:locale]);
}
</pre>
<p>And here is your comprehensive list of just what shows up on an iPad 2 with 5.0.1. And comprehensive indeed it is!</p>
<ol>
<li>&#8216;af&#8217; is: Afrikaans&#8217;</li>
<li>&#8216;af_NA&#8217; is: Afrikaans (Namibia)&#8217;</li>
<li>&#8216;af_ZA&#8217; is: Afrikaans (South Africa)&#8217;</li>
<li>&#8216;agq&#8217; is: Aghem&#8217;</li>
<li>&#8216;agq_CM&#8217; is: Aghem (Cameroon)&#8217;</li>
<li>&#8216;ak&#8217; is: Akan&#8217;</li>
<li>&#8216;ak_GH&#8217; is: Akan (Ghana)&#8217;</li>
<li>&#8216;am&#8217; is: Amharic&#8217;</li>
<li>&#8216;am_ET&#8217; is: Amharic (Ethiopia)&#8217;</li>
<li>&#8216;ar&#8217; is: Arabic&#8217;</li>
<li>&#8216;ar_AE&#8217; is: Arabic (United Arab Emirates)&#8217;</li>
<li>&#8216;ar_BH&#8217; is: Arabic (Bahrain)&#8217;</li>
<li>&#8216;ar_DZ&#8217; is: Arabic (Algeria)&#8217;</li>
<li>&#8216;ar_EG&#8217; is: Arabic (Egypt)&#8217;</li>
<li>&#8216;ar_IQ&#8217; is: Arabic (Iraq)&#8217;</li>
<li>&#8216;ar_JO&#8217; is: Arabic (Jordan)&#8217;</li>
<li>&#8216;ar_KW&#8217; is: Arabic (Kuwait)&#8217;</li>
<li>&#8216;ar_LB&#8217; is: Arabic (Lebanon)&#8217;</li>
<li>&#8216;ar_LY&#8217; is: Arabic (Libya)&#8217;</li>
<li>&#8216;ar_MA&#8217; is: Arabic (Morocco)&#8217;</li>
<li>&#8216;ar_OM&#8217; is: Arabic (Oman)&#8217;</li>
<li>&#8216;ar_QA&#8217; is: Arabic (Qatar)&#8217;</li>
<li>&#8216;ar_SA&#8217; is: Arabic (Saudi Arabia)&#8217;</li>
<li>&#8216;ar_SD&#8217; is: Arabic (Sudan)&#8217;</li>
<li>&#8216;ar_SY&#8217; is: Arabic (Syria)&#8217;</li>
<li>&#8216;ar_TN&#8217; is: Arabic (Tunisia)&#8217;</li>
<li>&#8216;ar_YE&#8217; is: Arabic (Yemen)&#8217;</li>
<li>&#8216;as&#8217; is: Assamese&#8217;</li>
<li>&#8216;as_IN&#8217; is: Assamese (India)&#8217;</li>
<li>&#8216;asa&#8217; is: Asu&#8217;</li>
<li>&#8216;asa_TZ&#8217; is: Asu (Tanzania)&#8217;</li>
<li>&#8216;az&#8217; is: Azerbaijani&#8217;</li>
<li>&#8216;az_Cyrl&#8217; is: Azerbaijani (Cyrillic)&#8217;</li>
<li>&#8216;az_Cyrl_AZ&#8217; is: Azerbaijani (Cyrillic, Azerbaijan)&#8217;</li>
<li>&#8216;az_Latn&#8217; is: Azerbaijani (Latin)&#8217;</li>
<li>&#8216;az_Latn_AZ&#8217; is: Azerbaijani (Latin, Azerbaijan)&#8217;</li>
<li>&#8216;bas&#8217; is: Basaa&#8217;</li>
<li>&#8216;bas_CM&#8217; is: Basaa (Cameroon)&#8217;</li>
<li>&#8216;be&#8217; is: Belarusian&#8217;</li>
<li>&#8216;be_BY&#8217; is: Belarusian (Belarus)&#8217;</li>
<li>&#8216;bem&#8217; is: Bemba&#8217;</li>
<li>&#8216;bem_ZM&#8217; is: Bemba (Zambia)&#8217;</li>
<li>&#8216;bez&#8217; is: Bena&#8217;</li>
<li>&#8216;bez_TZ&#8217; is: Bena (Tanzania)&#8217;</li>
<li>&#8216;bg&#8217; is: Bulgarian&#8217;</li>
<li>&#8216;bg_BG&#8217; is: Bulgarian (Bulgaria)&#8217;</li>
<li>&#8216;bm&#8217; is: Bambara&#8217;</li>
<li>&#8216;bm_ML&#8217; is: Bambara (Mali)&#8217;</li>
<li>&#8216;bn&#8217; is: Bengali&#8217;</li>
<li>&#8216;bn_BD&#8217; is: Bengali (Bangladesh)&#8217;</li>
<li>&#8216;bn_IN&#8217; is: Bengali (India)&#8217;</li>
<li>&#8216;bo&#8217; is: Tibetan&#8217;</li>
<li>&#8216;bo_CN&#8217; is: Tibetan (China)&#8217;</li>
<li>&#8216;bo_IN&#8217; is: Tibetan (India)&#8217;</li>
<li>&#8216;br&#8217; is: Breton&#8217;</li>
<li>&#8216;br_FR&#8217; is: Breton (France)&#8217;</li>
<li>&#8216;brx&#8217; is: Bodo&#8217;</li>
<li>&#8216;brx_IN&#8217; is: Bodo (India)&#8217;</li>
<li>&#8216;bs&#8217; is: Bosnian&#8217;</li>
<li>&#8216;bs_BA&#8217; is: Bosnian (Bosnia and Herzegovina)&#8217;</li>
<li>&#8216;ca&#8217; is: Catalan&#8217;</li>
<li>&#8216;ca_ES&#8217; is: Catalan (Spain)&#8217;</li>
<li>&#8216;cgg&#8217; is: Chiga&#8217;</li>
<li>&#8216;cgg_UG&#8217; is: Chiga (Uganda)&#8217;</li>
<li>&#8216;chr&#8217; is: Cherokee&#8217;</li>
<li>&#8216;chr_US&#8217; is: Cherokee (United States)&#8217;</li>
<li>&#8216;cs&#8217; is: Czech&#8217;</li>
<li>&#8216;cs_CZ&#8217; is: Czech (Czech Republic)&#8217;</li>
<li>&#8216;cy&#8217; is: Welsh&#8217;</li>
<li>&#8216;cy_GB&#8217; is: Welsh (United Kingdom)&#8217;</li>
<li>&#8216;da&#8217; is: Danish&#8217;</li>
<li>&#8216;da_DK&#8217; is: Danish (Denmark)&#8217;</li>
<li>&#8216;dav&#8217; is: Taita&#8217;</li>
<li>&#8216;dav_KE&#8217; is: Taita (Kenya)&#8217;</li>
<li>&#8216;de&#8217; is: German&#8217;</li>
<li>&#8216;de_AT&#8217; is: German (Austria)&#8217;</li>
<li>&#8216;de_BE&#8217; is: German (Belgium)&#8217;</li>
<li>&#8216;de_CH&#8217; is: German (Switzerland)&#8217;</li>
<li>&#8216;de_DE&#8217; is: German (Germany)&#8217;</li>
<li>&#8216;de_LI&#8217; is: German (Liechtenstein)&#8217;</li>
<li>&#8216;de_LU&#8217; is: German (Luxembourg)&#8217;</li>
<li>&#8216;dje&#8217; is: Zarma&#8217;</li>
<li>&#8216;dje_NE&#8217; is: Zarma (Niger)&#8217;</li>
<li>&#8216;dua&#8217; is: Duala&#8217;</li>
<li>&#8216;dua_CM&#8217; is: Duala (Cameroon)&#8217;</li>
<li>&#8216;dyo&#8217; is: Jola-Fonyi&#8217;</li>
<li>&#8216;dyo_SN&#8217; is: Jola-Fonyi (Senegal)&#8217;</li>
<li>&#8216;ebu&#8217; is: Embu&#8217;</li>
<li>&#8216;ebu_KE&#8217; is: Embu (Kenya)&#8217;</li>
<li>&#8216;ee&#8217; is: Ewe&#8217;</li>
<li>&#8216;ee_GH&#8217; is: Ewe (Ghana)&#8217;</li>
<li>&#8216;ee_TG&#8217; is: Ewe (Togo)&#8217;</li>
<li>&#8216;el&#8217; is: Greek&#8217;</li>
<li>&#8216;el_CY&#8217; is: Greek (Cyprus)&#8217;</li>
<li>&#8216;el_GR&#8217; is: Greek (Greece)&#8217;</li>
<li>&#8216;en&#8217; is: English&#8217;</li>
<li>&#8216;en_AS&#8217; is: English (American Samoa)&#8217;</li>
<li>&#8216;en_AU&#8217; is: English (Australia)&#8217;</li>
<li>&#8216;en_BB&#8217; is: English (Barbados)&#8217;</li>
<li>&#8216;en_BE&#8217; is: English (Belgium)&#8217;</li>
<li>&#8216;en_BM&#8217; is: English (Bermuda)&#8217;</li>
<li>&#8216;en_BW&#8217; is: English (Botswana)&#8217;</li>
<li>&#8216;en_BZ&#8217; is: English (Belize)&#8217;</li>
<li>&#8216;en_CA&#8217; is: English (Canada)&#8217;</li>
<li>&#8216;en_GB&#8217; is: English (United Kingdom)&#8217;</li>
<li>&#8216;en_GU&#8217; is: English (Guam)&#8217;</li>
<li>&#8216;en_GY&#8217; is: English (Guyana)&#8217;</li>
<li>&#8216;en_HK&#8217; is: English (Hong Kong SAR China)&#8217;</li>
<li>&#8216;en_IE&#8217; is: English (Ireland)&#8217;</li>
<li>&#8216;en_IN&#8217; is: English (India)&#8217;</li>
<li>&#8216;en_JM&#8217; is: English (Jamaica)&#8217;</li>
<li>&#8216;en_MH&#8217; is: English (Marshall Islands)&#8217;</li>
<li>&#8216;en_MP&#8217; is: English (Northern Mariana Islands)&#8217;</li>
<li>&#8216;en_MT&#8217; is: English (Malta)&#8217;</li>
<li>&#8216;en_MU&#8217; is: English (Mauritius)&#8217;</li>
<li>&#8216;en_NA&#8217; is: English (Namibia)&#8217;</li>
<li>&#8216;en_NZ&#8217; is: English (New Zealand)&#8217;</li>
<li>&#8216;en_PH&#8217; is: English (Philippines)&#8217;</li>
<li>&#8216;en_PK&#8217; is: English (Pakistan)&#8217;</li>
<li>&#8216;en_SG&#8217; is: English (Singapore)&#8217;</li>
<li>&#8216;en_TT&#8217; is: English (Trinidad and Tobago)&#8217;</li>
<li>&#8216;en_UM&#8217; is: English (U.S. Minor Outlying Islands)&#8217;</li>
<li>&#8216;en_US&#8217; is: English (United States)&#8217;</li>
<li>&#8216;en_US_POSIX&#8217; is: English (United States, Computer)&#8217;</li>
<li>&#8216;en_VI&#8217; is: English (U.S. Virgin Islands)&#8217;</li>
<li>&#8216;en_ZA&#8217; is: English (South Africa)&#8217;</li>
<li>&#8216;en_ZW&#8217; is: English (Zimbabwe)&#8217;</li>
<li>&#8216;eo&#8217; is: Esperanto&#8217;</li>
<li>&#8216;es&#8217; is: Spanish&#8217;</li>
<li>&#8216;es_419&#8242; is: Spanish (Latin America)&#8217;</li>
<li>&#8216;es_AR&#8217; is: Spanish (Argentina)&#8217;</li>
<li>&#8216;es_BO&#8217; is: Spanish (Bolivia)&#8217;</li>
<li>&#8216;es_CL&#8217; is: Spanish (Chile)&#8217;</li>
<li>&#8216;es_CO&#8217; is: Spanish (Colombia)&#8217;</li>
<li>&#8216;es_CR&#8217; is: Spanish (Costa Rica)&#8217;</li>
<li>&#8216;es_DO&#8217; is: Spanish (Dominican Republic)&#8217;</li>
<li>&#8216;es_EC&#8217; is: Spanish (Ecuador)&#8217;</li>
<li>&#8216;es_ES&#8217; is: Spanish (Spain)&#8217;</li>
<li>&#8216;es_GQ&#8217; is: Spanish (Equatorial Guinea)&#8217;</li>
<li>&#8216;es_GT&#8217; is: Spanish (Guatemala)&#8217;</li>
<li>&#8216;es_HN&#8217; is: Spanish (Honduras)&#8217;</li>
<li>&#8216;es_MX&#8217; is: Spanish (Mexico)&#8217;</li>
<li>&#8216;es_NI&#8217; is: Spanish (Nicaragua)&#8217;</li>
<li>&#8216;es_PA&#8217; is: Spanish (Panama)&#8217;</li>
<li>&#8216;es_PE&#8217; is: Spanish (Peru)&#8217;</li>
<li>&#8216;es_PR&#8217; is: Spanish (Puerto Rico)&#8217;</li>
<li>&#8216;es_PY&#8217; is: Spanish (Paraguay)&#8217;</li>
<li>&#8216;es_SV&#8217; is: Spanish (El Salvador)&#8217;</li>
<li>&#8216;es_US&#8217; is: Spanish (United States)&#8217;</li>
<li>&#8216;es_UY&#8217; is: Spanish (Uruguay)&#8217;</li>
<li>&#8216;es_VE&#8217; is: Spanish (Venezuela)&#8217;</li>
<li>&#8216;et&#8217; is: Estonian&#8217;</li>
<li>&#8216;et_EE&#8217; is: Estonian (Estonia)&#8217;</li>
<li>&#8216;eu&#8217; is: Basque&#8217;</li>
<li>&#8216;eu_ES&#8217; is: Basque (Spain)&#8217;</li>
<li>&#8216;ewo&#8217; is: Ewondo&#8217;</li>
<li>&#8216;ewo_CM&#8217; is: Ewondo (Cameroon)&#8217;</li>
<li>&#8216;fa&#8217; is: Persian&#8217;</li>
<li>&#8216;fa_AF&#8217; is: Persian (Afghanistan)&#8217;</li>
<li>&#8216;fa_IR&#8217; is: Persian (Iran)&#8217;</li>
<li>&#8216;ff&#8217; is: Fulah&#8217;</li>
<li>&#8216;ff_SN&#8217; is: Fulah (Senegal)&#8217;</li>
<li>&#8216;fi&#8217; is: Finnish&#8217;</li>
<li>&#8216;fi_FI&#8217; is: Finnish (Finland)&#8217;</li>
<li>&#8216;fil&#8217; is: Filipino&#8217;</li>
<li>&#8216;fil_PH&#8217; is: Filipino (Philippines)&#8217;</li>
<li>&#8216;fo&#8217; is: Faroese&#8217;</li>
<li>&#8216;fo_FO&#8217; is: Faroese (Faroe Islands)&#8217;</li>
<li>&#8216;fr&#8217; is: French&#8217;</li>
<li>&#8216;fr_BE&#8217; is: French (Belgium)&#8217;</li>
<li>&#8216;fr_BF&#8217; is: French (Burkina Faso)&#8217;</li>
<li>&#8216;fr_BI&#8217; is: French (Burundi)&#8217;</li>
<li>&#8216;fr_BJ&#8217; is: French (Benin)&#8217;</li>
<li>&#8216;fr_BL&#8217; is: French (Saint Barthélemy)&#8217;</li>
<li>&#8216;fr_CA&#8217; is: French (Canada)&#8217;</li>
<li>&#8216;fr_CD&#8217; is: French (Congo &#8211; Kinshasa)&#8217;</li>
<li>&#8216;fr_CF&#8217; is: French (Central African Republic)&#8217;</li>
<li>&#8216;fr_CG&#8217; is: French (Congo &#8211; Brazzaville)&#8217;</li>
<li>&#8216;fr_CH&#8217; is: French (Switzerland)&#8217;</li>
<li>&#8216;fr_CI&#8217; is: French (Côte d’Ivoire)&#8217;</li>
<li>&#8216;fr_CM&#8217; is: French (Cameroon)&#8217;</li>
<li>&#8216;fr_DJ&#8217; is: French (Djibouti)&#8217;</li>
<li>&#8216;fr_FR&#8217; is: French (France)&#8217;</li>
<li>&#8216;fr_GA&#8217; is: French (Gabon)&#8217;</li>
<li>&#8216;fr_GF&#8217; is: French (French Guiana)&#8217;</li>
<li>&#8216;fr_GN&#8217; is: French (Guinea)&#8217;</li>
<li>&#8216;fr_GP&#8217; is: French (Guadeloupe)&#8217;</li>
<li>&#8216;fr_GQ&#8217; is: French (Equatorial Guinea)&#8217;</li>
<li>&#8216;fr_KM&#8217; is: French (Comoros)&#8217;</li>
<li>&#8216;fr_LU&#8217; is: French (Luxembourg)&#8217;</li>
<li>&#8216;fr_MC&#8217; is: French (Monaco)&#8217;</li>
<li>&#8216;fr_MF&#8217; is: French (Saint Martin)&#8217;</li>
<li>&#8216;fr_MG&#8217; is: French (Madagascar)&#8217;</li>
<li>&#8216;fr_ML&#8217; is: French (Mali)&#8217;</li>
<li>&#8216;fr_MQ&#8217; is: French (Martinique)&#8217;</li>
<li>&#8216;fr_NE&#8217; is: French (Niger)&#8217;</li>
<li>&#8216;fr_RE&#8217; is: French (Réunion)&#8217;</li>
<li>&#8216;fr_RW&#8217; is: French (Rwanda)&#8217;</li>
<li>&#8216;fr_SN&#8217; is: French (Senegal)&#8217;</li>
<li>&#8216;fr_TD&#8217; is: French (Chad)&#8217;</li>
<li>&#8216;fr_TG&#8217; is: French (Togo)&#8217;</li>
<li>&#8216;fr_YT&#8217; is: French (Mayotte)&#8217;</li>
<li>&#8216;ga&#8217; is: Irish&#8217;</li>
<li>&#8216;ga_IE&#8217; is: Irish (Ireland)&#8217;</li>
<li>&#8216;gl&#8217; is: Galician&#8217;</li>
<li>&#8216;gl_ES&#8217; is: Galician (Spain)&#8217;</li>
<li>&#8216;gsw&#8217; is: Swiss German&#8217;</li>
<li>&#8216;gsw_CH&#8217; is: Swiss German (Switzerland)&#8217;</li>
<li>&#8216;gu&#8217; is: Gujarati&#8217;</li>
<li>&#8216;gu_IN&#8217; is: Gujarati (India)&#8217;</li>
<li>&#8216;guz&#8217; is: Gusii&#8217;</li>
<li>&#8216;guz_KE&#8217; is: Gusii (Kenya)&#8217;</li>
<li>&#8216;gv&#8217; is: Manx&#8217;</li>
<li>&#8216;gv_GB&#8217; is: Manx (United Kingdom)&#8217;</li>
<li>&#8216;ha&#8217; is: Hausa&#8217;</li>
<li>&#8216;ha_Latn&#8217; is: Hausa (Latin)&#8217;</li>
<li>&#8216;ha_Latn_GH&#8217; is: Hausa (Latin, Ghana)&#8217;</li>
<li>&#8216;ha_Latn_NE&#8217; is: Hausa (Latin, Niger)&#8217;</li>
<li>&#8216;ha_Latn_NG&#8217; is: Hausa (Latin, Nigeria)&#8217;</li>
<li>&#8216;haw&#8217; is: Hawaiian&#8217;</li>
<li>&#8216;haw_US&#8217; is: Hawaiian (United States)&#8217;</li>
<li>&#8216;he&#8217; is: Hebrew&#8217;</li>
<li>&#8216;he_IL&#8217; is: Hebrew (Israel)&#8217;</li>
<li>&#8216;hi&#8217; is: Hindi&#8217;</li>
<li>&#8216;hi_IN&#8217; is: Hindi (India)&#8217;</li>
<li>&#8216;hr&#8217; is: Croatian&#8217;</li>
<li>&#8216;hr_HR&#8217; is: Croatian (Croatia)&#8217;</li>
<li>&#8216;hu&#8217; is: Hungarian&#8217;</li>
<li>&#8216;hu_HU&#8217; is: Hungarian (Hungary)&#8217;</li>
<li>&#8216;hy&#8217; is: Armenian&#8217;</li>
<li>&#8216;hy_AM&#8217; is: Armenian (Armenia)&#8217;</li>
<li>&#8216;id&#8217; is: Indonesian&#8217;</li>
<li>&#8216;id_ID&#8217; is: Indonesian (Indonesia)&#8217;</li>
<li>&#8216;ig&#8217; is: Igbo&#8217;</li>
<li>&#8216;ig_NG&#8217; is: Igbo (Nigeria)&#8217;</li>
<li>&#8216;ii&#8217; is: Sichuan Yi&#8217;</li>
<li>&#8216;ii_CN&#8217; is: Sichuan Yi (China)&#8217;</li>
<li>&#8216;is&#8217; is: Icelandic&#8217;</li>
<li>&#8216;is_IS&#8217; is: Icelandic (Iceland)&#8217;</li>
<li>&#8216;it&#8217; is: Italian&#8217;</li>
<li>&#8216;it_CH&#8217; is: Italian (Switzerland)&#8217;</li>
<li>&#8216;it_IT&#8217; is: Italian (Italy)&#8217;</li>
<li>&#8216;ja&#8217; is: Japanese&#8217;</li>
<li>&#8216;ja_JP&#8217; is: Japanese (Japan)&#8217;</li>
<li>&#8216;jmc&#8217; is: Machame&#8217;</li>
<li>&#8216;jmc_TZ&#8217; is: Machame (Tanzania)&#8217;</li>
<li>&#8216;ka&#8217; is: Georgian&#8217;</li>
<li>&#8216;ka_GE&#8217; is: Georgian (Georgia)&#8217;</li>
<li>&#8216;kab&#8217; is: Kabyle&#8217;</li>
<li>&#8216;kab_DZ&#8217; is: Kabyle (Algeria)&#8217;</li>
<li>&#8216;kam&#8217; is: Kamba&#8217;</li>
<li>&#8216;kam_KE&#8217; is: Kamba (Kenya)&#8217;</li>
<li>&#8216;kde&#8217; is: Makonde&#8217;</li>
<li>&#8216;kde_TZ&#8217; is: Makonde (Tanzania)&#8217;</li>
<li>&#8216;kea&#8217; is: Kabuverdianu&#8217;</li>
<li>&#8216;kea_CV&#8217; is: Kabuverdianu (Cape Verde)&#8217;</li>
<li>&#8216;khq&#8217; is: Koyra Chiini&#8217;</li>
<li>&#8216;khq_ML&#8217; is: Koyra Chiini (Mali)&#8217;</li>
<li>&#8216;ki&#8217; is: Kikuyu&#8217;</li>
<li>&#8216;ki_KE&#8217; is: Kikuyu (Kenya)&#8217;</li>
<li>&#8216;kk&#8217; is: Kazakh&#8217;</li>
<li>&#8216;kk_Cyrl&#8217; is: Kazakh (Cyrillic)&#8217;</li>
<li>&#8216;kk_Cyrl_KZ&#8217; is: Kazakh (Cyrillic, Kazakhstan)&#8217;</li>
<li>&#8216;kl&#8217; is: Kalaallisut&#8217;</li>
<li>&#8216;kl_GL&#8217; is: Kalaallisut (Greenland)&#8217;</li>
<li>&#8216;kln&#8217; is: Kalenjin&#8217;</li>
<li>&#8216;kln_KE&#8217; is: Kalenjin (Kenya)&#8217;</li>
<li>&#8216;km&#8217; is: Khmer&#8217;</li>
<li>&#8216;km_KH&#8217; is: Khmer (Cambodia)&#8217;</li>
<li>&#8216;kn&#8217; is: Kannada&#8217;</li>
<li>&#8216;kn_IN&#8217; is: Kannada (India)&#8217;</li>
<li>&#8216;ko&#8217; is: Korean&#8217;</li>
<li>&#8216;ko_KR&#8217; is: Korean (South Korea)&#8217;</li>
<li>&#8216;kok&#8217; is: Konkani&#8217;</li>
<li>&#8216;kok_IN&#8217; is: Konkani (India)&#8217;</li>
<li>&#8216;ksb&#8217; is: Shambala&#8217;</li>
<li>&#8216;ksb_TZ&#8217; is: Shambala (Tanzania)&#8217;</li>
<li>&#8216;ksf&#8217; is: Bafia&#8217;</li>
<li>&#8216;ksf_CM&#8217; is: Bafia (Cameroon)&#8217;</li>
<li>&#8216;kw&#8217; is: Cornish&#8217;</li>
<li>&#8216;kw_GB&#8217; is: Cornish (United Kingdom)&#8217;</li>
<li>&#8216;lag&#8217; is: Langi&#8217;</li>
<li>&#8216;lag_TZ&#8217; is: Langi (Tanzania)&#8217;</li>
<li>&#8216;lg&#8217; is: Ganda&#8217;</li>
<li>&#8216;lg_UG&#8217; is: Ganda (Uganda)&#8217;</li>
<li>&#8216;ln&#8217; is: Lingala&#8217;</li>
<li>&#8216;ln_CD&#8217; is: Lingala (Congo &#8211; Kinshasa)&#8217;</li>
<li>&#8216;ln_CG&#8217; is: Lingala (Congo &#8211; Brazzaville)&#8217;</li>
<li>&#8216;lt&#8217; is: Lithuanian&#8217;</li>
<li>&#8216;lt_LT&#8217; is: Lithuanian (Lithuania)&#8217;</li>
<li>&#8216;lu&#8217; is: Luba-Katanga&#8217;</li>
<li>&#8216;lu_CD&#8217; is: Luba-Katanga (Congo &#8211; Kinshasa)&#8217;</li>
<li>&#8216;luo&#8217; is: Luo&#8217;</li>
<li>&#8216;luo_KE&#8217; is: Luo (Kenya)&#8217;</li>
<li>&#8216;luy&#8217; is: Luyia&#8217;</li>
<li>&#8216;luy_KE&#8217; is: Luyia (Kenya)&#8217;</li>
<li>&#8216;lv&#8217; is: Latvian&#8217;</li>
<li>&#8216;lv_LV&#8217; is: Latvian (Latvia)&#8217;</li>
<li>&#8216;mas&#8217; is: Masai&#8217;</li>
<li>&#8216;mas_KE&#8217; is: Masai (Kenya)&#8217;</li>
<li>&#8216;mas_TZ&#8217; is: Masai (Tanzania)&#8217;</li>
<li>&#8216;mer&#8217; is: Meru&#8217;</li>
<li>&#8216;mer_KE&#8217; is: Meru (Kenya)&#8217;</li>
<li>&#8216;mfe&#8217; is: Morisyen&#8217;</li>
<li>&#8216;mfe_MU&#8217; is: Morisyen (Mauritius)&#8217;</li>
<li>&#8216;mg&#8217; is: Malagasy&#8217;</li>
<li>&#8216;mg_MG&#8217; is: Malagasy (Madagascar)&#8217;</li>
<li>&#8216;mgh&#8217; is: Makhuwa-Meetto&#8217;</li>
<li>&#8216;mgh_MZ&#8217; is: Makhuwa-Meetto (Mozambique)&#8217;</li>
<li>&#8216;mk&#8217; is: Macedonian&#8217;</li>
<li>&#8216;mk_MK&#8217; is: Macedonian (Macedonia)&#8217;</li>
<li>&#8216;ml&#8217; is: Malayalam&#8217;</li>
<li>&#8216;ml_IN&#8217; is: Malayalam (India)&#8217;</li>
<li>&#8216;mr&#8217; is: Marathi&#8217;</li>
<li>&#8216;mr_IN&#8217; is: Marathi (India)&#8217;</li>
<li>&#8216;ms&#8217; is: Malay&#8217;</li>
<li>&#8216;ms_BN&#8217; is: Malay (Brunei)&#8217;</li>
<li>&#8216;ms_MY&#8217; is: Malay (Malaysia)&#8217;</li>
<li>&#8216;mt&#8217; is: Maltese&#8217;</li>
<li>&#8216;mt_MT&#8217; is: Maltese (Malta)&#8217;</li>
<li>&#8216;mua&#8217; is: Mundang&#8217;</li>
<li>&#8216;mua_CM&#8217; is: Mundang (Cameroon)&#8217;</li>
<li>&#8216;my&#8217; is: Burmese&#8217;</li>
<li>&#8216;my_MM&#8217; is: Burmese (Myanmar [Burma])&#8217;</li>
<li>&#8216;naq&#8217; is: Nama&#8217;</li>
<li>&#8216;naq_NA&#8217; is: Nama (Namibia)&#8217;</li>
<li>&#8216;nb&#8217; is: Norwegian Bokmål&#8217;</li>
<li>&#8216;nb_NO&#8217; is: Norwegian Bokmål (Norway)&#8217;</li>
<li>&#8216;nd&#8217; is: North Ndebele&#8217;</li>
<li>&#8216;nd_ZW&#8217; is: North Ndebele (Zimbabwe)&#8217;</li>
<li>&#8216;ne&#8217; is: Nepali&#8217;</li>
<li>&#8216;ne_IN&#8217; is: Nepali (India)&#8217;</li>
<li>&#8216;ne_NP&#8217; is: Nepali (Nepal)&#8217;</li>
<li>&#8216;nl&#8217; is: Dutch&#8217;</li>
<li>&#8216;nl_AW&#8217; is: Dutch (Aruba)&#8217;</li>
<li>&#8216;nl_BE&#8217; is: Dutch (Belgium)&#8217;</li>
<li>&#8216;nl_NL&#8217; is: Dutch (Netherlands)&#8217;</li>
<li>&#8216;nmg&#8217; is: Kwasio&#8217;</li>
<li>&#8216;nmg_CM&#8217; is: Kwasio (Cameroon)&#8217;</li>
<li>&#8216;nn&#8217; is: Norwegian Nynorsk&#8217;</li>
<li>&#8216;nn_NO&#8217; is: Norwegian Nynorsk (Norway)&#8217;</li>
<li>&#8216;nus&#8217; is: Nuer&#8217;</li>
<li>&#8216;nus_SD&#8217; is: Nuer (Sudan)&#8217;</li>
<li>&#8216;nyn&#8217; is: Nyankole&#8217;</li>
<li>&#8216;nyn_UG&#8217; is: Nyankole (Uganda)&#8217;</li>
<li>&#8216;om&#8217; is: Oromo&#8217;</li>
<li>&#8216;om_ET&#8217; is: Oromo (Ethiopia)&#8217;</li>
<li>&#8216;om_KE&#8217; is: Oromo (Kenya)&#8217;</li>
<li>&#8216;or&#8217; is: Oriya&#8217;</li>
<li>&#8216;or_IN&#8217; is: Oriya (India)&#8217;</li>
<li>&#8216;pa&#8217; is: Punjabi&#8217;</li>
<li>&#8216;pa_Arab&#8217; is: Punjabi (Arabic)&#8217;</li>
<li>&#8216;pa_Arab_PK&#8217; is: Punjabi (Arabic, Pakistan)&#8217;</li>
<li>&#8216;pa_Guru&#8217; is: Punjabi (Gurmukhi)&#8217;</li>
<li>&#8216;pa_Guru_IN&#8217; is: Punjabi (Gurmukhi, India)&#8217;</li>
<li>&#8216;pl&#8217; is: Polish&#8217;</li>
<li>&#8216;pl_PL&#8217; is: Polish (Poland)&#8217;</li>
<li>&#8216;ps&#8217; is: Pashto&#8217;</li>
<li>&#8216;ps_AF&#8217; is: Pashto (Afghanistan)&#8217;</li>
<li>&#8216;pt&#8217; is: Portuguese&#8217;</li>
<li>&#8216;pt_AO&#8217; is: Portuguese (Angola)&#8217;</li>
<li>&#8216;pt_BR&#8217; is: Portuguese (Brazil)&#8217;</li>
<li>&#8216;pt_GW&#8217; is: Portuguese (Guinea-Bissau)&#8217;</li>
<li>&#8216;pt_MZ&#8217; is: Portuguese (Mozambique)&#8217;</li>
<li>&#8216;pt_PT&#8217; is: Portuguese (Portugal)&#8217;</li>
<li>&#8216;pt_ST&#8217; is: Portuguese (São Tomé and Príncipe)&#8217;</li>
<li>&#8216;rm&#8217; is: Romansh&#8217;</li>
<li>&#8216;rm_CH&#8217; is: Romansh (Switzerland)&#8217;</li>
<li>&#8216;rn&#8217; is: Rundi&#8217;</li>
<li>&#8216;rn_BI&#8217; is: Rundi (Burundi)&#8217;</li>
<li>&#8216;ro&#8217; is: Romanian&#8217;</li>
<li>&#8216;ro_MD&#8217; is: Romanian (Moldova)&#8217;</li>
<li>&#8216;ro_RO&#8217; is: Romanian (Romania)&#8217;</li>
<li>&#8216;rof&#8217; is: Rombo&#8217;</li>
<li>&#8216;rof_TZ&#8217; is: Rombo (Tanzania)&#8217;</li>
<li>&#8216;ru&#8217; is: Russian&#8217;</li>
<li>&#8216;ru_MD&#8217; is: Russian (Moldova)&#8217;</li>
<li>&#8216;ru_RU&#8217; is: Russian (Russia)&#8217;</li>
<li>&#8216;ru_UA&#8217; is: Russian (Ukraine)&#8217;</li>
<li>&#8216;rw&#8217; is: Kinyarwanda&#8217;</li>
<li>&#8216;rw_RW&#8217; is: Kinyarwanda (Rwanda)&#8217;</li>
<li>&#8216;rwk&#8217; is: Rwa&#8217;</li>
<li>&#8216;rwk_TZ&#8217; is: Rwa (Tanzania)&#8217;</li>
<li>&#8216;saq&#8217; is: Samburu&#8217;</li>
<li>&#8216;saq_KE&#8217; is: Samburu (Kenya)&#8217;</li>
<li>&#8216;sbp&#8217; is: Sangu&#8217;</li>
<li>&#8216;sbp_TZ&#8217; is: Sangu (Tanzania)&#8217;</li>
<li>&#8216;seh&#8217; is: Sena&#8217;</li>
<li>&#8216;seh_MZ&#8217; is: Sena (Mozambique)&#8217;</li>
<li>&#8216;ses&#8217; is: Koyraboro Senni&#8217;</li>
<li>&#8216;ses_ML&#8217; is: Koyraboro Senni (Mali)&#8217;</li>
<li>&#8216;sg&#8217; is: Sango&#8217;</li>
<li>&#8216;sg_CF&#8217; is: Sango (Central African Republic)&#8217;</li>
<li>&#8216;shi&#8217; is: Tachelhit&#8217;</li>
<li>&#8216;shi_Latn&#8217; is: Tachelhit (Latin)&#8217;</li>
<li>&#8216;shi_Latn_MA&#8217; is: Tachelhit (Latin, Morocco)&#8217;</li>
<li>&#8216;shi_Tfng&#8217; is: Tachelhit (Tifinagh)&#8217;</li>
<li>&#8216;shi_Tfng_MA&#8217; is: Tachelhit (Tifinagh, Morocco)&#8217;</li>
<li>&#8216;si&#8217; is: Sinhala&#8217;</li>
<li>&#8216;si_LK&#8217; is: Sinhala (Sri Lanka)&#8217;</li>
<li>&#8216;sk&#8217; is: Slovak&#8217;</li>
<li>&#8216;sk_SK&#8217; is: Slovak (Slovakia)&#8217;</li>
<li>&#8216;sl&#8217; is: Slovenian&#8217;</li>
<li>&#8216;sl_SI&#8217; is: Slovenian (Slovenia)&#8217;</li>
<li>&#8216;sn&#8217; is: Shona&#8217;</li>
<li>&#8216;sn_ZW&#8217; is: Shona (Zimbabwe)&#8217;</li>
<li>&#8216;so&#8217; is: Somali&#8217;</li>
<li>&#8216;so_DJ&#8217; is: Somali (Djibouti)&#8217;</li>
<li>&#8216;so_ET&#8217; is: Somali (Ethiopia)&#8217;</li>
<li>&#8216;so_KE&#8217; is: Somali (Kenya)&#8217;</li>
<li>&#8216;so_SO&#8217; is: Somali (Somalia)&#8217;</li>
<li>&#8216;sq&#8217; is: Albanian&#8217;</li>
<li>&#8216;sq_AL&#8217; is: Albanian (Albania)&#8217;</li>
<li>&#8216;sr&#8217; is: Serbian&#8217;</li>
<li>&#8216;sr_Cyrl&#8217; is: Serbian (Cyrillic)&#8217;</li>
<li>&#8216;sr_Cyrl_BA&#8217; is: Serbian (Cyrillic, Bosnia and Herzegovina)&#8217;</li>
<li>&#8216;sr_Cyrl_ME&#8217; is: Serbian (Cyrillic, Montenegro)&#8217;</li>
<li>&#8216;sr_Cyrl_RS&#8217; is: Serbian (Cyrillic, Serbia)&#8217;</li>
<li>&#8216;sr_Latn&#8217; is: Serbian (Latin)&#8217;</li>
<li>&#8216;sr_Latn_BA&#8217; is: Serbian (Latin, Bosnia and Herzegovina)&#8217;</li>
<li>&#8216;sr_Latn_ME&#8217; is: Serbian (Latin, Montenegro)&#8217;</li>
<li>&#8216;sr_Latn_RS&#8217; is: Serbian (Latin, Serbia)&#8217;</li>
<li>&#8216;sv&#8217; is: Swedish&#8217;</li>
<li>&#8216;sv_FI&#8217; is: Swedish (Finland)&#8217;</li>
<li>&#8216;sv_SE&#8217; is: Swedish (Sweden)&#8217;</li>
<li>&#8216;sw&#8217; is: Swahili&#8217;</li>
<li>&#8216;sw_KE&#8217; is: Swahili (Kenya)&#8217;</li>
<li>&#8216;sw_TZ&#8217; is: Swahili (Tanzania)&#8217;</li>
<li>&#8216;swc&#8217; is: Congo Swahili&#8217;</li>
<li>&#8216;swc_CD&#8217; is: Congo Swahili (Congo &#8211; Kinshasa)&#8217;</li>
<li>&#8216;ta&#8217; is: Tamil&#8217;</li>
<li>&#8216;ta_IN&#8217; is: Tamil (India)&#8217;</li>
<li>&#8216;ta_LK&#8217; is: Tamil (Sri Lanka)&#8217;</li>
<li>&#8216;te&#8217; is: Telugu&#8217;</li>
<li>&#8216;te_IN&#8217; is: Telugu (India)&#8217;</li>
<li>&#8216;teo&#8217; is: Teso&#8217;</li>
<li>&#8216;teo_KE&#8217; is: Teso (Kenya)&#8217;</li>
<li>&#8216;teo_UG&#8217; is: Teso (Uganda)&#8217;</li>
<li>&#8216;th&#8217; is: Thai&#8217;</li>
<li>&#8216;th_TH&#8217; is: Thai (Thailand)&#8217;</li>
<li>&#8216;ti&#8217; is: Tigrinya&#8217;</li>
<li>&#8216;ti_ER&#8217; is: Tigrinya (Eritrea)&#8217;</li>
<li>&#8216;ti_ET&#8217; is: Tigrinya (Ethiopia)&#8217;</li>
<li>&#8216;to&#8217; is: Tonga&#8217;</li>
<li>&#8216;to_TO&#8217; is: Tonga (Tonga)&#8217;</li>
<li>&#8216;tr&#8217; is: Turkish&#8217;</li>
<li>&#8216;tr_TR&#8217; is: Turkish (Turkey)&#8217;</li>
<li>&#8216;twq&#8217; is: Tasawaq&#8217;</li>
<li>&#8216;twq_NE&#8217; is: Tasawaq (Niger)&#8217;</li>
<li>&#8216;tzm&#8217; is: Central Morocco Tamazight&#8217;</li>
<li>&#8216;tzm_Latn&#8217; is: Central Morocco Tamazight (Latin)&#8217;</li>
<li>&#8216;tzm_Latn_MA&#8217; is: Central Morocco Tamazight (Latin, Morocco)&#8217;</li>
<li>&#8216;uk&#8217; is: Ukrainian&#8217;</li>
<li>&#8216;uk_UA&#8217; is: Ukrainian (Ukraine)&#8217;</li>
<li>&#8216;ur&#8217; is: Urdu&#8217;</li>
<li>&#8216;ur_IN&#8217; is: Urdu (India)&#8217;</li>
<li>&#8216;ur_PK&#8217; is: Urdu (Pakistan)&#8217;</li>
<li>&#8216;uz&#8217; is: Uzbek&#8217;</li>
<li>&#8216;uz_Arab&#8217; is: Uzbek (Arabic)&#8217;</li>
<li>&#8216;uz_Arab_AF&#8217; is: Uzbek (Arabic, Afghanistan)&#8217;</li>
<li>&#8216;uz_Cyrl&#8217; is: Uzbek (Cyrillic)&#8217;</li>
<li>&#8216;uz_Cyrl_UZ&#8217; is: Uzbek (Cyrillic, Uzbekistan)&#8217;</li>
<li>&#8216;uz_Latn&#8217; is: Uzbek (Latin)&#8217;</li>
<li>&#8216;uz_Latn_UZ&#8217; is: Uzbek (Latin, Uzbekistan)&#8217;</li>
<li>&#8216;vai&#8217; is: Vai&#8217;</li>
<li>&#8216;vai_Latn&#8217; is: Vai (Latin)&#8217;</li>
<li>&#8216;vai_Latn_LR&#8217; is: Vai (Latin, Liberia)&#8217;</li>
<li>&#8216;vai_Vaii&#8217; is: Vai (Vai)&#8217;</li>
<li>&#8216;vai_Vaii_LR&#8217; is: Vai (Vai, Liberia)&#8217;</li>
<li>&#8216;vi&#8217; is: Vietnamese&#8217;</li>
<li>&#8216;vi_VN&#8217; is: Vietnamese (Vietnam)&#8217;</li>
<li>&#8216;vun&#8217; is: Vunjo&#8217;</li>
<li>&#8216;vun_TZ&#8217; is: Vunjo (Tanzania)&#8217;</li>
<li>&#8216;xog&#8217; is: Soga&#8217;</li>
<li>&#8216;xog_UG&#8217; is: Soga (Uganda)&#8217;</li>
<li>&#8216;yav&#8217; is: Yangben&#8217;</li>
<li>&#8216;yav_CM&#8217; is: Yangben (Cameroon)&#8217;</li>
<li>&#8216;yo&#8217; is: Yoruba&#8217;</li>
<li>&#8216;yo_NG&#8217; is: Yoruba (Nigeria)&#8217;</li>
<li>&#8216;zh&#8217; is: Chinese&#8217;</li>
<li>&#8216;zh_Hans&#8217; is: Chinese (Simplified)&#8217;</li>
<li>&#8216;zh_Hans_CN&#8217; is: Chinese (Simplified, China)&#8217;</li>
<li>&#8216;zh_Hans_HK&#8217; is: Chinese (Simplified, Hong Kong SAR China)&#8217;</li>
<li>&#8216;zh_Hans_MO&#8217; is: Chinese (Simplified, Macau SAR China)&#8217;</li>
<li>&#8216;zh_Hans_SG&#8217; is: Chinese (Simplified, Singapore)&#8217;</li>
<li>&#8216;zh_Hant&#8217; is: Chinese (Traditional)&#8217;</li>
<li>&#8216;zh_Hant_HK&#8217; is: Chinese (Traditional, Hong Kong SAR China)&#8217;</li>
<li>&#8216;zh_Hant_MO&#8217; is: Chinese (Traditional, Macau SAR China)&#8217;</li>
<li>&#8216;zh_Hant_TW&#8217; is: Chinese (Traditional, Taiwan)&#8217;</li>
<li>&#8216;zu&#8217; is: Zulu&#8217;</li>
<li>&#8216;zu_ZA&#8217; is: Zulu (South Africa)&#8217;</li>
</ol>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/22/snippet-locale-listing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roundup: Analytics</title>
		<link>http://www.alexcurylo.com/blog/2012/01/13/roundup-analytics/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/13/roundup-analytics/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 16:13:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/13/roundup-analytics/</guid>
		<description><![CDATA[So the latest add to the Wenderlich tutorial empire is a post on adding analytics to your games,<br />
Game Analytics 101<br />
&#8230; using yet another analytics service we hadn&#8217;t heard of before but does look interesting: Playtomic!<br />
<br />
The Playtomic APIs drop right into your game and are so easy novice developers implement it without hassle. The APIs are available for Flash games using ActionScript 3 or ActionScript 2, for HTML5 games using JavaScript (like the awesome ImpactJS), for iPhone/iPod/iPad ...]]></description>
			<content:encoded><![CDATA[<p>So the latest add to <a href="http://www.raywenderlich.com/tutorials">the Wenderlich tutorial empire</a> is a post on adding analytics to your games,</p>
<p><a href="http://www.raywenderlich.com/7559/game-analytics-101">Game Analytics 101</a></p>
<p>&#8230; using yet another analytics service we hadn&#8217;t heard of before but does look interesting: <a href="http://playtomic.com/">Playtomic</a>!</p>
<blockquote>
<p>The Playtomic APIs drop right into your game and are so easy novice developers implement it without hassle. The APIs are available for Flash games using ActionScript 3 or ActionScript 2, for HTML5 games using JavaScript (like the awesome ImpactJS), for iPhone/iPod/iPad games using Objective C, and for web/mobile games built on Unity3d, Android games using Java or C# (Mono for Android), and C++ games&#8230;</p>
</blockquote>
<p>That does sound like a pretty solid choice for the multiplatform game developer, indeed. And their SDK comes as source, which is always a nice feature too.</p>
<p>This looks like a good place to do a bit of a roundup of current major contenders in that analytics space, since it&#8217;s been quite a while <a href="http://www.alexcurylo.com/blog/2009/03/29/advertising-analytics/">since our last one</a>. Quite a while indeed.</p>
<p><a href="http://www.localytics.com/app-analytics/">Localytics</a> that <a href="http://www.alexcurylo.com/blog/2011/08/27/analytics-localytics/">we mentioned recently</a> still looks like what we&#8217;d call our first choice for an iOS only app.</p>
<p><a href="http://www.flurry.com/">Flurry</a> just seems to keep on growing and adding features.</p>
<p><a href="http://www.alexcurylo.com/blog/2010/04/29/google-analytics/">Google Analytics</a> seems <a href="http://adamkaump.wordpress.com/2011/04/29/ios-analytics-platforms/">to win friends</a> here and there. And hey, it did top this list of <a href="http://www.queness.com/community-news/9896/20-best-real-time-analytic-tools">Best Real Time Analytic Tools</a>.</p>
<p><a href="http://apsalar.com/">Apsalar</a> looks like a <a href="http://www.readwriteweb.com/mobile/2011/11/apsalar-taking-a-holistic-and.php">definitely interesting contender</a>:</p>
<blockquote>
<p>The principle of re-engagement is what Apsalar is pinning its product offering on. It calls the environment it works in &#8220;mobile engagement management&#8221; (MEM) and is similar to what analytics company Flurry, likely Apsalar&#8217;s closest competitor, does with its analytics and AppCircle Re-Engagement tool. Localytics uses its data to help premium publishers push notifications to readers. <a href="http://www.alexcurylo.com/blog/2011/08/20/socialize/">Socialize</a> and <a href="http://www.readwriteweb.com/mobile/2011/10/beintoo-creates-gamificiation.php">BeInToo</a> have engagement layers based on social and gamification layers. To a certain extent, Apsalar is playing in all of these realms&#8230;</p>
</blockquote>
<p><a href="http://www.quora.com/What-is-the-best-iOS-analytics-for-iPad-games">This Quora question</a> lists some more you might want to look into.</p>
<p>And if you&#8217;re still on the &#8220;so what does this all do for me exactly?&#8221; side of things, might want to check out</p>
<p><a href="http://www.insidesocialgames.com/2011/07/20/wooga-building-a-successful-social-game-by-combining-metrics-with-emotion/">Wooga: Building a Successful Social Game by Combining Metrics With Emotion</a></p>
<p><a href="http://www.clingmarks.com/making-better-decisions-based-on-tracking-data/473">Making Better Decisions Based On Tracking Data</a></p>
<p>Any other of the plethora of analytic tools out there that you think compelling enough to merit in depth evaluation for an iOS project, Dear Reader? Or have any strikingly postive/negative experiences with any of these to report?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/13/roundup-analytics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dependency Graphing</title>
		<link>http://www.alexcurylo.com/blog/2012/01/10/dependency-graphing/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/10/dependency-graphing/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 07:59:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/10/dependency-graphing/</guid>
		<description><![CDATA[Here&#8217;s a little script to help you delight in/be horrified by your program structure:<br />
nst / objc_dep<br />
<br />
&#8230;So how do we achieve loose coupling in our own code? Well, at first, we need to get a better idea on the current coupling. Let us define class dependancy: class A depends on B iff class A imports class B header. With such a definition, we can draw a graph of dependancies between classes by considering the Objective-C #import directives in ...]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a little script to help you delight in/be horrified by your program structure:</p>
<p><a href="https://github.com/nst/objc_dep">nst / objc_dep</a></p>
<blockquote>
<p>&#8230;So how do we achieve loose coupling in our own code? Well, at first, we need to get a better idea on the current coupling. Let us define class dependancy: class A depends on B iff class A imports class B header. With such a definition, we can draw a graph of dependancies between classes by considering the Objective-C #import directives in each class. We assume here that the files are named according to the classes they contain.</p>
<p>I wrote objc_dep.py, a Python script which extracts imports from Objective-C source code. The output can then be displayed in GraphViz or OmniGraffle. You can then see an oriented graph of dependancies between classes&#8230;</p>
</blockquote>
<p></p>
<div style="text-align: center;">
  <img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/687474703a2f2f736572696f742e63682f626c6f672f706963732f6f626a635f6465702f6c617267657270726f6a6563742e706e67.png" width="480" height="213" alt="687474703a2f2f736572696f742e63682f626c6f672f706963732f6f626a635f6465702f6c617267657270726f6a6563742e706e67.png" />
</div>
<p>Just the thing to hopelessly confuse those documentation-insisting project managers!</p>
<p>h/t: <a href="https://twitter.com/#!/jomtwi/status/155373183803994112">@jomtwi</a>,<a href="https://twitter.com/#!/myell0w/status/147790529726390272">@myell0w</a>, <a href="http://maniacdev.com/2011/12/tool-objective-c-dependency-graphing-script-for-easily-improving-program-design/">maniacdev</a>!&nbsp;&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/10/dependency-graphing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CeedMath + CeedGL</title>
		<link>http://www.alexcurylo.com/blog/2012/01/09/ceedmath-ceedgl/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/09/ceedmath-ceedgl/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 07:08:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/09/ceedmath-ceedgl/</guid>
		<description><![CDATA[Here&#8217;s a couple of new libraries that look worth keeping an eye on for your hardcore computational needs:<br />
rsebbe / CeedMath<br />
<br />
CeedMath is a library for doing computer graphics math on Mac and iPhone, although it could be ported to other environment easily.<br />
CeedMath is about computation with vectors and matrices, as well as boxes, rays, quaternions, and other CG types. It was designed to be easy to use and understand, and at the same time small and efficient.<br ...]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a couple of new libraries that look worth keeping an eye on for your hardcore computational needs:</p>
<p><a href="https://github.com/rsebbe/CeedMath">rsebbe / CeedMath</a></p>
<blockquote>
<p>CeedMath is a library for doing computer graphics math on Mac and iPhone, although it could be ported to other environment easily.</p>
<p>CeedMath is about computation with vectors and matrices, as well as boxes, rays, quaternions, and other CG types. It was designed to be easy to use and understand, and at the same time small and efficient.</p>
<p>CeedMath has simple data structures and operates easily with other formats. It is implemented in C with a form of template that allows a single implementation for both float and double types. That makes it possible to use it as is in Obj-C code&#8230;</p>
</blockquote>
<p><a href="https://github.com/rsebbe/CeedGL">rsebbe / CeedGL</a></p>
<blockquote>
<p>CeedGL is a library that encapsulates OpenGL objects into Objective-C objects. It does not attempt to force a coding style or to define a specific scene graph, but instead aims at making it easier to work with OpenGL from Objective-C.</p>
<p>Modern OpenGL (ES 2.0, Desktop 3.0) defines a number of &#8220;objects&#8221;, that is, vertex buffers, textures, shaders, programs, framebuffers, etc. that are typically represented by handles (integers). CeedGL proposes to model all these and their relationships with each other as actual Objective-C objects and associated methods. This in turn makes it easier to store and manipulate GL data in your app structure.</p>
<p>CeedGL also defines the concept of &#8220;draw command&#8221; which ties together vertex buffers, textures, shaders to provide reusable drawing primitives. It also makes it easier to access uniforms and attributes in shaders&#8230;</p>
</blockquote>
<p>h/t: <a href="https://twitter.com/#!/rsebbe/status/154293393399357440">@rsebbe</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/09/ceedmath-ceedgl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autorenewable Warning</title>
		<link>http://www.alexcurylo.com/blog/2012/01/08/autorenewable-warning/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/08/autorenewable-warning/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 04:29:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/08/autorenewable-warning/</guid>
		<description><![CDATA[Good article here on the problems with using autorenewable IAP subscriptions:<br />
The limited world of auto-renewable subscriptions<br />
We&#8217;d particularly like to draw your attention to this bit, what happened after he decided to implement them:<br />
<br />
&#8230; So I sucked it up and submitted 4.0 with the auto-renewing subscription and the complex server-side code to support it.<br />
It was rejected. I was told via phone about an apparently unwritten rule that I was violating: auto-renewing subscriptions can only be used ...]]></description>
			<content:encoded><![CDATA[<p>Good article here on the problems with using autorenewable IAP subscriptions:</p>
<p><a href="http://www.marco.org/2012/01/06/autorenewable-subscription-restrictions">The limited world of auto-renewable subscriptions</a></p>
<p>We&#8217;d particularly like to draw your attention to this bit, what happened after he decided to implement them:</p>
<blockquote>
<p>&#8230; So I sucked it up and submitted 4.0 with the auto-renewing subscription and the complex server-side code to support it.</p>
<p>It was rejected. I was told via phone about an apparently unwritten rule that I was violating: auto-renewing subscriptions can only be used for apps that deliver “new content” during each renewal period, like magazines. Charging a monthly price for an ongoing service is not allowed.</p>
<p><a href="http://stackoverflow.com/questions/6184902/ios-recurring-subscription-policy-for-service-not-content">This Stack Overflow member got it in writing</a>&#8230;</p>
<p>&#8230; Reading between the lines on my rejection call, and seeing it codified more clearly here, it’s obvious that only traditional-style media publishing apps can use auto-renewable subscriptions. They were created solely for the existing newspaper and magazine industry, not web services&#8230;</p>
</blockquote>
<p>We had one of these rejections happen on one of our projects a little while ago too; &#8220;ad-free game play&#8221; crosses the unwritten line quite firmly, it seems. That one we had thought was pushing it a bit so we&#8217;d found it a mild surprise but not terribly shocking it got rejected; but if you can&#8217;t use autorenewables for something that involves ongoing server costs either, well that&#8217;s rather more of a design concern, isn&#8217;t it?</p>
<p>At the very least, if you&#8217;re planning something that&#8217;s built around autorenewing revenue, you should carefully read the above links for other people&#8217;s experiences, and make sure you have a Plan B ready if Apple in their wisdom decides you&#8217;re not playing right!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/08/autorenewable-warning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DoorwayTransition</title>
		<link>http://www.alexcurylo.com/blog/2012/01/07/doorwaytransition/</link>
		<comments>http://www.alexcurylo.com/blog/2012/01/07/doorwaytransition/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 07:55:43 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alexcurylo.com/blog/2012/01/07/doorwaytransition/</guid>
		<description><![CDATA[This is a stylish looking slide+zoom reveal transition to spice up your view navigation a bit:<br />
mkftr / DoorwayTransition<br />
<br />
<br />
  <br />
<br />
Easy to integrate too &#8211; grab the sample and check it out!<br />
h/t: iOS Developer Tips!<br />
]]></description>
			<content:encoded><![CDATA[<p>This is a stylish looking slide+zoom reveal transition to spice up your view navigation a bit:</p>
<p><a href="https://github.com/mkftr/DoorwayTransition">mkftr / DoorwayTransition</a></p>
<p></p>
<div style="text-align: center;">
  <img src="http://www.alexcurylo.com/wp-content/uploads/2012/01/door1.gif" width="443" height="338" alt="door1.gif" />
</div>
<p>Easy to integrate too &#8211; grab the sample and check it out!</p>
<p>h/t: <a href="http://iphonedevelopertips.com/open-source/ios-open-source-doorway-transition-with-coreanimation.html">iOS Developer Tips</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexcurylo.com/blog/2012/01/07/doorwaytransition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

