<?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>Don Park's Daily Habit</title>
	<atom:link href="http://blog.docuverse.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.docuverse.com</link>
	<description>Don Park's Personal Blog</description>
	<lastBuildDate>Tue, 29 Sep 2009 22:39:54 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='blog.docuverse.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/0b7f6b113ae911a67eb8133dd085a60b?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Don Park's Daily Habit</title>
		<link>http://blog.docuverse.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.docuverse.com/osd.xml" title="Don Park&#8217;s Daily Habit" />
		<item>
		<title>Installing sqlite3-ruby gem on Snow Leopard</title>
		<link>http://blog.docuverse.com/2009/09/24/installing-sqlite3-ruby-gem-on-snow-leopard/</link>
		<comments>http://blog.docuverse.com/2009/09/24/installing-sqlite3-ruby-gem-on-snow-leopard/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 12:35:15 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sqlite3]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=316</guid>
		<description><![CDATA[Problem:
After upgrading to Snow Leopard, I had to rebuild/reinstall MacPorts and RubyGems as recommended. While doing this, I found that sqlite3-ruby gem install failed with errors related to extconf.rb file.
Solution:
Not sure why this works but I found a working solution at StackOverflow which replaces:
/usr/local/lib/libsqlite3.dylib
with a symbolic link to one that came with XCode for Snow [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=316&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p><strong>Problem:</strong></p>
<p>After upgrading to Snow Leopard, I had to rebuild/reinstall MacPorts and RubyGems as recommended. While doing this, I found that sqlite3-ruby gem install failed with errors related to extconf.rb file.</p>
<p><strong>Solution:</strong></p>
<p>Not sure why this works but I found a <a href="http://stackoverflow.com/questions/1373108/snow-leopard-sqlite3-ruby">working </a>solution at StackOverflow which replaces:</p>
<pre>/usr/local/lib/libsqlite3.dylib</pre>
<p>with a symbolic link to one that came with XCode for Snow Leopard:</p>
<pre>/Developer/SDKs/MacOSX10.6.sdk/usr/lib/libsqlite3.0.dylib</pre>
<p>You can find the full &#8216;ln&#8217; command at StackOverlow page above but be sure to rename the original in case you need to restore it.</p>Posted in General, Technical Tagged: ruby, sqlite3, tech <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/316/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/316/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/316/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=316&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/09/24/installing-sqlite3-ruby-gem-on-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Using JSP with Jersey JAX-RS Implementation</title>
		<link>http://blog.docuverse.com/2009/08/04/using-jsp-with-jersey-jax-rs-implementation/</link>
		<comments>http://blog.docuverse.com/2009/08/04/using-jsp-with-jersey-jax-rs-implementation/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 06:21:08 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jax-rs]]></category>
		<category><![CDATA[jersey]]></category>
		<category><![CDATA[jsp]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=308</guid>
		<description><![CDATA[This post shows you some tips you&#8217;ll likely need to use JSP with Jersey in typical Java webapps.
Tested Conditions
While Jersey 1.1.1-ea or later is probably the only hard requirement for the tips to work, my development environment is listed here for your info. You are welcome to add to this rather meager basis for sanity.

Jersey [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=308&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>This post shows you some tips you&#8217;ll likely need to use JSP with Jersey in typical Java webapps.</p>
<p><em>Tested Conditions</em></p>
<p>While Jersey 1.1.1-ea or later is probably the only hard requirement for the tips to work, my development environment is listed here for your info. You are welcome to add to this rather meager basis for sanity.</p>
<ol>
<li>Jersey 1.1.1-ea</li>
<li>Tomcat 6.0.20</li>
<li>JDK 1.5</li>
<li>OS X Leopard</li>
</ol>
<p><strong>Change JSP Base Template Path</strong></p>
<p>Default base path for templates is the root of the webapp. So if my webapp is at &#8220;/&#8230;/webapps/myapp&#8221; then Viewable(&#8220;/mypage&#8221;, null) will map to &#8220;/&#8230;/webapps/myapp/mypage.jsp&#8221;</p>
<p>To change this, say to &#8220;WEB-INF/jsp&#8221; as it&#8217;s commonly done for security reasons, add following init-param to Jersey servlet/filter in web.xml:</p>
<pre>&lt;init-param&gt;
&lt;param-name&gt;com.sun.jersey.config.property.JSPTemplatesBasePath&lt;/param-name&gt;
&lt;param-value&gt;/WEB-INF/jsp&lt;/param-value&gt;
&lt;/init-param&gt;</pre>
<p><strong>Return Viewable as part of Response</strong></p>
<p>It was not obvious to me (doh) where Viewable fits into Response when I have to return a Response instead of Viewable. It turns out, Viewable can be passed where message body entity is passed. Example:</p>
<pre>return Response.ok(new Viewable("/mypage", model).build();</pre>
<p><strong>Use &#8220;/*&#8221; as servlet-mapping for Jersey</strong></p>
<p>The primitive servlet-mapping URI pattern scheme, which somehow survived many iterations of the servlet API, impacts JAX-RS hard if servlet-mapping is overly broad. Unfortunately, pretty restful URL calls for servlet-mapping to be &#8220;/*&#8221; instead of something like &#8220;/jersey/*&#8221;, breaking access to JSP files as well as static resources.</p>
<p>To work around, you&#8217;ll have to use Jersey as a filter instead of a servlet and edit a regular-expression init-param value to punch passthrough holes in Jersey&#8217;s routing scheme. To enable this, replace Jersey servlet entry in web.xml with something like this:</p>
<pre>&lt;filter&gt;
 &lt;filter-name&gt;jersey&lt;/filter-name&gt;
 &lt;filter-class&gt;com.sun.jersey.spi.container.servlet.ServletContainer&lt;/filter-class&gt;
 &lt;init-param&gt;
  &lt;param-name&gt;com.sun.jersey.config.property.WebPageContentRegex&lt;/param-name&gt;
  &lt;param-value&gt;/(images|js|styles|(WEB-INF/jsp))/.*&lt;/param-value&gt;
 &lt;/init-param&gt;
&lt;/filter&gt;
&lt;filter-mapping&gt;
 &lt;filter-name&gt;jersey&lt;/filter-name&gt;
 &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
&lt;/filter-mapping&gt;</pre>
<p>That&#8217;s all for now. Hope this post saved you some headaches.</p>Posted in General, Technical Tagged: java, jax-rs, jersey, jsp <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/308/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/308/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/308/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=308&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/08/04/using-jsp-with-jersey-jax-rs-implementation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox Extension Developer Tips</title>
		<link>http://blog.docuverse.com/2009/07/23/firefox-extension-developer-tips/</link>
		<comments>http://blog.docuverse.com/2009/07/23/firefox-extension-developer-tips/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 11:30:40 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Components.utils.import]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[NS_ERROR_FAILURE]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[XPCOM]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=303</guid>
		<description><![CDATA[Just a couple of tips for Firefox extension developers, hard earned after many hours of head scratching. Not adhering to either tips will confuse Firefox and XPCOM component will fail to load.
XPCOM components get loaded before chromes are loaded.
[Update: The most common problem related to this is Components.utils.import call fails during launch with NS_ERROR_FAILURE exception. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=303&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>Just a couple of tips for Firefox extension developers, hard earned after many hours of head scratching. Not adhering to either tips will confuse Firefox and XPCOM component will fail to load.</p>
<p><em><strong>XPCOM components get loaded before chromes are loaded.</strong></em></p>
<p>[Update: The most common problem related to this is Components.utils.import call fails during launch with NS_ERROR_FAILURE exception. To fix, wait until app-startup notification is received before importing javascript modules.]</p>
<p>This means anything defined in chrome.manifest won&#8217;t be available until &#8220;app-startup&#8221; event is observed. Note that Resource URI scheme &#8220;resource://&#8221; introduced in Firefox 3 uses resource directives in chrome.manifest which means you should defer <strong>Components.utils.import</strong> calls until &#8220;<strong>app-startup</strong>&#8220;.</p>
<p><em><strong>XPCOM components implemented using Javascript should be defined as a pure object, not function.</strong></em><em><br />
</em></p>
<p>So it should look something like this:</p>
<blockquote>
<pre>var MyServiceModule = {
  registerSelf: function(compMgr, fileSpec, location, type) {
    ..
  },
  ..
};</pre>
</blockquote>Posted in Technical Tagged: Components.utils.import, firefox, NS_ERROR_FAILURE, tips, XPCOM <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/303/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=303&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/07/23/firefox-extension-developer-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Real-Time State of Mind</title>
		<link>http://blog.docuverse.com/2009/07/09/real-time-state-of-mind/</link>
		<comments>http://blog.docuverse.com/2009/07/09/real-time-state-of-mind/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 14:28:16 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[realtime]]></category>
		<category><![CDATA[stream]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=299</guid>
		<description><![CDATA[I need to get back to blogging more often. Having to type more than 140 characters feels wierd.  
Given that I&#8217;ll be attending TechCrunch&#8217;s Real-Time Stream CrunchUp this Friday, I thought a blog post on a key real-time stream problem would help me into a real-time state of mind.
Real-time streams have many technical problems [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=299&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p><em>I need to get back to blogging more often. Having to type more than 140 characters feels wierd. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </em></p>
<p>Given that I&#8217;ll be attending TechCrunch&#8217;s <a href="http://www.techcrunch.com/2009/07/01/agenda-for-real-time-stream-crunchup-and-third-wave-of-august-capital-party-tickets/">Real-Time Stream CrunchUp</a> this Friday, I thought a blog post on a key real-time stream problem would help me into a real-time state of mind.</p>
<p>Real-time streams have many technical problems to overcome many of which are thankfully being resolved by advances in technology and infrastructure but the problem that interests me the most is the user experience problems:</p>
<blockquote><p><strong>Information, real-time or otherwise, is meaningless if users are drowned within it.</strong></p></blockquote>
<p>Typical Twitter users see only a fraction of tweets from people they follow. The notion of Top Friends (related to my social radar diagram from 8 years ago) will help but at the cost of additional chores users have to do separate the greens from weeds.</p>
<p>The financial industry has used real-time streams for a long time so there is a lot to learn there technically. But, when it comes to user experience, they haven&#8217;t cracked the nut either, forcing traders to use bewildering number of charts and numbers on multiple displays and input devices to trade. So the emerging consumer real-time stream developers will have to break new grounds ourselves.</p>Posted in Technical Tagged: realtime, stream, ui <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/299/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/299/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/299/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=299&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/07/09/real-time-state-of-mind/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Fixed Aptana RadRails GEM_LIB issue on m&#8230;</title>
		<link>http://blog.docuverse.com/2009/05/14/fixed-aptana-radrails-gem_lib-issue-on-m/</link>
		<comments>http://blog.docuverse.com/2009/05/14/fixed-aptana-radrails-gem_lib-issue-on-m/#comments</comments>
		<pubDate>Thu, 14 May 2009 14:04:38 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[gem_lib]]></category>
		<category><![CDATA[radrails]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/2009/05/14/fixed-aptana-radrails-gem_lib-issue-on-m/</guid>
		<description><![CDATA[Fixed Aptana RadRails GEM_LIB issue on mac by linking &#8216;/Users/{user}/.gem/ruby/1.8/gems&#8217; to &#8216;/usr/local/lib/ruby/gems/1.8/gems&#8217;. I can&#8217;t blame Aptana for this since it was me who chose to use a tool built by a company that spread itself too thin. I doubt they have more than a couple of engineers working on RadRails which is not enough to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=297&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>Fixed Aptana RadRails GEM_LIB issue on mac by linking &#8216;/Users/{user}/.gem/ruby/1.8/gems&#8217; to &#8216;/usr/local/lib/ruby/gems/1.8/gems&#8217;. I can&#8217;t blame Aptana for this since it was me who chose to use a tool built by a company that spread itself too thin. I doubt they have more than a couple of engineers working on RadRails which is not enough to provide the necessary quality across the range of environments Aptana is unfortuantely being asked to support.</p>Posted in General Tagged: aptana, gem_lib, radrails, wtf <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/297/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/297/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=297&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/05/14/fixed-aptana-radrails-gem_lib-issue-on-m/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>HTML5 Microdata Fantasy</title>
		<link>http://blog.docuverse.com/2009/05/12/html5-microdata-fantasy/</link>
		<comments>http://blog.docuverse.com/2009/05/12/html5-microdata-fantasy/#comments</comments>
		<pubDate>Wed, 13 May 2009 03:30:56 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[fantasy]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[microdata]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=276</guid>
		<description><![CDATA[I haven&#8217;t been tracking HTML5 design efforts lately but what&#8217;s being proposed for microdata (see posts by Sam Ruby and Shelly Powers)  yucked me sufficiently to revisit an old fantasy of mine about HTML (man, what a boring life I have). My fantasy was to add general element/structure definition facility to HTML. It should [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=276&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>I haven&#8217;t been tracking HTML5 design efforts lately but what&#8217;s being proposed for microdata (see posts by <a href="http://intertwingly.net/blog/2009/05/12/Microdata">Sam Ruby</a> and <a href="http://realtech.burningbird.net/semantic-web/semantic-web-issues-and-practices/holding-on-html5">Shelly Powers</a>)  yucked me sufficiently to revisit an old fantasy of mine about HTML (man, what a boring life I have). My fantasy was to add general element/structure definition facility to HTML. It should easily extended to support microdata as well.</p>
<p>The way I envisioned it being used is like this:</p>
<pre>&lt;address&gt;
&lt;street&gt;123 ABC St.&lt;/street&gt;
&lt;city&gt;Foobar&lt;/city&gt;
&lt;state&gt;CA&lt;/state&gt;&lt;zip&gt;94065&lt;/zip&gt;
&lt;/address&gt;</pre>
<p>which sure is preferable to:</p>
<pre>&lt;div item&gt;
&lt;span itemtype="street"&gt;123 ABC St.&lt;/span&gt;
&lt;span itemtype="city"&gt;Foobar&lt;/span&gt;
&lt;span itemtype="state"&gt;CA&lt;/span&gt;
&lt;span itemtype="zip"&gt;94065&lt;/span&gt;
&lt;/div&gt;</pre>
<p>As to how a semantic structures and syntactic sugars can be defined, one very arbitrary way could be:</p>
<pre>&lt;head&gt;
&lt;def name="address" package="http://test.com/1/mapking"
    params="{{street city state zip}}"&gt;
  &lt;div&gt;
    &lt;span&gt;{{street}}&lt;/span&gt;
    &lt;span&gt;{{city}}&lt;/span&gt;
    &lt;span&gt;{{zip}}&lt;/span&gt;
    &lt;span&gt;{{zip}}&lt;/span&gt;
  &lt;/div&gt;
&lt;/def&gt;
&lt;/head&gt;</pre>
<p>I don&#8217;t have any illusions that this fantasy has even a tiny chance of coming true though. Besides, it&#8217;s like a beggar asking for caviar when any kind of microdata support will satiate our hunger.</p>
<p><em>Boss! Boss! The Plane. The Plane!</em></p>
<p><strong>update:</strong></p>
<p>Here is a more elaborate version of the def element for the bored:</p>
<pre>&lt;def name="name" package="http://ting.ly/name"
  attrs="$$first last$$"&gt;
  &lt;span&gt;$$first$$ $$middle$$ $$last$$&lt;/span&gt;
&lt;/def&gt;</pre>
<p>which could be used like this:</p>
<pre>&lt;name first="Don" last="Park"/&gt;</pre>
<p>There are lots of wholes in this sketch which is why it&#8217;s a fantasy.</p>Posted in Technical Tagged: fantasy, html5, microdata <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/276/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=276&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/05/12/html5-microdata-fantasy/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Smiley Profile Image Set</title>
		<link>http://blog.docuverse.com/2009/05/06/smiley-profile-image-set/</link>
		<comments>http://blog.docuverse.com/2009/05/06/smiley-profile-image-set/#comments</comments>
		<pubDate>Thu, 07 May 2009 07:41:09 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=273</guid>
		<description><![CDATA[I wish I could use a set of profile images instead of just one and have appropriate one displayed based on text content so that if I put a smiley like   or   in the text, photo of me smiling or winking will show.
It doesn&#8217;t have to be a face, it could [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=273&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>I wish I could use a set of profile images instead of just one and have appropriate one displayed based on text content so that if I put a smiley like <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  or <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  in the text, photo of me smiling or winking will show.</p>
<p>It doesn&#8217;t have to be a face, it could be topic/category images. And I don&#8217;t see why tweet-specific images couldn&#8217;t be displayed since Twitter already sends out image URL with each tweet (inside &#8216;user&#8217;).</p>Posted in General Tagged: blog, twitter <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/273/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=273&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/05/06/smiley-profile-image-set/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Trying Twitter/Facebook-like P2 theme to&#8230;</title>
		<link>http://blog.docuverse.com/2009/05/06/trying-twitterfacebook-like-p2-theme-to/</link>
		<comments>http://blog.docuverse.com/2009/05/06/trying-twitterfacebook-like-p2-theme-to/#comments</comments>
		<pubDate>Thu, 07 May 2009 06:44:31 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/2009/05/06/trying-twitterfacebook-like-p2-theme-to/</guid>
		<description><![CDATA[Trying Twitter/Facebook-like P2 theme to see if that&#8217;ll get me to post more often.
I did change default template&#8217;s post body font size and added side paddings for easier reading.Posted in General Tagged: General      <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=271&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>Trying Twitter/Facebook-like P2 theme to see if that&#8217;ll get me to post more often.</p>
<p>I did change default template&#8217;s post body font size and added side paddings for easier reading.</p>Posted in General Tagged: General <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/271/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/271/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/271/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=271&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/05/06/trying-twitterfacebook-like-p2-theme-to/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>Why wasn&#8217;t OAuth Vulnerability found earlier?</title>
		<link>http://blog.docuverse.com/2009/04/28/why-wasnt-oauth-vulnerability-found-earlier/</link>
		<comments>http://blog.docuverse.com/2009/04/28/why-wasnt-oauth-vulnerability-found-earlier/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 23:53:58 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=263</guid>
		<description><![CDATA[According to OAuth about page, it was Blaine Cook who initiated the birth of the the standard while working at Twitter in Nov. 2006. Blaine mobilized the initiative by getting Chris Messina involved which attracted others at CitizenSpace to join the effort (an excellent demonstration of benefits co-working social environments offer). By April 2007, the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=263&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>According to <a href="http://oauth.net/about">OAuth about</a> page, it was Blaine Cook who initiated the birth of the the standard while working at Twitter in Nov. 2006. Blaine mobilized the initiative by getting Chris Messina involved which attracted others at CitizenSpace to join the effort (an excellent demonstration of benefits co-working social environments offer). By April 2007, the initiative got to formalize and, by October 2007, OAuth Core 1.0 spec was finalized. The question of interest to me is, <strong>why did it take a year and a half to uncover the <a href="http://oauth.net/advisories/2009-1">first vulnerability</a>?</strong></p>
<p>It&#8217;s puzzling because OAuth was well known and popularized, attracted a large body of developers, many of whom I presume read the spec, and implemented by many, some very large companies. I&#8217;ve read the spec as well and discussed it with peers and partners in the security and payment industry on several occasions.</p>
<p>I think the right answer might be that our collective perspective in dealing with the standard was focused on implementation, application, and hype while wrongly assuming that the standard was secure. Recollecting my thoughts when I was reading the spec for the first time, I now realize that it was the <em>safety in numbers</em> and the lure of promising applications that influenced me to focus only on implementation.</p>
<p>The good news is that I think OAuth will be given the proper shake it needs to get any remaining kinks out. The bad news is that we are likely to repeat the mistake when the next popular grassroots standard emerges in a hurry. Relatively fast pace of<em> community/grassroots</em> standard initiatives is not a concern <strong>only if</strong> mass appeal can be effectively leveraged to shine intensive searchlight on all aspect of the standard.</p>Posted in Technical Tagged: oauth, security <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=263&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/04/28/why-wasnt-oauth-vulnerability-found-earlier/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
		<item>
		<title>On Twitter&#8217;s OAuth Fix</title>
		<link>http://blog.docuverse.com/2009/04/25/on-twitters-oauth-fix/</link>
		<comments>http://blog.docuverse.com/2009/04/25/on-twitters-oauth-fix/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 22:58:51 +0000</pubDate>
		<dc:creator>donpark</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.docuverse.com/?p=259</guid>
		<description><![CDATA[While the OAuth team is working on addressing the OAuth session fixation vulnerability at the spec level, Twitter made following changes to reduce the exposure window:

Shorter Request Token timeout &#8211; This is good practice in general. Developers tend to be too generous and, all too often, forget to enforce or verify enforcement.
Ignore oauth_callback, in favor [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=259&subd=donpark&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<br /><p>While the OAuth team is working on addressing the <a href="http://blog.docuverse.com/2009/04/23/on-oauth-vulnerability/">OAuth session fixation vulnerability</a> at the spec level, Twitter made <a href="http://groups.google.com/group/twitter-api-announce/browse_thread/thread/2086c8c5a12242ec">following changes</a> to reduce the exposure window:</p>
<ul>
<li>Shorter Request Token timeout &#8211; This is good practice in general. Developers tend to be too generous and, all too often, forget to enforce or verify enforcement.</li>
<li>Ignore oauth_callback, in favor of URL set at regration time &#8211; this prevents hackers from intercepting callback.</li>
</ul>
<p>Double-callback is still possible though which means Twitter OAuth Consumers will have to detect extraneous callbacks and invalidate access to everyone involved because they have no way of telling who is who.</p>
<p>Remaining exposure to the vulnerability is when hacker&#8217;s simulated callback arrives before the user. We are talking temporal exposure of a couple of seconds at most which, given current Twitter use-cases, is not that big a deal. I wouldn&#8217;t do banking over Twitter though. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>Posted in Technical Tagged: oauth, security, twitter <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/donpark.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/donpark.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/donpark.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/donpark.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/donpark.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/donpark.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/donpark.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/donpark.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/donpark.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/donpark.wordpress.com/259/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.docuverse.com&blog=343932&post=259&subd=donpark&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://blog.docuverse.com/2009/04/25/on-twitters-oauth-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/88f2ee32d146425a422f58f8eab5424b?s=96&#38;d=identicon&#38;r=X" medium="image">
			<media:title type="html">donpark</media:title>
		</media:content>
	</item>
	</channel>
</rss>