<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>JongAm&#039;s blog</title>
	<atom:link href="http://jongampark.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://jongampark.wordpress.com</link>
	<description>Something About Programming</description>
	<lastBuildDate>Wed, 25 Jan 2012 16:09:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='jongampark.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/aaa1d28af13657face7139b250df4b44?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>JongAm&#039;s blog</title>
		<link>http://jongampark.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://jongampark.wordpress.com/osd.xml" title="JongAm&#039;s blog" />
	<atom:link rel='hub' href='http://jongampark.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The faster-than-fast Fourier transform</title>
		<link>http://jongampark.wordpress.com/2012/01/18/the-faster-than-fast-fourier-transform/</link>
		<comments>http://jongampark.wordpress.com/2012/01/18/the-faster-than-fast-fourier-transform/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 03:24:42 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Fundamental Tech]]></category>
		<category><![CDATA[Interesting Projects]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1833</guid>
		<description><![CDATA[MIT News posted an article saying that researchers found a way to calculate FFT even faster. It&#8217;s like up to 10x. You can download the paper here : Nearly Optimal Sparse Fourier Transform Filed under: Fundamental Tech, Interesting Projects Tagged: Fundamental Tech, Interesting Projects<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1833&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>MIT News posted an article saying that<a title="The faster-than-fast Fourier transform" href="http://web.mit.edu/newsoffice/2012/faster-fourier-transforms-0118.html"> researchers found a way to calculate FFT even faster. It&#8217;s like up to 10x.</a></p>
<p>You can download the paper here :<br />
<a href="http://arxiv.org/abs/1201.2501v1">Nearly Optimal Sparse Fourier Transform</a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/category/interesting-projects/'>Interesting Projects</a> Tagged: <a href='http://jongampark.wordpress.com/tag/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/tag/interesting-projects/'>Interesting Projects</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1833/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1833/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1833/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1833&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2012/01/18/the-faster-than-fast-fourier-transform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Writing smartphone apps ( Android / iPhone / Windows Phone ) with Ruby</title>
		<link>http://jongampark.wordpress.com/2012/01/13/writing-smartphone-apps-android-iphone-windows-phone-with-ruby/</link>
		<comments>http://jongampark.wordpress.com/2012/01/13/writing-smartphone-apps-android-iphone-windows-phone-with-ruby/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 05:36:06 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[Smart Phone]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/2012/01/13/writing-smartphone-apps-android-iphone-windows-phone-with-ruby/</guid>
		<description><![CDATA[Is it now a time to learn Ruby, if you are more interested in SmallTalk derivatives but are frustrated with C# Mono .NET? http://rhomobile.com/products/rhodes/ Filed under: Android, Programming, Ruby, Windows Phone Tagged: Programming, Ruby, Smart Phone<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1829&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Is it now a time to learn Ruby, if you are more interested in SmallTalk derivatives but are frustrated with C# Mono .NET?</p>
<p>http://rhomobile.com/products/rhodes/</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/android/'>Android</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/category/programming/ruby/'>Ruby</a>, <a href='http://jongampark.wordpress.com/category/windows-phone/'>Windows Phone</a> Tagged: <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/tag/ruby/'>Ruby</a>, <a href='http://jongampark.wordpress.com/tag/smart-phone/'>Smart Phone</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1829/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1829/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1829/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1829&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2012/01/13/writing-smartphone-apps-android-iphone-windows-phone-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Importance of naming</title>
		<link>http://jongampark.wordpress.com/2012/01/05/importance-of-naming/</link>
		<comments>http://jongampark.wordpress.com/2012/01/05/importance-of-naming/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 22:54:14 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Fundamental Tech]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1811</guid>
		<description><![CDATA[When introducing new technology, naming is very important. I remember that it was when the second version of Java was announced. In most books on Java, explanation on &#8220;interface&#8221; was very short. The name, &#8220;interface&#8221;, doesn&#8217;t speak for itself and many people didn&#8217;t seem to understand what it was for at that time exactly other [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1811&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">When introducing new technology, naming is very important.</p>
<p>I remember that it was when the second version of Java was announced.<br />
In most books on Java, explanation on &#8220;interface&#8221; was very short. The name, &#8220;interface&#8221;, doesn&#8217;t speak for itself and many people didn&#8217;t seem to understand what it was for at that time exactly other than Java people at Sun.<br />
I remember the most famous &#8220;interface&#8221; at that time was &#8220;Runnable&#8221;. To build a Java applet, it should &#8220;inherit&#8221; Runnable interface.<br />
Nowadays, because many languages uses Class and Interface with different meaning, it is easy to differentiate. However at that time, interface was, in OOP concept, class. That is why Objective-C uses @interface to define a class.</p>
<p>However, Objective-C uses a name, Protocol to mean &#8216;interface&#8217; in other languages like Java and C#. By saying protocol, we instantly imagine agreed-upon dialog to communicate. So, the name, protocol, itself says that it doesn&#8217;t contain any &#8220;properties&#8221;, i.e. member variables. ( property is also an unfortunate term. )<br />
Also, when a class accept the &#8216;protocol&#8217; to implement it, we call that the class &#8220;adopts&#8221;(Java) or &#8220;conforms&#8221;(Objective-C) the protocol. Because it &#8220;adopts&#8221; or &#8220;conforms&#8221;, we know that protocol is not related to inheritance path. Different classes with different parent or super class can adopt the same &#8220;protocol&#8221;.</p>
<p>So. the name speaks for itself.</p>
<p>Here is explanation on Interface in C# from MSDN.</p>
<p>&#8220;Interfaces describe a group of related functionalities that can belong to any class or struct. You define an interface by using the interface keyword, as shown in the following example.&#8221;</p>
<p>Any learner should try to memorize what the interface is, what it is for, how it is different from classes. etc. Then when his memory decays, he needs to open the document again to make sure what interface is.</p>
<p>This is importance of naming for technology.</p>
<p>This is not first time for me to point MS&#8217; naming convention or explanation.<br />
MS is not good at this and has never been as good as Apple.<br />
Java people seem to have the same problem, but look better than MS people.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1811/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1811/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1811/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1811&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2012/01/05/importance-of-naming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Wrong explanation in MSDN on C# delegates</title>
		<link>http://jongampark.wordpress.com/2012/01/04/wrong-explanation-in-msdn-on-c-delegates/</link>
		<comments>http://jongampark.wordpress.com/2012/01/04/wrong-explanation-in-msdn-on-c-delegates/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 22:42:31 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1809</guid>
		<description><![CDATA[At MSDN site, they described about what can be set as delegate this way. When a delegate is constructed to wrap an instance method, the delegate references both the instance and the method. A delegate has no knowledge of the instance type aside from the method it wraps, so a delegate can refer to any [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1809&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At MSDN site, they described about what can be set as delegate this way.</p>
<blockquote><p>When a delegate is constructed to wrap an instance method, the delegate references both the instance and the method. A delegate has no knowledge of the instance type aside from the method it wraps, so<strong><span style="color:#800000;"> a delegate can refer to any type of object as long as there is a method on that object that matches the delegate signature</span>.</strong> When a delegate is constructed to wrap a static method, it only references the method. Consider the following declarations:</p>
<p>public class MethodClass<br />
{<br />
public void Method1(string message) { }<br />
public void Method2(string message) { }<br />
}</p>
<p>Along with the static DelegateMethod shown previously, we now have three methods that can be wrapped by a Del instance.</p>
<p>MethodClass obj = new MethodClass();<br />
Del d1 = obj.Method1;<br />
Del d2 = obj.Method2;</p></blockquote>
<p>Instead of assigned to <strong><span style="color:#0000ff;"><em>obj</em></span></strong> in the last lines of the codes above, <em><span style="color:#0000ff;">d1</span></em> and <span style="color:#0000ff;"><em>d2</em></span> are assigned to<strong><span style="color:#993300;"><em> obj.Method1</em></span></strong> and <strong><em><span style="color:#993300;">obj.Method2</span></em></strong>.<br />
So, it is not that the delegate can refer to any type of objects as long as blah blah. It just refers to those specific methods.</p>
<p>Let&#8217;s be careful.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/net/'>.NET</a>, <a href='http://jongampark.wordpress.com/category/programming/c-programming/'>C#</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/net/'>.NET</a>, <a href='http://jongampark.wordpress.com/tag/c/'>C++</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1809/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1809/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1809&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2012/01/04/wrong-explanation-in-msdn-on-c-delegates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Difference between Objective-C delegates and C# delegates.</title>
		<link>http://jongampark.wordpress.com/2012/01/04/difference-between-objective-c-delegates-and-c-delegates/</link>
		<comments>http://jongampark.wordpress.com/2012/01/04/difference-between-objective-c-delegates-and-c-delegates/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 17:20:23 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1806</guid>
		<description><![CDATA[I currently update my knowledge on C# since the early days of C# .NET. Although many things similar to Objective-C/Cocoa are added to C# .NET, some are somehow different. For example delegate is one of them. In Objective-C, delegate is a delegate object which do something for other objects. So, if the &#8220;other&#8221; object set [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1806&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I currently update my knowledge on C# since the early days of C# .NET.<br />
Although many things similar to Objective-C/Cocoa are added to C# .NET, some are somehow different. For example delegate is one of them.</p>
<p>In Objective-C, delegate is a delegate object which do something for other objects.<br />
So, if the &#8220;other&#8221; object set the delegate object as a delegator, the delegator object handles messages to the &#8220;other&#8221; object for the &#8220;other&#8221; object.</p>
<p>However, in C#, it is more like function pointer.<br />
Well, function pointer can be used in &#8220;delegate&#8221; pattern.<br />
However, in .NET framework, delegates look to be used more as a way to register &#8220;callback&#8221; functions. So, rather than &#8220;delegate&#8221; itself, it is a building block for &#8220;delegate&#8221; pattern.</p>
<p>Just like C++, people can make their own delegate pattern by message forwarding ( in Obj-C term) or by defining methods in a &#8220;representative&#8221; object, setting that object as a delegate and calling those methods. This means that without using C#&#8217;s delegate type you can make delegate pattern.</p>
<p>So, I don&#8217;t think using the term &#8220;delegate&#8221; in C# for its &#8220;delegates&#8221; type sounds like misnomer. ( again, because it resembles more like function pointer rather than delegator object. )</p>
<p>I have used Win32, MFC since 1990. The consistent naming of classes, functions and methods in MS API &amp; frameworks is that their names sometimes don&#8217;t match what they are for and what they do.<br />
Collapse this post</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/net/'>.NET</a>, <a href='http://jongampark.wordpress.com/category/programming/c-programming/'>C#</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/net/'>.NET</a>, <a href='http://jongampark.wordpress.com/tag/c/'>C++</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1806/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1806/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1806/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1806&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2012/01/04/difference-between-objective-c-delegates-and-c-delegates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Simple concept to C/C++/Obj-C programmers, but very lengthy explanation</title>
		<link>http://jongampark.wordpress.com/2011/12/29/simple-concept-to-ccobj-c-programmers-but-very-length-explanation/</link>
		<comments>http://jongampark.wordpress.com/2011/12/29/simple-concept-to-ccobj-c-programmers-but-very-length-explanation/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 00:37:12 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1803</guid>
		<description><![CDATA[C# looks like C++ or Objective-C. However, it shares lots of its philosophy with BASIC. One of the most apparent example is &#8220;pointer&#8221;. Although C# supports pointers, it is for &#8220;unmanaged&#8221; environment. For normal &#8220;managed&#8221; environment, C# doesn&#8217;t support pointers. However, it supports the concept of pointers. It is called &#8220;reference type&#8221;. There are explicit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1803&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>C# looks like C++ or Objective-C.</p>
<p>However, it shares lots of its philosophy with BASIC. One of the most apparent example is &#8220;pointer&#8221;.<br />
Although C# supports pointers, it is for &#8220;unmanaged&#8221; environment. For normal &#8220;managed&#8221; environment, C# doesn&#8217;t support pointers. However, it supports the concept of pointers.</p>
<p>It is called &#8220;reference type&#8221;. There are explicit and implicit reference type.<br />
What is funny from C/C++/Objective-C programmer&#8217;s point of view is that all object, or instance of a class, is declared without any &#8220;pointer&#8221; mark.</p>
<p><pre class="brush: cpp;">
Customer object2;
</pre></p>
<p>If it is C++, object2 is a statically declared object. ( I don&#8217;t mean &#8220;static&#8221; type. Here &#8220;statically&#8221; I mean the opposite of &#8220;dynamically&#8221;. )<br />
In C#, class is reference type. So, object2 is a reference. In other words, it is a pointer in C/C++/Objective-C world.<br />
(Again, here the reference means the concept which embraces pointers and references, &amp;, not the &#8220;reference&#8221; in C++. )</p>
<p>However, because there is no concept of pointer, they explain it very lengthy way.</p>
<blockquote><p>When an instance of a class is created, a reference to the object is passed back to the programmer. In the previous example, object1 is a reference to an object that is based on Customer. This reference refers to the new object but does not contain the object data itself. In fact, you can create an object reference without creating an object at all:</p>
<div id="snippetGroup2">
<div id="ID0EADFAAAAA">
<div id="ID0EADFAAAAA_codecollection">
<div id="ID0EADFAAAAA_code_Div2">
<pre>  Customer object2;</pre>
</div>
</div>
</div>
</div>
<p>We do not recommend creating object references such as this one that does not refer to an object because trying to access an object through such a reference will fail at run time. However, such a reference can be made to refer to an object, either by creating a new object, or by assigning it to an existing object, such as this:</p></blockquote>
<p>To C/C++/Objective-C programmers, it is very easy to explain that. &#8220;Because it is just a pointer type, it doesn&#8217;t point anything yet. So, don&#8217;t call any methods or access anything yet.&#8221;</p>
<p>Oh.. one thing.. in C++, it is completely normal to create an object statically. Although the C# code above looks like declaring and instantiating an object statically, but it is actually equivalent to :</p>
<p><pre class="brush: cpp;">
Customer *object2;
</pre></p>
<p>in C++.</p>
<p>So, what C# teaches us, especially language creators, is that if they try hard to make easy language to beginners ( pointer is a difficult concept for beginners ), it can actually make things more complicated.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/c-programming/'>C#</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/c/'>C++</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1803/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1803/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1803/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1803&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/12/29/simple-concept-to-ccobj-c-programmers-but-very-length-explanation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Unsung Hero, Brad Cox</title>
		<link>http://jongampark.wordpress.com/2011/12/29/unsung-hero-brad-cox/</link>
		<comments>http://jongampark.wordpress.com/2011/12/29/unsung-hero-brad-cox/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 18:40:51 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Fundamental Tech]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1798</guid>
		<description><![CDATA[개념적 용어를 keyword로 정의하게 되면, 설명할때 참 힘들어진다. 특히 &#8220;역사&#8221;를 모르는 사람들에겐. C#에는 reference type이란게 있는데, C#이 기본적으로 pointer가 없는 언어인만큼( VB사용자들을 끌어들여야 하니까. 그나저나 VB는 살아있나?), explicity하게도 혹은 class처럼 implicit한 것도 있다. 근데 설명할때 reference type이라고 말하면서 C++사용자에게 포인터를 쓰는 것과 같다고 말해버리면, &#8220;아. 포인터가 아니라 reference잖아요&#8221;라고 따지고 들 수있다. 아.. 그 reference가 아닌데. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1798&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>개념적 용어를 keyword로 정의하게 되면, 설명할때 참 힘들어진다. 특히 &#8220;역사&#8221;를 모르는 사람들에겐. C#에는 reference type이란게 있는데, C#이 기본적으로 pointer가 없는 언어인만큼( VB사용자들을 끌어들여야 하니까. 그나저나 VB는 살아있나?), explicity하게도 혹은 class처럼 implicit한 것도 있다. 근데 설명할때 reference type이라고 말하면서 C++사용자에게 포인터를 쓰는 것과 같다고 말해버리면, &#8220;아. 포인터가 아니라 reference잖아요&#8221;라고 따지고 들 수있다. 아.. 그 reference가 아닌데. pointer(*)이던 reference(&amp;)이던 다 레퍼런스인데&#8230;</p>
<p>C# 에는 reference type이란게 있는데, C#이 기본적으로 pointer가 없는 언어인만큼( VB사용자들을 끌어들여야 하니까. 그나저나 VB는 살아있나?), 명시적(explicit)으로 혹은 class처럼 묵시적인(implicit) 것도 있다. 근데 설명할때 reference type이라고 말하면서 C++사용자에게 포인터를 쓰는 것과 같다고 말해버리면, &#8220;아. 포인터가 아니라 reference잖아요&#8221;라고 따지고 들 수있다. 아.. 그 reference가 아닌데. pointer(*)이던 reference(&amp;)이던 다 레퍼런스인데&#8230;</p>
<p>static allocation도 그렇고&#8230;</p>
<p>아.. 힘들다.<br />
시 각적으로도 그렇다. C#에서 클래스가 레퍼런스 타입이면 그냥 Objective-C처럼 모든 객체는 포인터로 선언하면될 것이지, 생긴 것은 꼭 C++처럼 생겨서, 그냥 정적(static)정의 하듯이 하고선 그것이 reference type이라고 하면, C++에서 넘어온 사람들은 그런 변수를 함수 인자(패러미터)로 넘길때 고민하게 된다. &#8220;이거 내가 하는게 맞는거야?&#8221;</p>
<p>C#은 참 잘 만든 언어면서도 문제가 있는 언어다.<br />
VB 사용자들을 끌어들이려면 확실하게 VB .NET을 밀던가, C/C++은 Apple이 Objective-C로 그러했듯이, 기존 컴파일러 많이 안바꾸고, 새 키워드도 많이 안넣으면서 하던가..<br />
C++ .NET는 ISO에선가 C++로 부르지 말라고 까지 했잖은가?<br />
포 지셔닝은 딱 Java인데, (Java도 C++과 비슷한 점이 많아서 장점이기도 하고 단점이기도 하고), C++의 신택스를 가지고 오고 이름도 C sharp 이니 ( C pound라고 하는 사람들은 없겠지? ) 자꾸 C++처럼 생각하게 된다는&#8230;</p>
<p>가만히 보면 Brad Cox가 Unsung Hero가 아닐까 한다.<br />
C 를 만든 Dennis Ritchie나 C++의 Stroustrup, SmallTalk의 Alan Kay같은 명성을 누리지 못하지만, C 컴파일러를 거의 바꾸지도 않았으면서, 할 짓 다하는, 그것도 훨씬 간결하게.. 그런 언어를 만들어 냈으니, 이게 천재가 아니면 뭔가?</p>
<p>(같은 포스트 :https://plus.google.com/108121537492277875096/posts/LUSeKRzjxdv )</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/net/'>.NET</a>, <a href='http://jongampark.wordpress.com/category/programming/cc-programming/'>C/C++</a>, <a href='http://jongampark.wordpress.com/category/programming/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/category/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/category/programming/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/cc/'>C/C++</a>, <a href='http://jongampark.wordpress.com/tag/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/tag/fundamental-tech/'>Fundamental Tech</a>, <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1798/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1798/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1798/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1798&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/12/29/unsung-hero-brad-cox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Pentile vs. RGB Stripe type LCD</title>
		<link>http://jongampark.wordpress.com/2011/12/28/pentile-vs-rgb-stripe-type-lcd/</link>
		<comments>http://jongampark.wordpress.com/2011/12/28/pentile-vs-rgb-stripe-type-lcd/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 06:18:28 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/2011/12/28/pentile-vs-rgb-stripe-type-lcd/</guid>
		<description><![CDATA[This is very well written explanation how pentile and RGB stripe type LCDs are different.The author explains pentile type needs more density than RGB stripe to achieve same/similar image quality to that of RGB stripe LCD. So, even those two LCDs have same resolution, RGB stripe type shows better image quality.I&#8217;m sorry that it is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1797&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is very well written explanation how pentile and RGB stripe type LCDs are different.<br />The author explains pentile type needs more density than RGB stripe to achieve same/similar image quality to that of RGB stripe LCD.</p>
<p>So, even those two LCDs have same resolution, RGB stripe type shows better image quality.<br />I&#8217;m sorry that it is written in Korean.</p>
<p><a title="Samsung Super HD AMOLED, pentile and RGB stripe" href="http://gamma0burst.tistory.com/359">http://gamma0burst.tistory.com/359</a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1797/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1797/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1797/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1797&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/12/28/pentile-vs-rgb-stripe-type-lcd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>What were newly introduced in Mac OS X 10.7 Lion</title>
		<link>http://jongampark.wordpress.com/2011/11/08/what-were-newly-introduced-in-mac-os-x-10-7-lion/</link>
		<comments>http://jongampark.wordpress.com/2011/11/08/what-were-newly-introduced-in-mac-os-x-10-7-lion/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 04:55:08 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1782</guid>
		<description><![CDATA[There are a lot of new things introduced in OS X 10.7. Here is a document which enlist most of them. What&#8217;s new in Mac OS X 10.7 Lion Because most interesting things were already mentioned a lot, I don&#8217;t want to talk about them. However, there are some which don&#8217;t seem to be talked [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1782&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are a lot of new things introduced in OS X 10.7.<br />
Here is a document which enlist most of them.</p>
<p><a href="http://developer.apple.com/library/mac/#releasenotes/MacOSX/WhatsNewInOSX/Articles/MacOSX10_7.html#//apple_ref/doc/uid/TP40010355-SW5">What&#8217;s new in Mac OS X 10.7 Lion</a></p>
<p>Because most interesting things were already mentioned a lot, I don&#8217;t want to talk about them. However, there are some which don&#8217;t seem to be talked much but significant.</p>
<p>Major Features</p>
<ul>
<li>Mac OS X File Coordination : allows processes to access files and directories serially. This is good for atomicity and transaction. This feature doesn&#8217;t ensure those but very important ingredient for those.</li>
<li>Popovers : just like that of iOS</li>
<li>Sandboxing &amp; Privilege Separation : this is talked a lot already but no harm to mention once more</li>
</ul>
<p>Frameworks</p>
<ul>
<li>AV Foundation : is recommended for transitioning existing apps written with QuickTime/QTKit. However, still a lot of features of QuickTime are missing. 64 bit native</li>
<li>QTKit can export movies in different formats. can read movie/track metadata; QTKit is still alive although they brought AV Foundation to Mac OS X.</li>
<li>View-Based Tables and Outlines : NSTableView and NSOutlineView can be view-based. What it means is that each cell now can host any NSView derivatives. So, NSButton, for example, can be put into each table cell. This allows placing widgets other than cells onto each cell using resource editor. (IB module). You don&#8217;t need to customize using custom draw message for hosting many different cells to implement iOS-like table view (i.e. multi-line messages in a cell, etc )</li>
<li>Core Data : GCD-aware, nested managed object context, ordered relationship, external storage</li>
<li>Index Set Range Enumeration : now you can traverse data in an index set by specifying ranges of its values.</li>
<li>JSON serialization : can convert JSON data &lt;-&gt; Foundation types, can be beneficial for SOAP/cloud based apps.</li>
<li>XML Streaming Parser : Even when XML is partially fed into a memory space, it can be parsed. Can be beneficial for XML-RPC / SOAP</li>
<li>Linguistic Tagging : can break down a sentence into its grammatical components ( nouns, verbs, adverb, etc. ). Works for English. Are they preparing for Siri for Mac?</li>
<li>Regular Expression : you don&#8217;t need to use regex library directly</li>
</ul>
<p>&nbsp;</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/category/mac/'>Mac</a>, <a href='http://jongampark.wordpress.com/category/programming/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/tag/mac-os-x/'>Mac OS X</a>, <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1782/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1782&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/11/08/what-were-newly-introduced-in-mac-os-x-10-7-lion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>비공개 API 3종 세트</title>
		<link>http://jongampark.wordpress.com/2011/10/14/%eb%b9%84%ea%b3%b5%ea%b0%9c-api-3%ec%a2%85-%ec%84%b8%ed%8a%b8/</link>
		<comments>http://jongampark.wordpress.com/2011/10/14/%eb%b9%84%ea%b3%b5%ea%b0%9c-api-3%ec%a2%85-%ec%84%b8%ed%8a%b8/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 17:39:38 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1779</guid>
		<description><![CDATA[objcguy님의 블로그에 소개된 아주 좋은 비공개 API 3개.. 그래.. Apple 사람들은 이런 것을 쓰고 있었단 말이지&#8230; [NSAutoReleasePool showPools] [(instance of UIView) recursiveDescription] [(instance of NSObject) observationInfo] Filed under: Cocoa, Programming Tagged: Cocoa, Objective-C, Programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1779&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>objcguy님의 블로그에 소개된 아주 좋은 비공개 API 3개..<br />
그래.. Apple 사람들은 이런 것을 쓰고 있었단 말이지&#8230;</p>
<p><a href="http://msxfan.com/nsautorelease-showpools">[NSAutoReleasePool showPools]</a><br />
<a href="http://msxfan.com/uiview-api">[(instance of UIView) recursiveDescription]</a><br />
<a href="http://msxfan.com/cocoa-api-nsobject-observationinfo">[(instance of NSObject) observationInfo]</a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1779/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1779/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1779&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/10/14/%eb%b9%84%ea%b3%b5%ea%b0%9c-api-3%ec%a2%85-%ec%84%b8%ed%8a%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Good bye, my captain</title>
		<link>http://jongampark.wordpress.com/2011/10/05/1774/</link>
		<comments>http://jongampark.wordpress.com/2011/10/05/1774/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 00:04:16 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1774</guid>
		<description><![CDATA[Filed under: Programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1774&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-01-pm.png"><img src="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-01-pm.png?w=570&#038;h=424" alt="" title="Screen shot 2011-10-05 at 5.00.01 PM" width="570" height="424" class="aligncenter size-full wp-image-1775" /></a></p>
<p><a href="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-09-pm.png"><img src="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-09-pm.png?w=570&#038;h=332" alt="" title="Screen shot 2011-10-05 at 5.00.09 PM" width="570" height="332" class="aligncenter size-full wp-image-1776" /></a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1774/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1774&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/10/05/1774/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-01-pm.png" medium="image">
			<media:title type="html">Screen shot 2011-10-05 at 5.00.01 PM</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/10/screen-shot-2011-10-05-at-5-00-09-pm.png" medium="image">
			<media:title type="html">Screen shot 2011-10-05 at 5.00.09 PM</media:title>
		</media:content>
	</item>
		<item>
		<title>NF/NDF flag in SMPTE 12M timecode standard</title>
		<link>http://jongampark.wordpress.com/2011/09/28/nfndf-flag-in-smpte-12m-timecode-standard/</link>
		<comments>http://jongampark.wordpress.com/2011/09/28/nfndf-flag-in-smpte-12m-timecode-standard/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 16:46:48 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1770</guid>
		<description><![CDATA[SMPTE 12M timecode 31...28 27...24 23...20 19...16 15...12 11...8 7...4 3...0 h h m m s s f f It&#8217;s encoded like BCD. Example ) 01:28:17:18 31...28 27...24 23...20 19...16 15...12 11...8 7...4 3...0 NDF : 0 1 2 8 1 7 1 8 0000 0001 0010 1000 0001 0111 0001 1000 DF : 0 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1770&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SMPTE 12M timecode</p>
<pre>
31...28 27...24 23...20 19...16 15...12 11...8 7...4 3...0
   h       h       m       m       s       s     f     f
</pre>
<p>It&#8217;s encoded like BCD.</p>
<p>Example )<br />
01:28:17:18</p>
<pre>
      31...28 27...24 23...20 19...16 15...12 11...8 7...4 3...0
NDF :    0       1       2       8       1       7     1     8
       0000    0001    0010    1000    0001    0111  0001  1000

DF  :    0       1       2       8       1       7     5     8
       0000    0001    0010    1000    0001    0111  0101  1000</pre>
<p>The high 2 bit of second nibble from the right is for DF/NDF.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/tag/video/'>Video</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1770/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1770/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1770/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1770&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/28/nfndf-flag-in-smpte-12m-timecode-standard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>public member vs. property</title>
		<link>http://jongampark.wordpress.com/2011/09/21/public-member-vs-property/</link>
		<comments>http://jongampark.wordpress.com/2011/09/21/public-member-vs-property/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 15:52:15 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1765</guid>
		<description><![CDATA[There are occasions when access right and property clashes. Although @property is not only for allowing easy setter/getter method to classes, it is probably one of the most popular purpose of @property. However, if a member variable is an opaque type like BOOL, int, float. etc, then 두개의 궁금증이 생길 수있다. &#8220;뭐하러 @private이나 @protected로 선언하고 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1765&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are occasions when access right and property clashes.</p>
<p><pre class="brush: cpp;">
@public
   BOOL m_isFolder;
}
@property (assign) BOOL m_isFolder

</pre></p>
<p>Although @property is not only for allowing easy setter/getter method to classes, it is probably one of the most popular purpose of @property.</p>
<p>However, if a member variable is an opaque type like BOOL, int, float. etc, then 두개의 궁금증이 생길 수있다.</p>
<p>&#8220;뭐하러 @private이나 @protected로 선언하고 @property를 선언해? 그냥 @public으로 넣고, 접근하지?&#8221;<br />
여러분들은 이런 적이 있으신지? 그럴때 무슨 생각을 하시는지 궁금합니다.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1765/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1765/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1765/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1765&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/21/public-member-vs-property/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>DreamWorks Animation makes thread-safe code a dream (via SoftTalk &#8211; multicore and parallel programming)</title>
		<link>http://jongampark.wordpress.com/2011/09/19/dreamworks-animation-makes-thread-safe-code-a-dream-via-softtalk-multicore-and-parallel-programming/</link>
		<comments>http://jongampark.wordpress.com/2011/09/19/dreamworks-animation-makes-thread-safe-code-a-dream-via-softtalk-multicore-and-parallel-programming/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 20:23:49 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[chicken-run]]></category>
		<category><![CDATA[dreamworks]]></category>
		<category><![CDATA[intel-inspector]]></category>
		<category><![CDATA[intel-thread-checker]]></category>
		<category><![CDATA[OpenMP]]></category>
		<category><![CDATA[parallelism]]></category>
		<category><![CDATA[shrek]]></category>
		<category><![CDATA[wallace-and-gromit]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/2011/09/19/dreamworks-animation-makes-thread-safe-code-a-dream-via-softtalk-multicore-and-parallel-programming/</guid>
		<description><![CDATA[If you’re a movie buff or have children in the family, the company DreamWorks Animation needs no introduction. It’s behind Shrek, Kung Fu Panda, Madagascar and Monsters Vs Aliens. It also partnered with Aardman to make the Wallace and Gromit and Chicken Run films. It’s well known for the quality of its animation, and for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1762&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote cite='http://softtalkblog.com/?p=1960' style='overflow:hidden;'><p><a href='http://softtalkblog.com/?p=1960' title='SoftTalk - multicore and parallel programming'></a> If you’re a movie buff or have children in the family, the company DreamWorks Animation needs no introduction. It’s behind Shrek, Kung Fu Panda, Madagascar and Monsters Vs Aliens. It also partnered with Aardman to make the Wallace and Gromit and Chicken Run films. It’s well known for the quality of its animation, and for creating characters and stories that children and adults can enjoy together. You might have heard of “Shrek’s Law”, which Dream &#8230; <a href='http://softtalkblog.com/?p=1960' title='SoftTalk - multicore and parallel programming'>Read More</a></p>
</blockquote>
<p><small>via <a href='http://softtalkblog.com/?p=1960' title='SoftTalk - multicore and parallel programming'>SoftTalk &#8211; multicore and parallel programming</a></small></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/chicken-run/'>chicken-run</a>, <a href='http://jongampark.wordpress.com/tag/dreamworks/'>dreamworks</a>, <a href='http://jongampark.wordpress.com/tag/intel-inspector/'>intel-inspector</a>, <a href='http://jongampark.wordpress.com/tag/intel-thread-checker/'>intel-thread-checker</a>, <a href='http://jongampark.wordpress.com/tag/openmp/'>OpenMP</a>, <a href='http://jongampark.wordpress.com/tag/parallelism/'>parallelism</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/tag/shrek/'>shrek</a>, <a href='http://jongampark.wordpress.com/tag/wallace-and-gromit/'>wallace-and-gromit</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1762/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1762/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1762/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1762&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/19/dreamworks-animation-makes-thread-safe-code-a-dream-via-softtalk-multicore-and-parallel-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>주어진 path가 파일인지 디렉토리인지 알아내는 법</title>
		<link>http://jongampark.wordpress.com/2011/09/15/%ec%a3%bc%ec%96%b4%ec%a7%84-path%ea%b0%80-%ed%8c%8c%ec%9d%bc%ec%9d%b8%eb%8b%88-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%9d%b8%ec%a7%80-%ec%95%8c%ec%95%84%eb%82%b4%eb%8a%94-%eb%b2%95/</link>
		<comments>http://jongampark.wordpress.com/2011/09/15/%ec%a3%bc%ec%96%b4%ec%a7%84-path%ea%b0%80-%ed%8c%8c%ec%9d%bc%ec%9d%b8%eb%8b%88-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%9d%b8%ec%a7%80-%ec%95%8c%ec%95%84%eb%82%b4%eb%8a%94-%eb%b2%95/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 18:41:59 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1757</guid>
		<description><![CDATA[Differentiate Between a Unix directory and file in C Mac에서는 NSFileWrapper쓰면 되고.. Filed under: Programming Tagged: Programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1757&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackoverflow.com/questions/1036625/differentiate-between-a-unix-directory-and-file-in-c">Differentiate Between a Unix directory and file in C</a></p>
<p>Mac에서는 NSFileWrapper쓰면 되고..</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1757/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1757/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1757/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1757&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/15/%ec%a3%bc%ec%96%b4%ec%a7%84-path%ea%b0%80-%ed%8c%8c%ec%9d%bc%ec%9d%b8%eb%8b%88-%eb%94%94%eb%a0%89%ed%86%a0%eb%a6%ac%ec%9d%b8%ec%a7%80-%ec%95%8c%ec%95%84%eb%82%b4%eb%8a%94-%eb%b2%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>Undocumented voice synthesis API on iOS</title>
		<link>http://jongampark.wordpress.com/2011/09/13/undocumented-voice-synthesis-api-on-ios/</link>
		<comments>http://jongampark.wordpress.com/2011/09/13/undocumented-voice-synthesis-api-on-ios/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 03:27:28 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[iPhone/iPod Touch/iPad]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1755</guid>
		<description><![CDATA[As of 2009 http://iloveco.de/speech-synthesis-on-iphone-3gs/ Filed under: Cocoa, iPhone/iPod Touch/iPad, Objective-C, Programming Tagged: Cocoa, iOS, Objective-C, Programming<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1755&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As of 2009<br />
<a href="http://iloveco.de/speech-synthesis-on-iphone-3gs/"></p>
<p>http://iloveco.de/speech-synthesis-on-iphone-3gs/</a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/category/iphoneipod-touchipad/'>iPhone/iPod Touch/iPad</a>, <a href='http://jongampark.wordpress.com/category/programming/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/tag/ios/'>iOS</a>, <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1755/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1755/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1755/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1755&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/13/undocumented-voice-synthesis-api-on-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>QuickTime reference movie에 대하여</title>
		<link>http://jongampark.wordpress.com/2011/09/10/quicktime-reference-movie%ec%97%90-%eb%8c%80%ed%95%98%ec%97%ac/</link>
		<comments>http://jongampark.wordpress.com/2011/09/10/quicktime-reference-movie%ec%97%90-%eb%8c%80%ed%95%98%ec%97%ac/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 08:16:26 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Carbon]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[QuickTime]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1749</guid>
		<description><![CDATA[QuickTime은 그동안 Reference Movie라는 것을 제공해 왔다. Reference Movie라는 것은, 예를 들어 Movie file A가 있을때, 그 안에는 실제로 영상이나 소리와 같은 데이터가 있지 않고, 그 파일 외부에 별로도, 영상과 소리 데이터를 가지고 있는 파일(들)을 가르치는 pointer(reference)만 있는 것을 의미한다. 물론 영상 데이터는 내부에 있는데, 소리 데이터만 외부에 있는 경우도 reference movie라고 할 수있다. 그런데, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1749&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>QuickTime은 그동안 Reference Movie라는 것을 제공해 왔다.<br />
Reference Movie라는 것은, 예를 들어 Movie file A가 있을때, 그 안에는 실제로 영상이나 소리와 같은 데이터가 있지 않고, 그 파일 외부에 별로도, 영상과 소리 데이터를 가지고 있는 파일(들)을 가르치는 pointer(reference)만 있는 것을 의미한다. 물론 영상 데이터는 내부에 있는데, 소리 데이터만 외부에 있는 경우도 reference movie라고 할 수있다.</p>
<p>그런데, 이 reference movie는 프로그래머 입장에서 볼 때, 그 구성이 다양할 수있다.<br />
이를 알아보려면 movie 파일과 QTMovie 혹은 Movie로 표현되는 audio/visual data를 포함할 수있는, container 구조의 atom, 그리고 실제 audio/visual data (이를 essence라고 한다)에 대한 이해가 필요하다.</p>
<p>movie file은 말 그대로, 동영상 파일이다. 디스크에 특정한 포맷으로 저장이 된다.<br />
QTMovie/Movie는 movie file 속에서 실제로 audio/visual 데이터나 외부 파일에 대한 reference, QuickTime VR, sprite 혹은 (이젠 deprecated되었지만) QuickDraw 3D와 같은 비 시간적 데이터들, 그리고 자막이나 timecode와 같은 다양한 media를 포함하는 최상위 data structure이다.</p>
<p>QuickTime은 파일속에 QTMovie/Movie가 있고, 그 속에 QTTrack/Track으로 대변되는 트랙들, 그리고 각 트랙위에 QTMedia/Media로 대변되는 미디어가, 그리고 각 미디어 속에는 실제 data sample들이 있다.</p>
<p>여기서 File부터 Media까지는 이해가 될텐데, 미디어와 실제 data sample의 차이는 무엇이냐 싶을 것이다.<br />
Video tape과 같은 실제 물리적 장비(?)를 보면, 그 안에 어떻게든 여러개의 트랙 (이를테면 복수개의 영상 트랙/오디오 트랙)들이 있을테고,각 트랙에 비디오나 오디오 데이터가 저장된다.<br />
그러므로 쉽게 생각하면 Track까지는 이해가 쉽게 되고, 그냥 Track위에 audio/video 데이터들을 얹을 수있게 만들면 되지 않겠나 싶은데, 이게 생각보다 한 층의 레이어가 더 필요하다.<br />
예를 들어 한 트랙에 오디오 데이터를 얹는다 하자. 오디오 데이터의 특정한 형식이 필요할 것이다. 그럼 그런 것을 받아들이게 만든 track의 데이터 스트럭쳐가 다른 데이터 형도 쉽게 받아들일 수있을 까? 즉 비디오 데이터를 받아들일까?<br />
아. 물론 받아 들이게 만들 수는 있다. 하지만 점점 어떤 체계가 잘 잡힌 모양은 무너지기 시작할 것이다.</p>
<p>여기에 더 생각해보자. 자막을 넣는다면? 타임 코드를 넣는다면? 혹은 비 시간적 데이터들, 예를 들어 sprite를 넣는다면?<br />
( 93년쯤이었던 것으로 기억한다. Apple의 샘플 QuickTime 영상 중에는 동영상 내에 sprite가 들어가서, 일종의 갤라거 비디오 게임처럼, 움직이는 동화상을 배경으로 비행기였던가 공이었던가가 왔다 갔다 하는, 그리고 그 물체를 키보드론가 조작이 가능했던 것이 있었던 것으로 기억한다)</p>
<p>아.. 굉장히 복잡해진다. 어떻게 데이터 구조와 알고리즘의 일관성을 유지하면서 이런 다양한 미디어를 트랙에 잡아 넣을까?<br />
여전히 잘 이해가 되지 않는 부분이다.<br />
실제로 2000년 쯤이었나? 1999년이었나. 광주 KAIST에서 MPEG-4의 의장이었던 프랑스 사람인가가 와서, 그때 MPEG-4의 표준이 막 정해지고 나서, MPEG-4가 어떤 것을 지향하고 어떻게 바뀔 것인지 등에 대해서 설명을 해주었던 session이라고 할까 conference라고 할까에 갔었다. (KAIST 학생들은 이런게 부럽다. 질 좋은, 그 현장에서의 실제 관련된 사람들이 방문해서 설명해 주니까. 물론 막상 참여해서 내용을 들으면 그 내용이 별거 아닐 수도 있다. 하지만 그런 기회를 갖느냐 안갖느냐 자체가 의미가 상당하다.)<br />
거기서 MPEG-4를 연구하시던 교수님 두어분이 질문을 했는데, 어떻게 MPEG-4가 비 시간적 데이터를 시간적 데이터와 같이 한 파일에서 처리할 수있느냐는 것이었다. 지금은 MPEG-4가 그때에 비해서 많이 퇴색한 것 같다. 사실 최근까지 Simple Profile만 이용을 해 왔고, 최근 들어와서야 advanced codec인 AVC / H.264를 본격적으로 사용하니까. 근데 MPEG-4는 그 이외에도 지향하는 여러가지가 있다.<br />
예를 들어, 변하지 않는 배경은 한번만 인코딩하고, 그 위에서 움직이는 사물들만 감지를 해서, 그들만 encoding하고 decoding한다던가, 비시간적 데이터를 시간적 데이터와 같이 표현을 한다던가. ) MPEG-4로 이루려고 하던 상당수를 이미 QuickTime은 하고 있었다.<br />
자막도 검색이 가능해서, 영화를 보다가 이런 저런 대화가 나오는 부분을 키보드로 검색할 수있었다.<br />
이런 식으로 QuickTime은 굉장히 다양한 앞선 기술을 90년대 초에 이미 지원을 하고 있었지만, 그때는 Apple이 바야흐로 암흑기로 들어가고 고생을 하기 시작하던 때라, 그다지 사람들에게 (일반인)는 appeal하지 못했던 것으로 안다. 이때가 Bill Gates가 Apple에게 AVI 포기할테니 QuickTime 내놔라라고 협박하던 때다.</p>
<p>사족이 길었는데, 자.. 이렇게 다양한 미디어를 표현하려면 그 데이터를 바로 트랙위에 싣는 디자인으로 갈까 아니면 일종의 adaptor 데이터 구조를 만들어서 넣을까? QuckTime은 후자의 것을 선택했다. (물론 내가 QuickTime의 소스코드를 본 것은 아니다. 하지만 구조를 보면 그것을 짐작할 수있다.)<br />
내가 볼때 그 adaptor 역할을 하는 것이 Media data structure이고, QTKit에서는 이것을 QTMedia로 표현한다.<br />
그래서 Track위에 오디오/비디오 데이터가 바로 올라가는게 아니라 Media란 것이 올라간다. 그리고 그 Media 안에 바야흐로 실제의 데이터들이 올라간다. 그리고 그 실제의 데이터들을 QuickTime에서는 data sample이라고 부른다.</p>
<div id="attachment_1752" class="wp-caption aligncenter" style="width: 483px"><a href="http://jongampark.files.wordpress.com/2011/09/multiple_data_refs.jpg"><img class="size-full wp-image-1752" title="multiple_data_refs" src="http://jongampark.files.wordpress.com/2011/09/multiple_data_refs.jpg?w=570" alt=""   /></a><p class="wp-caption-text">&lt;Fig.1&gt; QuickTime structure</p></div>
<p>이 정도만 알면 일단 QuickTime 구조체의 대략적인 면은 훑은 거라고 할 수있다.<br />
이제 본래의 주제로 돌아와서, Reference Movie를 살펴보자.<br />
앞에서 잠시 말했듯이 Reference Movie라고 하면, 실제의 데이터는 다른 파일에 있고, reference movie 자체는 그 외부 파일에 대한 reference만을 가지고 있다고 했다. 그런데 여기서 잠시 생각을 해보면, 어떤 부분이 reference가 되느냐가 다를 수가 있다.<br />
즉 audio/video 데이터가 고스란히 들어있는, Movie 파일을 위한 부분은 아닌 QTMovie/Movie만을 의미하는 부분이 외부 파일로 있고, Reference Movie file은 그 외부 파일을 pointing할 수가 있다. 그 QTMovie/Movie 만을 의미하는 부분은 CreateMovieStorage()로 만들어질 수있다. ( &lt;Fig.2&gt;에서 볼 수있듯이, movie 파일이 movie data structure를 가지고 외부의 데이터 파일을 참조하는 것은, QuickTime에서는 그냥 movie file이라고 불리지, reference movie file이라고 불리지 않는다. 단지 외부 파일을 reference한다고 reference movie는 아니라는 것이다. 현재까지 내가 했던 프로젝트에서, 내가 현재 있는 회사의 사람들은 두번째의 경우를 reference movie라고 부르는데, &#8220;의미상&#8221; 그렇다는 것으로 이해해야지, QuickTime에서 정의된 &#8220;정의&#8221;는 아닌 것이다. 회사에서 일하다보면 이런 것을 조심해야 한다. 기존에 하던 사람들이 설명을 해 줄때, 기술적인 부분을 잘못 기술할 수있고 그것이 헷갈리게 할 수있다. )</p>
<div id="attachment_1753" class="wp-caption aligncenter" style="width: 580px"><a href="http://jongampark.files.wordpress.com/2011/09/movie_files.jpg"><img class="size-full wp-image-1753" title="movie_files" src="http://jongampark.files.wordpress.com/2011/09/movie_files.jpg?w=570&#038;h=356" alt="" width="570" height="356" /></a><p class="wp-caption-text">&lt;Fig.2&gt; Classification of Movie Files</p></div>
<p>이 부분에 대해서는 QTKitCreateMovie라는 샘플 프로젝트의 quicktimeMovieFromTempFile 메시지를 보면 어떻게 만들어지고 사용되는지 볼 수있다. 이 QTKitCreateMovie라는 샘플에서는 tmp 디렉토리에 Movie만을 저장하는 임시 파일을 만들어서 Reference Movie가 그것을 referencing하게 되어 있다. 그리고 flattenToFilePath라는 메시지를 보면 저장시에 flatten을 할지 말지를 정해 줄 수가 있다.<br />
flat하게 만드는 것은 movie file을 self-contained movie로 만드는, 즉 reference movie의 반대로 만드는 것이다.<br />
여기서 flatten을 하도록 소스를 바꾸면, 생성되는 QuickTime movie file은 더 이상 그 임시의 파일을 reference하지 않고 그 자체에 모든 데이터를 저장한다.</p>
<p>자. 생각을 해보자. flatten을 하지 않은 상태에서, 정지 사진을 movie에 import하면 어떻게 될까?</p>
<p>&nbsp;</p>
<div id="attachment_1750" class="wp-caption aligncenter" style="width: 522px"><a href="http://jongampark.files.wordpress.com/2011/09/reference-movie-2.png"><img class="size-full wp-image-1750" title="Reference Movie 2" src="http://jongampark.files.wordpress.com/2011/09/reference-movie-2.png?w=570" alt=""   /></a><p class="wp-caption-text">&lt;Fig.3&gt; A reference movie pointing to an external file with &quot;Movie&quot; structure which refers external files</p></div>
<p>&nbsp;</p>
<div id="attachment_1751" class="wp-caption aligncenter" style="width: 325px"><a href="http://jongampark.files.wordpress.com/2011/09/reference-movie.png"><img class="size-full wp-image-1751" title="Reference Movie" src="http://jongampark.files.wordpress.com/2011/09/reference-movie.png?w=570" alt=""   /></a><p class="wp-caption-text">&lt;Fig.4&gt; A reference movie pointing to an external file with &quot;movie&quot; structure and embedded media data</p></div>
<p>위와 같은 두 가지의 형태가 될 수있다.<br />
그런데 flattening하는 것은 movie를 self-contained movie로 바꾸어 주는 것을 의미하는데, &lt;Fig.3&gt;의 경우엔 실제 미디어를 가지고 있는 파일까지 movie 파일 내부로 가지고 오는 것일까? 아니면, movie 구조를 포함한 파일을 movie file로 짚어 넣는 것일까?실제로 해보면 양쪽 다하는 것을 알 수있다. 그렇다면 각각의 형태는 어떻게 만들어야 할까?</p>
<p>문제는 어떻게 하느냐에 따라 달라진다.</p>
<p>여기에 대해서는 다음 포스트에서 알아보기로 하자. (이 포스트도 너무 길고, 이젠 좀 자야겠다)</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/carbon/'>Carbon</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/category/quicktime/'>QuickTime</a> Tagged: <a href='http://jongampark.wordpress.com/tag/carbon/'>Carbon</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/tag/quicktime/'>QuickTime</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1749/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1749/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1749/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1749&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/09/10/quicktime-reference-movie%ec%97%90-%eb%8c%80%ed%95%98%ec%97%ac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/09/multiple_data_refs.jpg" medium="image">
			<media:title type="html">multiple_data_refs</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/09/movie_files.jpg" medium="image">
			<media:title type="html">movie_files</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/09/reference-movie-2.png" medium="image">
			<media:title type="html">Reference Movie 2</media:title>
		</media:content>

		<media:content url="http://jongampark.files.wordpress.com/2011/09/reference-movie.png" medium="image">
			<media:title type="html">Reference Movie</media:title>
		</media:content>
	</item>
		<item>
		<title>QuickTime에서 TimeScale은 정확하게 무엇일까?</title>
		<link>http://jongampark.wordpress.com/2011/08/25/quicktime%ec%97%90%ec%84%9c-timescale%ec%9d%80-%ec%a0%95%ed%99%95%ed%95%98%ea%b2%8c-%eb%ac%b4%ec%97%87%ec%9d%bc%ea%b9%8c/</link>
		<comments>http://jongampark.wordpress.com/2011/08/25/quicktime%ec%97%90%ec%84%9c-timescale%ec%9d%80-%ec%a0%95%ed%99%95%ed%95%98%ea%b2%8c-%eb%ac%b4%ec%97%87%ec%9d%bc%ea%b9%8c/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 05:22:16 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[QuickTime]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1743</guid>
		<description><![CDATA[이제 Lion이 나온 시점에 QuickTime API에 대해서 쓸 필요가 있겠느냐만, 그래도 여전히 오래된 코드들은 존재하고, 그것을 이해할 필요가 있다. QuickTime은 time-based media에서 non-time-based media까지 커버하고, 단순한 재생용 API가 아니라, 편집이 가능하도록 만들어진 API로 굉장히 잘 만들어졌다. 하지만 그 &#8220;잘 만들어졌다&#8221;라는 관점은 지원되는 기능에 대한 것이지, 사용하기 쉽게 만들어졌다거나, 정의된 데이터 形이나 기타의 것이 잘만들어졌다는 것은 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1743&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>이제 Lion이 나온 시점에 QuickTime API에 대해서 쓸 필요가 있겠느냐만, 그래도 여전히 오래된 코드들은 존재하고, 그것을 이해할 필요가 있다. QuickTime은 time-based media에서 non-time-based media까지 커버하고, 단순한 재생용 API가 아니라, 편집이 가능하도록 만들어진 API로 굉장히 잘 만들어졌다.</p>
<p>하지만 그 &#8220;잘 만들어졌다&#8221;라는 관점은 지원되는 기능에 대한 것이지, 사용하기 쉽게 만들어졌다거나, 정의된 데이터 形이나 기타의 것이 잘만들어졌다는 것은 아니다.</p>
<p>여러가지 중에서 이해하기 곤란한 것이 있는데, Timescale이란 것이 그것이다.<br />
이 <a href="http://jongampark.wordpress.com/2008/10/27/qttime-qtstringtime-and-smpte/">QuickTime의 timecode에 대한 것은 일전에 한번 다루었다</a>. 하지만 충분치 않아서 이번에 완결을 해 볼까 한다.</p>
<p>우선 QuickTime의 시간 표현 법을 보자</p>
<p>12:30:24:1503/3000<br />
12:30:24:12/2997</p>
<p>저 포맷은 다음과 같은 내용이다.<br />
hh:mm:ss:ff/timescale</p>
<p>hh: 두자리의 시간<br />
mm : 분<br />
ss : 초<br />
ff : frame 번호<br />
timescale : QuickTime time scale</p>
<p>여기서 time scale이 문제다. 그리고 저 frame 번호.<br />
어떤 것은 frame 번호가 4자리로, 어떤 것은 2자리로 나와 있다.<br />
과연 두번째 것은 12번째 프레임이란 뜻일까? 혹은 1503은 정말 1503번째 프레임이라는 뜻일까? 저 프레임 번호는 time scale로 본 프레임 번호이다. 그리고 저렇게 timescale 자체가 4자리 일때는 4자리로 봐야 한다. 즉 12처럼 두자리로 나타나질때는 100을 곱해서 1200으로 본다.</p>
<p>왜 QuickTime을 만드는 사람들이 저것을 일관적으로 하지 않았는지는 의문이다. 하지만 여러 미디어 파일을 검사해보고, 실제로 프레임을 하나 하나 다뤄본 결과, 저 frame 번호를 그렇게 해석해야 한다는 것을 알았다.</p>
<p>그렇다면 time scale은 무엇인가? 저것은 해당 퀵타임 파일을 만든 사람이 어떤 번호를 부여하느냐에 따라 의미가 달라지는데, 대부분의 예제를 보면 fps * 100을 한 숫자들이다. 여기서 참 이상한 것은 29.97xxx과 같은 NTSC의 fps인데, 그냥 2997로 표현한다. 그리고 실제 내부에서 계산할때도 2997로 한다.<br />
SMPTE  타임코드와 MPEG을 다뤄보신 분들은 다음과 같이 계산을 할 것이다.</p>
<p>30 * 1000/1001 = 29.97xxx</p>
<p>이렇게 해야 프레임이 밀리지 않지 그냥 29.97로 하드 코딩해 버리면, 프레임이 밀리는 현상이 생긴다.<br />
근데 이것을 QuickTime에서는 그냥 2997로 계산해 버린다.</p>
<p>근데 이전의 포스팅에서도 언급되었지만, 이것이 꼭 fps * 100일 필요는 없다.<br />
이를테면 default 값은 600이다.<br />
혹은 임의로 1000이나 400 등을 해도 된다.<br />
그런데 결론부터 말하자면 fps * 100이 편하다.<br />
왜 그럴까? 사실 그건 직접 생각해 보면 파악할 수있고, 이 포스팅의 요지는 과연 이 time scale이 무엇이냐는 것이다.</p>
<p>Apple의 QuickTime reference를 보면 이게 명확하게 정의가 안되어 있다. 이런 중요한 것은 한 섹션이나 작은 챕터로 만들어도 좋겠는데, 그다지 잘 안되어 있다.<br />
최근에 다음과 같은 내용을 발견했다.</p>
<blockquote><p>About Movie Time<br />
At the most basic level, the Movie Toolbox allows you to process time based data. As such, the Movie Toolbox must provide a description of the time basis of that data as well as a definition of the context for evaluating that time basis. In QuickTime, a movie’s time basis is referred to as its timebase. Geometrically, you can think of the time base as a vector that defines the direction and velocity of time for a movie. The context for a time base is called its time coordinate system. Essentially, the time coordinate system defines the axis on which the time base vector is plotted. The smallest single unit of time marked on that axis is defined by the time scale as the units per absolute second.</p></blockquote>
<p>QuickTime에서 시간 좌표계를 설정하는데, 그 좌표계에서는 time base vector가 찍히는 것이라고 되어 있다. 그리고 그 좌표계에서 가장 작은 단위로 좌표 축에 찍히는 단위는 &#8220;절대 시간&#8221; 당 몇 유닛이냐는 것이다<br />
음.. 잘 이해가 되지 않는다.</p>
<p>다행스럽게도 그 다음 섹션에 더 명확하게 설명이 나와있다.</p>
<blockquote><p>Time Coordinate Systems movie’s time coordinate system provides the context for evaluating the passage of time in the movie. If you think of the time coordinate system as defining an axis for measuring time, it is only natural that this axis would be marked with a scale that defines a basic unit of measurement. In QuickTime, that measurement system is called a time scale.</p>
<p>A QuickTime time scale defines the number of time units that pass each second in a given time coordinate system. A time coordinate system that has a time scale of 1 measures time in seconds. Similarly, a time coordinate system that has a time scale of 60 measures sixtieths of a second. In general, each time unit in a time coordinate system is equal to (1/time scale) seconds. Some common time scales are listed in Table 1-1.</p></blockquote>
<p>일단 time scale의 의미는 QuickTime에서 시간 축에서의 측정 단위다라는 것이다. 이 말은 cm가 길이를 재는 단위이다. 뭐 이런 수준의 설명이다. 그보다는 두번째 문장의 첫 줄에서 더 명확하게 정의를 내렸다.<br />
즉 주어진 시간 좌표계에서 1 초당 몇개의 time unit이 지나가느냐라는 것이다. 더 쉽게 말하면 1초를 몇개의 구간으로 나누느냐이다.</p>
<p><strong>time scale의 정의</strong><br />
1초당 몇개의 time unit이 지나가느냐 혹은 1초를 몇개의 구간으로 나누느냐.</p>
<p>예 : 1 초를 1000개의 구간으로 나누면, 두 눈금간의 시간 거리는 1/000 초이다. 이것은 1 msec이다.<br />
이것을 QuickTime의 time scale로 말하면, &#8220;time scale이 1000이다&#8221;라고 말한다.</p>
<p>위의 둘째 문장에서 나온 예를 생각해 볼까? time scale이 60이라는 것은, 1초를 60개의 구간으로 나눈다는 것이다. 즉 1초에 60개의 time unit이 지나간다. 이때 한 time unit의 시간은 1/60 초이다.<br />
일반화 해서 말하자면, 한개의 time unit은 1/time scale이다.<br />
간단한 산수다.</p>
<p>자 그럼 왜, fps * 100을 time scale로 하는 경우가 많은지 생각해 보자.<br />
아니 100을 곱하건 뭘 곱하건, 기본이 fps으로 한다는데 중요한 의미가 있다.</p>
<p>자 PAL의 25 fps을 생각해 보자.<br />
이것은 1초에 25장의 프레임을 보여준다. 만약 time scale을 25로 한다면, 1초에 25개의 time unit이 지나가니까, 1장당 1 time unit이 되는 것이다. 만약 같은 frame rate에서 time scale을 30으로 해보자, 혹은 45로 해보자. 계산이 슬슬 복잡해지기 시작하고, 나누어도 딱 떨어지지 않는다. 어차피 time based media는 한 프레임, 혹은 한 샘플을 표시하고 다음 것을 표시하는데 얼마나 시간을 지연시키고, 몇개 프레임/샘플 후의 시간은 얼마다라는 것을 아는 것이 중요하기 때문에, 1 프레임/샘플당으로 time unit을 설정하면 편할 것이다.</p>
<p>그럼 여기에 왜 100을 곱할까? non drop frame인 경우야 별 문제가 안되겠지만, 23.976이나 29.976과 같은 나누어서 딱 떨어지지 않는 frame rate이 존재한다. NTSC와 같은 것이 대표적이다.<br />
이것은 24 * 1000/1001 혹은 30 * 1000/1001로 계산을 한다.<br />
이런 frame rate를 가지는 미디어를 다룰때, 좀더 세밀하게 시간을 계산해야할 필요가 있다. 왜냐하면, 딱 떨어지지 않는 숫자기 때문에, 매 2초마다 1장을 drop 시킨다던가 할 필요가 있는고, 편집을 하려해도 이런 세세한 제어가 필요하기 때문에 그냥 fps를 timscale로 쓰지 않고, 그것에 어떤 수를 곱해서 더 세밀하게 만드는 것이다. </p>
<p>여기서 주의해야 할 것이 있다. QuickTime의 atom에 frame rate를 기록해 두고, duration도 계산해서 넣어야 하는데, 이때 a * 1000/1001을 할까? 실제로 보니 그렇게 하지 않고, 예를 들면 23.97로 넣는다.<br />
이것은 그냥 meta 정보 역할을 하는 것같다. 만약 실제로 그 atom을 읽어서 비디오 에디터등을 만든다면, 그런 값을 보면 실제의 계산을 해 줄 필요가 있을 것이다.</p>
<p>그리고 또하나, frame drop을 한다는 것은 실제로 어떤 프레임을 버리는 게 아니다.<br />
frame은 하나도 버리지 않고, 단지 time code marking을 마치 프레임 드롭이 된 것처럼 하는 것이다.</p>
<p>예를 들어, 1초, 2초, 3초, 이러다가 4초가 아니라 5초로 마킹을 한다.<br />
그럼 4초에 해당하는 frame을 버린 것 같은 모습이 된다. 실제 4번째 장은 5초에 대응할 뿐이다.</p>
<p>자 그럼 여기서 한가지만 더.<br />
제일 처음으로 가서 QuickTime에서의 시간 포맷을 보자.</p>
<p>12:30:24:1503/3000</p>
<p>여기서 명심해야 할 것이 있다.</p>
<p>우선 /는 나누기가 아니라, time code와 time scale을 구분해 놓은, 구분자이다.<br />
둘때로 1503은 frame number에 대응을 하지만, 사실 &#8220;시간&#8221;의 표현이다.<br />
SMPTE time code 포맷은 &#8220;시간:분:초:프레임 번호&#8221;로  분명히 time code임에도 frame 번호는 몇번째 프레임이냐지, 그 프레임이 시간 축에서 차지하는 시간을 의미하지 않는다. (물론 환산이 가능하지만)<br />
반면에 QuickTime의 timecode는 순수하게 시간의 요소들만으로 구성되어 있다.<br />
그리고 각각의 시간 값을 time value라 한다.<br />
즉 위의 QuickTime 시간 포맷에서</p>
<p>12:30:24:1503는 time value를<br />
3000은 time scale을 의미한다.</p>
<p>정리가 잘 안되었는데, 아무튼 이것이 QuickTiem에서의 시간에 대한 전체적인 설명이다.<br />
QuickTime에서 이 시간을 이해하면, 이해의 30%는 한 것이라고 볼 수있다.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/category/programming/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/category/quicktime/'>QuickTime</a> Tagged: <a href='http://jongampark.wordpress.com/tag/cocoa/'>Cocoa</a>, <a href='http://jongampark.wordpress.com/tag/objective-c/'>Objective-C</a>, <a href='http://jongampark.wordpress.com/tag/quicktime/'>QuickTime</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1743/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1743&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/08/25/quicktime%ec%97%90%ec%84%9c-timescale%ec%9d%80-%ec%a0%95%ed%99%95%ed%95%98%ea%b2%8c-%eb%ac%b4%ec%97%87%ec%9d%bc%ea%b9%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenMP and GCC/LLVM-GCC/LLVM on Mac OS X</title>
		<link>http://jongampark.wordpress.com/2011/07/31/openmp-and-gccllvm-gccllvm-on-mac-os-x/</link>
		<comments>http://jongampark.wordpress.com/2011/07/31/openmp-and-gccllvm-gccllvm-on-mac-os-x/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 07:02:46 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[OpenMP]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1738</guid>
		<description><![CDATA[With GCC/LLVM-GCC/LLVM, don&#8217;t call omp_get_num_threads() and omp_get_max_threads() in a thread method. It will crash. I confirmed this just a minutes ago. I think this is a bug. At least GraphicsMagick and ImageMagick were written considering that they didn&#8217;t cause crash, or they thought that Magick::Image class is always created and accessed in a single thread [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1738&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>With GCC/LLVM-GCC/LLVM, don&#8217;t call omp_get_num_threads() and omp_get_max_threads() in a thread method. It will crash.<br />
I confirmed this just a minutes ago.</p>
<p>I think this is a bug. At least GraphicsMagick and ImageMagick were written considering that they didn&#8217;t cause crash, or they thought that Magick::Image class is always created and accessed in a single thread function.</p>
<p>Magick::Image class uses <em><strong>omp_get_max_threads()</strong></em> in its constructor and its <em><strong>read()</strong></em> method.</p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/mac/'>Mac</a>, <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://jongampark.wordpress.com/tag/mac/'>Mac</a>, <a href='http://jongampark.wordpress.com/tag/openmp/'>OpenMP</a>, <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1738/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1738/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1738/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1738&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/07/31/openmp-and-gccllvm-gccllvm-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
		<item>
		<title>static library를 링크했는데, dynamic library가 링크되는 경우에 대해</title>
		<link>http://jongampark.wordpress.com/2011/07/27/static-library%eb%a5%bc-%eb%a7%81%ed%81%ac%ed%96%88%eb%8a%94%eb%8d%b0-dynamic-library%ea%b0%80-%eb%a7%81%ed%81%ac%eb%90%98%eb%8a%94-%ea%b2%bd%ec%9a%b0%ec%97%90-%eb%8c%80%ed%95%b4/</link>
		<comments>http://jongampark.wordpress.com/2011/07/27/static-library%eb%a5%bc-%eb%a7%81%ed%81%ac%ed%96%88%eb%8a%94%eb%8d%b0-dynamic-library%ea%b0%80-%eb%a7%81%ed%81%ac%eb%90%98%eb%8a%94-%ea%b2%bd%ec%9a%b0%ec%97%90-%eb%8c%80%ed%95%b4/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 06:04:28 +0000</pubDate>
		<dc:creator>jongampark</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://jongampark.wordpress.com/?p=1735</guid>
		<description><![CDATA[바로 며칠전에 이 주제로 글을 올렸었다. 그런데 오늘 objcguy님이 왜 이런 현상이 나오며 어떻게 해결하면 되는지에 대한 Apple의 문서를 twitter를 통해 보여주셨다. 아&#8230; 바로 이거다. Google을 통해서 찾으면, 맨 Xcode에서 링커 세팅하기 수준의 것들만 나오는데&#8230; Mac OS X에서 같은 폴더에 static library와 dynamic library가 있으면 dynamic library를 찾아서 링크한단다. 아무리 static library로 링크하기로 정해놨어도. Technical [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1735&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>바로 <a title="Why does otool -L say dynamic libraries are linked when static libraries are configured to be linked?" href="http://jongampark.wordpress.com/2011/07/21/why-does-otool-l-say-dynamic-libraries-are-linked-when-static-libraries-are-configured-to-be-linked/" target="_blank">며칠전에 이 주제로 글을 올렸었다</a>.</p>
<p>그런데 오늘 objcguy님이 왜 이런 현상이 나오며 어떻게 해결하면 되는지에 대한 Apple의 문서를 twitter를 통해 보여주셨다.<br />
아&#8230; 바로 이거다. Google을 통해서 찾으면, 맨 Xcode에서 링커 세팅하기 수준의 것들만 나오는데&#8230;</p>
<p>Mac OS X에서 같은 폴더에 static library와 dynamic library가 있으면 dynamic library를 찾아서 링크한단다. 아무리 static library로 링크하기로 정해놨어도.</p>
<p><a href="http://developer.apple.com/library/mac/#qa/qa1393/_index.html" target="_blank">Technical Q&amp;A QA1393<br />
Using static versions of existing dynamic libraries</a></p>
<br />Filed under: <a href='http://jongampark.wordpress.com/category/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/category/programming/xcode-programming/'>Xcode</a> Tagged: <a href='http://jongampark.wordpress.com/tag/programming/'>Programming</a>, <a href='http://jongampark.wordpress.com/tag/xcode/'>Xcode</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/jongampark.wordpress.com/1735/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/jongampark.wordpress.com/1735/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/jongampark.wordpress.com/1735/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jongampark.wordpress.com&amp;blog=813782&amp;post=1735&amp;subd=jongampark&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://jongampark.wordpress.com/2011/07/27/static-library%eb%a5%bc-%eb%a7%81%ed%81%ac%ed%96%88%eb%8a%94%eb%8d%b0-dynamic-library%ea%b0%80-%eb%a7%81%ed%81%ac%eb%90%98%eb%8a%94-%ea%b2%bd%ec%9a%b0%ec%97%90-%eb%8c%80%ed%95%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/751feaa87f436626977aa9783d64df2d?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">아미</media:title>
		</media:content>
	</item>
	</channel>
</rss>
