<?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>Aleksandar Vacić &#187; Programming</title>
	<atom:link href="http://aplus.rs/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://aplus.rs</link>
	<description>aplus.rs</description>
	<lastBuildDate>Mon, 21 May 2012 18:50:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Fighting feature creep</title>
		<link>http://aplus.rs/programming/fighting-feature-creep/</link>
		<comments>http://aplus.rs/programming/fighting-feature-creep/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 10:18:11 +0000</pubDate>
		<dc:creator>Aleksandar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[feature creep]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[mdn show]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[wil shipley]]></category>

		<guid isPermaLink="false">http://aplus.rs/?p=505</guid>
		<description><![CDATA[This is why: Technology is just being too complicated. People just don't enjoy using it, they don't get it, they're not getting the most out of it, they're not able to use the feature they have and if we radically simplify it, then people suddenly get a lot more out of it.]]></description>
			<content:encoded><![CDATA[<p>Feature creep is an easy trap to fall into. As developer and software vendor, you always want to please your users. So when a request comes in and it’s eloquently and nicely laid out, it’s hard to resist. I experienced it so much while working on Run Mate 1.1, which is the main reason why it took me 3 months to publish it.</p>
<p>Never again. I hope.</p>
<p>I have a new weapon against it now — it’s a wonderful thought that <a href="http://delicious-monster.com/">Wil Shipley</a> said in an interview for <a href="http://www.mac-developer-network.com/">Mac Developer Network</a> podcast:</p>
<blockquote><p>…Technology is just being too complicated. People just don’t enjoy using it, they don’t get it, they’re not getting the most out of it, they’re not able to use the feature they have and if we radically simplify it, then people suddenly get a lot more out of it.<br />
<strong>They actually use more features if you give them less features.</strong></p></blockquote>
<p>MDN podcast is wonderful resource. I had a large backlog of various podcasts — this Shipley interview is in <a href="http://www.mac-developer-network.com/shows/podcasts/mdnshow/mdn003/">MDN Show 003</a> from back in July 2009 — which I have recently cleared out. I never check what is in any of the shows, I like when they surprise me. This interview with Wil is chock full of great thoughts.</p>
<p>Another fantastic feature of the MDN Show is <em>World according to Gemmell</em> where <a href="http://mattgemmell.com/">Matt Gemmell</a> picks an UX subject and really, really hummers it down.</p>
<p>Note: Steve Scott, the man who ran MDN, has retired that show and now has a new show called <a href="http://ideveloper.tv/shows">iDeveloper Live</a>. It’s more dynamic than MDN Show (more people) plus it’s recorded live and you can be part of it through the chat.</p>
]]></content:encoded>
			<wfw:commentRss>http://aplus.rs/programming/fighting-feature-creep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected posts?</title>
		<link>http://aplus.rs/aplus/protected-posts/</link>
		<comments>http://aplus.rs/aplus/protected-posts/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 19:23:12 +0000</pubDate>
		<dc:creator>Aleksandar</dc:creator>
				<category><![CDATA[aplus]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://aplus.rs/?p=413</guid>
		<description><![CDATA[As I’m baby stepping through the iPhone SDK development, I encounter some strange stuff. Given the unfortunate (to say the least) circumstance of the NDA still in place as of ...]]></description>
			<content:encoded><![CDATA[<p>As I’m baby stepping through the iPhone SDK development, I encounter some strange stuff. Given the unfortunate (to say the least) circumstance of the NDA still in place as of this writing, I can’t post publicly about it. I can’t ask on forums nor would anyone be allowed to answer. That’s how NDA stuff works.</p>
<p>In order not to lose these stuff and to keep note of problem and solution (if I find one) for future benefit, I’m doing this password-protected posts that I will reveal once NDA is lifted.</p>
<p>Which hopefully will happen’ at some point.</p>
<p><strong>update:</strong> it did not take long – just days after I did this, Apple killed the NDA.</p>
]]></content:encoded>
			<wfw:commentRss>http://aplus.rs/aplus/protected-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confusing stuff: NSLog and SystemSoundID</title>
		<link>http://aplus.rs/programming/confusing-stuff-nslog-and-systemsoundid/</link>
		<comments>http://aplus.rs/programming/confusing-stuff-nslog-and-systemsoundid/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 19:17:21 +0000</pubDate>
		<dc:creator>Aleksandar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://aplus.rs/?p=409</guid>
		<description><![CDATA[SystemSoundID can really baffle newcomers into iPhone/Cocoa world.]]></description>
			<content:encoded><![CDATA[<p>In my first attemps with iPhone SDK programming — while working on Running Mate’s early proof of concepts — I tested the playing of short sound effects. That’s where I encountered this strange error:</p>
<pre>warning: Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit" (file not found).
warning: Unable to read symbols from "UIKit" (not yet mapped into memory).</pre>
<p>As you can see, this error is entirely meaningless on its own — if this was true, none of apps would work. Which was not the case. This happened with 2.1 final SDK, where I last checked for this.</p>
<p>It turns out that problem was with this line:</p>
<div class="igBar"><span id="lc-1"><a href="#" onclick="javascript:showPlainTxt('c-1'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C:</span>
<div id="c-1">
<pre class="c">
<ol>
<li style="color:#333;">
<div style="">NSLog<span style="color: #66cc66;">&#40;</span>@<span style="color: #ff0000;">"Play sound: %@"</span>, _soundID<span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</pre>
</div>
</div>
<p></p>
<p>where _<code>soundID</code> is of type <code>SystemSoundID</code>. Commenting this line out resolved the problem.</p>
<p>My guess here is that <code>SystemSoundID</code> does not have <code>description</code> properly implemented. <code>%@</code> should cover any object that accepts <code>description</code> message, so it’s not strange that a beginner would try to log it as given above. And would be mightily confused by the message in the console window, as I was.<br />
I got out of this by commenting out lines of code, one by one, starting from the last one I added.</p>
<p>Hopefully someone else will find this and saves oneself some time and nerves.</p>
]]></content:encoded>
			<wfw:commentRss>http://aplus.rs/programming/confusing-stuff-nslog-and-systemsoundid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to rename project in Xcode 3.x</title>
		<link>http://aplus.rs/programming/how-to-rename-project-in-xcode-3x/</link>
		<comments>http://aplus.rs/programming/how-to-rename-project-in-xcode-3x/#comments</comments>
		<pubDate>Sat, 02 Aug 2008 16:41:57 +0000</pubDate>
		<dc:creator>Aleksandar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[cocoa]]></category>

		<guid isPermaLink="false">http://aplus.rs/?p=374</guid>
		<description><![CDATA[There is no simple way to rename a project. The name you originally used is inserted and hardcoded in several places, so it takes a bit of manual work to sort through.]]></description>
			<content:encoded><![CDATA[<p>I thought this would be a simple thing to do, but apparently not.<br />
There’s no option to copy the state of the project as it is and continue working on it under the new name. The reason I need this is that I’m going through AAron Hillegass’s <a href="http://www.amazon.co.uk/Cocoa-Programming-Mac-OS-X/dp/0321503619/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1217694919&amp;sr=8-1&amp;tag=aplusmoments-21&amp;linkCode=ur2&amp;camp=1634&amp;creative=6738">Cocoa Programming for Mac OS X, 3rd ed.</a> and some of the projects span several chapters, each introducing new concepts. Thus I wanted to have each in the state it was at the end of the chapter, than compare and analyze the differences, to better understand what’s new and improved.</p>
<p>Since no option, we go with manual work.</p>
<ol>
<li>Copy/rename the folder into new name</li>
<li>Get inside the new folder and rename the <code>.pch</code> and <code>.xcodeproj</code> files</li>
<li>Delete the build folder</li>
<li>Open <code>.xcodeproj</code> file in text editor, like TextMate or TextWrangler. That’s actually a folder, which contains 4 files (you can also right-click and do <code>Show package contents</code>, which will reveal the files)</li>
<li>Open project.pbxproj in text editor and replace all instances of the old name with the new name</li>
<li>Load the project file in XCode, do <code>Build</code>/<code>Clean all targets</code></li>
</ol>
<p>Now it should be ready for new build, under new name.</p>
<p><strong>Update (Nov 28, ’10):</strong> now there is a simple path: copy into a different folder, open the project and then in Xcode pick <i>Project/Rename</i> menu item. If that fails, there’s always a manual way above.</p>
]]></content:encoded>
			<wfw:commentRss>http://aplus.rs/programming/how-to-rename-project-in-xcode-3x/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>XSLT processing quirk</title>
		<link>http://aplus.rs/programming/xslt-processing-quirk/</link>
		<comments>http://aplus.rs/programming/xslt-processing-quirk/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 11:09:31 +0000</pubDate>
		<dc:creator>Aleksandar</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[xslt]]></category>

		<guid isPermaLink="false">http://www.aplus.co.yu/xslt/xslt-processing-quirk/</guid>
		<description><![CDATA[This week I encountered, for the second time in recent weeks, a very ugly XSLT quirk. I can’t call it a bug, as I’m relatively new to XSL, but it ...]]></description>
			<content:encoded><![CDATA[<p>This week I encountered, for the second time in recent weeks, a very ugly XSLT quirk. I can’t call it a bug, as I’m relatively new to XSL, but it sure irks me very much. Continue reading, it might save you some sanity.<br />
<small>I must lead you to full page, as the code example can’t feet in the home page space.</small><br />
<span id="more-314"></span><br />
Take a look at this lovely login form, in IE6 (same in IE7):</p>
<div class="screenshot"><img src="/images/xslt-login-bug.png" alt="Screenshot from IE, with bug shown" /></div>
<p>It’s caused by this XSLT code:</p>
<div class="igBar"><span id="lxml-4"><a href="#" onclick="javascript:showPlainTxt('xml-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-4">
<pre class="xml">
<ol>
<li style="color:#333;">
<div style=""><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"submit"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style="">						<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;xsl</span>:attribute <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"value"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="color:#333;">
<div style="">							Login</div>
</li>
<li style="color:#26536A;">
<div style="">						<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/xsl</span>:attribute<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="color:#333;">
<div style=""><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/input<span style="font-weight: bold; color: black;">&gt;</span></span></span> </div>
</li>
</ol>
</pre>
</div>
</div>
<p></p>
<p>The <code>value</code> attribute is not just <tt>Login</tt>, but also all the white characters around it, most notably tabs. When written as this:</p>
<div class="igBar"><span id="lxml-5"><a href="#" onclick="javascript:showPlainTxt('xml-5'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">XML:</span>
<div id="xml-5">
<pre class="xml">
<ol>
<li style="color:#333;">
<div style=""><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;input</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"submit"</span><span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style="">						<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;xsl</span>:attribute <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"value"</span><span style="font-weight: bold; color: black;">&gt;</span></span>Login<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/xsl</span>:attribute<span style="font-weight: bold; color: black;">&gt;</span></span></div>
</li>
<li style="color:#333;">
<div style=""><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/input<span style="font-weight: bold; color: black;">&gt;</span></span></span> </div>
</li>
</ol>
</pre>
</div>
</div>
<p></p>
<p>all looks ok:</p>
<div class="screenshot"><img src="/images/xslt-login-ok.png" alt="Screenshot from IE, with bug prevented" /></div>
<p>XSLT is slowly killing me…</p>
]]></content:encoded>
			<wfw:commentRss>http://aplus.rs/programming/xslt-processing-quirk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)

Served from: aplus.rs @ 2012-05-21 22:21:50 -->
