<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>endflow.net blog</title>
	<atom:link href="http://blog.endflow.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.endflow.net</link>
	<description>/* programming and programming */</description>
	<lastBuildDate>Thu, 06 Oct 2011 06:51:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Android: Eclipse crashes when opening Resource Chooser dialog on Mac OS X</title>
		<link>http://blog.endflow.net/?p=406</link>
		<comments>http://blog.endflow.net/?p=406#comments</comments>
		<pubDate>Sun, 02 Oct 2011 04:30:26 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=406</guid>
		<description><![CDATA[/* .DS_Store file in &#8220;res&#8221; directory */ Yesterday, I wanted to see the list of internal icon resources of Android SDK, so I put a dummy ImageView widget to a screen in Graphical Layout and it opens the dialog named &#8220;Resource Chooser&#8221;. But it causes crash and freeze of Eclipse IDE suddenly. Why? When I [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* .DS_Store file in &#8220;res&#8221; directory */</span></p>
<p>Yesterday, I wanted to see the list of internal icon resources of Android SDK, so I put a dummy ImageView widget to a screen in Graphical Layout and it opens the dialog named &#8220;Resource Chooser&#8221;.  But it causes crash and freeze of Eclipse IDE suddenly.  Why?  When I previously used Resource Chooser dialog, it works perfect without any error.</p>
<p><strong>In short: The cause is .DS_Store file in &#8220;res&#8221; directory (incl. all sub directories)</strong></p>
<p>ADT plugin tries to read something from .DS_Store file in &#8220;res&#8221; directory (especially &#8220;drawable&#8221; directory) and causes crash.  Okay, so I just remove it using Finder&#8230; WAIT!  If you remove .DS_Store file using Finder, Finder will generate .DS_Store file again.  Really scare infinite-loop.</p>
<p>Use Terminal.  Remove them using &#8220;rm&#8221; command from Terminal application.  While you&#8217;re using Resource Chooser dialog, don&#8217;t touch the Finder app which shows &#8220;res&#8221; directory or its children.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=406</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android: Subclass of BroadcastReceiver must be declared as public</title>
		<link>http://blog.endflow.net/?p=394</link>
		<comments>http://blog.endflow.net/?p=394#comments</comments>
		<pubDate>Wed, 28 Sep 2011 02:02:30 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=394</guid>
		<description><![CDATA[/* BroadcastReceiver */ I wanted to send and receive my own broadcast intent, so I defined MyBroadcastReceiver class in MyAndroidActivity class which is the main activity class launched by Android. Since Java language doesn&#8217;t allow to define two or more public classes in same Java source file, I declared MyBroadcastReceiver class with no modifier (package-private). [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* BroadcastReceiver */</span></p>
<p>I wanted to send and receive my own broadcast intent, so I defined MyBroadcastReceiver class in MyAndroidActivity class which is the main activity class launched by Android.  Since Java language doesn&#8217;t allow to define two or more public classes in same Java source file, I declared MyBroadcastReceiver class with no modifier (package-private).  As a result, I got cryptic exception &#8220;IllegalAccessException&#8221;:</p>
<pre lang="java">DalvikVM[localhost:8600]
	Thread [<1> main] (Suspended (exception RuntimeException))
		ActivityThread.handleReceiver(ActivityThread$ReceiverData) line: 1773
		ActivityThread.access$2400(ActivityThread, ActivityThread$ReceiverData) line: 117
		ActivityThread$H.handleMessage(Message) line: 981
		ActivityThread$H(Handler).dispatchMessage(Message) line: 99
		Looper.loop() line: 130
		ActivityThread.main(String[]) line: 3683
		Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
		Method.invoke(Object, Object...) line: 507
		ZygoteInit$MethodAndArgsCaller.run() line: 839
		ZygoteInit.main(String[]) line: 597
		NativeStart.main(String[]) line: not available [native method]
	Thread [<8> Binder Thread #2] (Running)
	Thread [<7> Binder Thread #1] (Running)
</pre>
<p>After a bit struggling, I found out the answer: subclass of BroadcastReceiver must be declared with public modifier</p>
<p>A subclass of BroadcastReceiver is called from Android system, so I had to define it with public modifier.  This means you can&#8217;t define it in same Java source file.  I tried to define it as public inner class of MyAndroidActivity but failed.</p>
<p>Thanks to this page: <a href="http://stackoverflow.com/questions/3278091/android-java-lang-illegalaccessexception-when-attempting-to-use-a-custom-applic" title="Android: java.lang.IllegalAccessException when attempting to use a custom “Application” class" target="_blank">[StackOverflow] Android: java.lang.IllegalAccessException when attempting to use a custom “Application” class</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=394</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Illustrator crashes on saving if Print Spooler service is disabled</title>
		<link>http://blog.endflow.net/?p=318</link>
		<comments>http://blog.endflow.net/?p=318#comments</comments>
		<pubDate>Sun, 25 Apr 2010 16:52:26 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Illustrator]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=318</guid>
		<description><![CDATA[/* OMG&#8230; */ I have been bothering that Adobe Illustrator always crashes on both Windows XP and 7 when I save the file with AI (Adobe Illustrator) extension to the local disk. Finally, I dug up the way to resolve that annoying problem; just enable Print Spooler service! I can&#8217;t believe this&#8230; but it&#8217;s true. [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* OMG&#8230; */</span></p>
<p><img class="alignnone size-full wp-image-320" title="illustrator_crash" src="http://blog.endflow.net/wp-content/uploads/2010/04/illustrator_crash.png" alt="illustrator_crash" width="415" height="264" /></p>
<p>I have been bothering that Adobe Illustrator always crashes on both Windows XP and 7 when I save the file with AI (Adobe Illustrator) extension to the local disk. Finally, I dug up the way to resolve that annoying problem; <strong>just enable Print Spooler service!</strong> I can&#8217;t believe this&#8230; but it&#8217;s true. You can enable that service from: Control Panel -&gt; Administrative Tools -&gt; Services, then change &#8220;Startup Type&#8221; of Print Spooler service to &#8220;Automatic&#8221;. Of course, you should enable it manually right now!</p>
<p>Thanks for great tip: <a href="http://forums.majorgeeks.com/showthread.php?p=1346117">http://forums.majorgeeks.com/showthread.php?p=1346117</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=318</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Make an issue ID a clickable link on TortoiseHg</title>
		<link>http://blog.endflow.net/?p=307</link>
		<comments>http://blog.endflow.net/?p=307#comments</comments>
		<pubDate>Sun, 28 Mar 2010 09:26:39 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[TortoiseHg]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=307</guid>
		<description><![CDATA[/* Integrate with Issue Tracker */ Unfortunately, TortoiseHg doesn&#8217;t have the feature that integrates with an external issue tracker now. That feature was filed long before, but Bitbucket supports the integration of a repository and an issue tracker, so most developers couldn&#8217;t have strong motivation. To implement functionality of issue tracker integration is hard for [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* Integrate with Issue Tracker */</span></p>
<p>Unfortunately, <a href="http://tortoisehg.org/">TortoiseHg</a> doesn&#8217;t have the feature that integrates with an external issue tracker now. That feature was filed long before, but <a href="http://bitbucket.org/">Bitbucket</a> supports the integration of a repository and an issue tracker, so most developers couldn&#8217;t have strong motivation.</p>
<p>To implement functionality of issue tracker integration is hard for us, so one developer introduced &#8220;Commit Message Parsing&#8221; feature to Repository Explorer for TortoiseHg 1.0, which makes issue IDs clickable URLs.</p>
<p><img class="alignnone size-full wp-image-313" title="issueurl" src="http://blog.endflow.net/wp-content/uploads/2010/03/issueurl.png" alt="issueurl" width="459" height="253" /></p>
<p>Yeah, this feature is written in <a href="http://tortoisehg.bitbucket.org/manual/1.0/changelog.html#message-parsing">the manual</a>, but most users didn&#8217;t know it since we didn&#8217;t provide friendly user interfaces for it. So I&#8217;d like to describe how to configure and use this in here.</p>
<p><span id="more-307"></span></p>
<h3>/* Configuration */</h3>
<p>You can append the configuration to <code>tortoisehg</code> section in your <code>.hgrc</code> or <code>Mercurial.ini</code> file. Most users may want to change repository&#8217;s setting file since the URL of issue tracker will differ from project to project. For instance, if you&#8217;re working on TortoiseHg&#8217;s development repository of Bitbucket:</p>
<pre lang="ini">[tortoisehg]
issue.regex = #(d+)b
issue.link = http://bitbucket.org/tortoisehg/stable/issue/{1}/</pre>
<p>You need to append above lines to repository&#8217;s setting file (<code>.hg/hgrc</code>).</p>
<h3>/* Conclusion */</h3>
<p>The developers have to see bug reports which are filed continuously and expend the time for killing bugs. As a result, they are difficult to look down from comprehensive point of view, new features and/or improvements become trivial things for users.</p>
<p>These are not wrong at all, but there are many hidden features, so we shouldn&#8217;t say RTFM (Read the F*cking Manual). We have to write down them to more friendly articles. Because these features don&#8217;t have the value unless the users use them.</p>
<p><strong>enjoy TortoiseHg!</strong> <img src='http://blog.endflow.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=307</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Checkout SVN repository using TortoiseHg</title>
		<link>http://blog.endflow.net/?p=298</link>
		<comments>http://blog.endflow.net/?p=298#comments</comments>
		<pubDate>Sun, 21 Mar 2010 07:25:25 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[TortoiseHg]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=298</guid>
		<description><![CDATA[/* Well done&#8230; */ I didn&#8217;t know Clone dialog of TortoiseHg 1.0 can be used to checkout Subversion repository without any hack. Did you know? Anyway, this is a blog entry, not a tweet of Twitter, so I&#8217;ll put some explanation how to setup hgsubversion and TortoiseHg on Windows. /* Setup */ TortoiseHg has a [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* Well done&#8230; */</span></p>
<p>I didn&#8217;t know Clone dialog of TortoiseHg 1.0 can be used to checkout Subversion repository without any hack. Did you know?</p>
<p>Anyway, this is a blog entry, not a tweet of Twitter, so I&#8217;ll put some explanation how to setup hgsubversion and TortoiseHg on Windows.</p>
<p><img class="alignnone size-full wp-image-299" title="thg-hgsvn" src="http://blog.endflow.net/wp-content/uploads/2010/03/thg-hgsvn.png" alt="thg-hgsvn" width="521" height="372" /></p>
<p><span id="more-298"></span></p>
<h3>/* Setup */</h3>
<p>TortoiseHg has a well-written <a href="http://tortoisehg.bitbucket.org/manual/1.0/">manual</a> and you can see how-to at <a href="http://tortoisehg.bitbucket.org/manual/1.0/nonhg.html#hgsubversion-svn">hgsubversion section</a>. However, I&#8217;d like to describe it here.</p>
<h4>Requirements</h4>
<ul>
<li>TortoiseHg 1.0 (not 0.9.x series)</li>
<li>hgsubversion Extension (not bundled in Mercurial)</li>
</ul>
<p>First, you need to download TortoiseHg 1.0 (or above) installer from the official website and install it in your PC. Note that there are two installers; 32-bit and 64-bit from version 1.0. In some case, TortoiseHg installer requires reboot (or re-login) after installing.</p>
<p>Next, latest hgsubversion Extension, which is not bundled Mercurial. So you have to get it from a remote repository.</p>
<ol>
<li>Open Clone dialog</li>
<li>Input <a href="http://bitbucket.org/durin42/hgsubversion">http://bitbucket.org/durin42/hgsubversion</a> to &#8220;Source&#8221; field</li>
<li>Input destination path to &#8220;Dest&#8221; field (I recommend simple path: <code>c:workhgsubversion</code>)</li>
<li>Push &#8220;Clone&#8221; button</li>
</ol>
<p>OK, we got all requirements, let&#8217;s check and see configuration file to enable hgsubversion extension. Please open your <code>Mercurial.ini</code> or <code>.hgrc</code> file with preferred text editor and append following line in <code>[extensions]</code> section:</p>
<pre lang="ini">hgsubversion = c:workhgsubversionhgsubversion</pre>
<p>Here is an overview of <code>[extensions]</code> section if you enabled lots of extensions:</p>
<pre lang="ini">[extensions]
hgext.mq =
hgext.rebase =
hgext.transplant =
hgext.bookmarks =
hgext.purge =
hgext.progress =
hgsubversion = C:workhgsubversionhgsubversion</pre>
<h3>/* Checkout! */</h3>
<p>Let&#8217;s checkout SVN repository.</p>
<ol>
<li>Open Clone dialog</li>
<li>Input URL of SVN repository to &#8220;Source&#8221; field</li>
<li>Push &#8220;Clone&#8221; button</li>
</ol>
<p>Hehe, it&#8217;s so easy to done. Thanks!</p>
<p><strong>enjoy TortoiseHg and Subversion!</strong> <img src='http://blog.endflow.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=298</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lazy-Loading mechanism of Django i18n</title>
		<link>http://blog.endflow.net/?p=288</link>
		<comments>http://blog.endflow.net/?p=288#comments</comments>
		<pubDate>Fri, 26 Feb 2010 13:25:44 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=288</guid>
		<description><![CDATA[/* Why? */ I&#8217;d like to introduce i18n (internationalization) framework to TortoiseHg website. So I looked around a template system for Python, then found Django&#8217;s template system and i18n framework. In the process, I got interested in Lazy-Loading of Django&#8217;s i18n framework. I don&#8217;t know whether this entry helps someone, but anyway I try to [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* Why? */</span></p>
<p>I&#8217;d like to introduce i18n (internationalization) framework to <a href="http://tortoisehg.org/">TortoiseHg</a> website. So I looked around a template system for Python, then found Django&#8217;s template system and i18n framework. In the process, I got interested in Lazy-Loading of Django&#8217;s i18n framework.</p>
<p>I don&#8217;t know whether this entry helps someone, but anyway I try to explain it with a little sample code. Welcome any comment! I&#8217;m Django newbie <img src='http://blog.endflow.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-288"></span></p>
<h3>/* Not yet */</h3>
<p>Now translating&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=288</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Detect 32/64-bit platform using JavaScript (Failed!)</title>
		<link>http://blog.endflow.net/?p=285</link>
		<comments>http://blog.endflow.net/?p=285#comments</comments>
		<pubDate>Wed, 24 Feb 2010 14:21:11 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=285</guid>
		<description><![CDATA[/* Why? */ I wanted to detect the platform which visitors use 32-bit or 64-bit using JavaScript on various browsers, for dynamically changing download URL of the new TortoiseHg 1.0 installers. Unfortunately, I couldn&#8217;t achieve that goal, but I&#8217;d like to put my result for future reference. /* Environment */ First of all, I should [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* Why? */</span></p>
<p>I wanted to detect the platform which visitors use 32-bit or 64-bit using JavaScript on various browsers, for dynamically changing download URL of the new TortoiseHg 1.0 installers. Unfortunately, I couldn&#8217;t achieve that goal, but I&#8217;d like to put my result for future reference.</p>
<p><span id="more-285"></span></p>
<h3>/* Environment */</h3>
<p>First of all, I should describe the environment:</p>
<ul>
<li>Windows 7 Professional Japanese (64-bit)</li>
<li>Intel Core2Duo E6850</li>
</ul>
<h3>/* Results */</h3>
<p><strong>Disclaimer: The data at this page are provided &#8220;as-is&#8221; without warranty.</strong></p>
<h4>Firefox 3.6 (32-bit)</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.2) Gecko/20100115 Firefox/3.6</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Netscape</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>5.0 (Windows; ja)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win32</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>(None)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h4>Firefox 3.7 alpha 1 (64-bit)</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1pre) Gecko/20100121 Minefield/3.7a1pre</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Netscape</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>5.0 (Windows; en-US)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win64</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>(None)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h4>Internet Explorer 8 (32-bit)</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; Creative AutoUpdate v1.40.01)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Microsoft Internet Explorer</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; Creative AutoUpdate v1.40.01)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win32</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>(None)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h4>Internet Explorer 8 (64-bit)</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; Creative AutoUpdate v1.40.01)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Microsoft Internet Explorer</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; Creative AutoUpdate v1.40.01)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win64</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>(None)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h4>Google Chrome 4.0.249.89</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Netscape</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win32</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>Google Inc.</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h4>Opera 10.10</h4>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>Property</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>Value</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.userAgent</td>
<td>Opera/9.80 (Windows NT 6.1; U; ja) Presto/2.2.15 Version/10.10</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appCodeName</td>
<td>Mozilla</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appName</td>
<td>Opera</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.appVersion</td>
<td>9.80 (Windows NT 6.1; U; ja)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.platform</td>
<td>Win32</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendor</td>
<td>(None)</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">navigator.vendorSub</td>
<td>(None)</td>
</tr>
</tbody>
</table>
<h3>/* Conclusion */</h3>
<p>Impossible to detect which 32-bit or 64-bit platform even if you&#8217;re using 64-bit Windows, except Internet Explorer.</p>
<p>So finally, I have to put a hyperlink that points 64-bit version of TortoiseHg at the top page.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=285</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using MQ with TortoiseHg</title>
		<link>http://blog.endflow.net/?p=250</link>
		<comments>http://blog.endflow.net/?p=250#comments</comments>
		<pubDate>Tue, 05 Jan 2010 06:36:19 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[TortoiseHg]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=250</guid>
		<description><![CDATA[/* MQ support: Newly introduced in 0.9 */ A while ago, TortoiseHg 0.9.2 was released and I&#8217;m focusing the development for 0.10. It&#8217;s too late, but I would like to explain about MQ support on TortoiseHg. We already supported a part of MQ features, but you know it&#8217;s not enough to use MQ for daily [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* MQ support: Newly introduced in 0.9 */</span></p>
<p>A while ago, <a href="http://bitbucket.org/kuy/thg-ja/wiki/ReleaseNotes#tortoisehg-092">TortoiseHg 0.9.2</a> was released and I&#8217;m focusing the development for 0.10. It&#8217;s too late, but I would like to explain about <a href="http://mercurial.selenic.com/wiki/MqExtension">MQ</a> support on TortoiseHg. We already supported a part of MQ features, but you know it&#8217;s not enough to use MQ for daily work. So I had to open command prompt.</p>
<p><img class="alignnone size-full wp-image-276" title="MQ Panel" src="http://blog.endflow.net/wp-content/uploads/2010/01/mq_01_mqpane_en.png" alt="MQ Panel" width="500" height="350" /></p>
<p>TotoiseHg Manual is well written documentation expected MQ features since I didn&#8217;t describe it&#8230; I hope you learn MQ support of TortoriseHg with this article.</p>
<p><span id="more-250"></span></p>
<h3 class="first-h3">/* WORKING */</h3>
<p><strong>Now Translating&#8230;</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=250</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flickr Fav Set: #1 Create new FavSet</title>
		<link>http://blog.endflow.net/?p=225</link>
		<comments>http://blog.endflow.net/?p=225#comments</comments>
		<pubDate>Sun, 22 Feb 2009 11:33:18 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Greasemonkey]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=225</guid>
		<description><![CDATA[/* Introduction */ This series is a tutorial for greasemonkey script Flickr Fav Set introduced in previous blog entry. In this tutorial, I&#8217;d like to explain about the overview of user interface, creating new FavSet and add your favorites to FavSet. If you didn&#8217;t installed the script yet or don&#8217;t know about Flickr Fav Set, [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* Introduction */</span></p>
<p>This series is a tutorial for greasemonkey script <a href="http://userscripts.org/scripts/show/42785">Flickr Fav Set</a> introduced in previous blog entry. In this tutorial, I&#8217;d like to explain about the overview of user interface, creating new FavSet and add your favorites to FavSet.</p>
<p><img src="http://farm4.static.flickr.com/3635/3300136342_7ab5a890d6_o.png" alt="create new favset" width="390" height="266" /></p>
<p>If you didn&#8217;t installed the script yet or don&#8217;t know about Flickr Fav Set, please see <a href="http://blog.endflow.net/?p=213">this entry</a> first.</p>
<p><span id="more-225"></span></p>
<h3 class="first-h3">/* Tutorial */</h3>
<ol>
<li><strong>Create new FavSet</strong></li>
<li>Browsing FavSets (writing&#8230;)</li>
<li>Modifing &amp; Deleting FavSets (writing&#8230;)</li>
<li>Works with AutoPagerize (writing&#8230;)</li>
<li>Using Photo Selector (writing&#8230;)</li>
<li>Backup &amp; Restore FavSets (writing&#8230;)</li>
<li>UI localization (writing&#8230;)</li>
</ol>
<h3 class="first-h3">/* Basic definitions &amp; UI layout */</h3>
<p>Before creating your first FavSet, I&#8217;d like to define some words using in this tutorial and show UI layout and name.</p>
<p><strong>Favorites</strong>: &#8220;Favorites&#8221; means &#8220;Favorite photos in Flickr&#8221; in this tutorial. It&#8217;s the same as Flickr&#8217;s. In addition to, I say &#8220;faved&#8221; or &#8220;faving&#8221; sometime.</p>
<p><strong>FavSet</strong>: &#8220;FavSet&#8221; is a virtual folder to categorize faved photos. However, there&#8217;s large difference between FavSet and real folder (of File System on Windows or Mac); you can put one faved photo to multiple FavSets. FavSet is similar to &#8220;Tag&#8221;. So you can use FavSet as Tag. For example, there are 3 FavSets; &#8220;Summer&#8221;, &#8220;Blue&#8221; and &#8220;Sky&#8221;. And you add Blue Sky photo took in last summer to 3 FavSets.</p>
<p>Here is the overview of UI layout.</p>
<p><a href="http://farm4.static.flickr.com/3403/3299677884_07e2d7ac12_o.png"><img title="UI overview of Flickr Fav Set" src="http://farm4.static.flickr.com/3403/3299677884_46bfff35b8.jpg" alt="UI overview of Flickr Fav Set" width="500" height="476" /></a></p>
<h3 class="first-h3">/* Create new FavSet */</h3>
<h4>Switch to &#8220;Edit mode&#8221; from &#8220;View mode&#8221;</h4>
<p>There are 2 mode in Flickr Fav Set; &#8220;Edit mode&#8221; for new/delete/modify FavSet and &#8220;View mode&#8221; for browsing FavSets. In default, Flickr Fav Set is in View mode. So you must click &#8220;EDIT&#8221; button located on the right most of toolbar to move Edit mode.</p>
<p><a title="switch to edit mode" href="http://farm4.static.flickr.com/3411/3298893467_a81e316c19_o.png"><img src="http://farm4.static.flickr.com/3411/3298893467_84c2b37319.jpg" alt="switch to edit mode" width="500" height="476" /></a></p>
<h4>Click &#8220;NEW&#8221; button to create FavSet</h4>
<p>After moving Edit mode, you&#8217;ll see &#8220;NEW&#8221; button in the toolbar. Click this button and create new FavSet.</p>
<p><a title="click new button" href="http://farm4.static.flickr.com/3439/3299723426_13a0d5c6d9_o.png"><img src="http://farm4.static.flickr.com/3439/3299723426_babf28897a.jpg" alt="click new button" width="500" height="476" /></a></p>
<h4>Input FavSet name</h4>
<p>Now we got blank FavSet. It doesn&#8217;t have name yet, so please input FavSet name you want. Flickr Fav Set supports multibyte character (i.e. Japanese, Chinese, &#8230;). You can&#8217;t use &#8220;Untitled&#8221; as FavSet name.</p>
<p><a title="input name 1" href="http://farm4.static.flickr.com/3659/3298893811_4d7966e1e2_o.png"><img src="http://farm4.static.flickr.com/3659/3298893811_385163eb0f.jpg" alt="input name 1" width="500" height="476" /></a></p>
<p>In this, I&#8217;ve named it &#8220;Flower&#8221;.</p>
<p><a title="input name 2" href="http://farm4.static.flickr.com/3555/3298894021_dca1ab856a_o.png"><img src="http://farm4.static.flickr.com/3555/3298894021_5b448f52a0.jpg" alt="input name 2" width="500" height="476" /></a></p>
<p>When you input FavSet name, click &#8220;SAVE&#8221; button to store your first FavSet. You also use Enter key instead of clicking &#8220;SAVE&#8221; button. If you press ESC key, unnamed FavSet will removed by Flickr Fav Set.</p>
<p><a title="save name" href="http://farm4.static.flickr.com/3513/3299723896_0f2f435526_o.png"><img src="http://farm4.static.flickr.com/3513/3299723896_a0ed4f74b0.jpg" alt="save name" width="500" height="476" /></a></p>
<p>Well done!</p>
<h3 class="first-h3">/* Set cover photo */</h3>
<p>FavSet also can hold cover photo like Flickr&#8217;s Set. I recommend you set it because it&#8217;s very easy and you get pretty good looks of FavSet Selector.</p>
<p>FavSet Selector show all FavSets, and also shows the mark (glowing blue) to indicate selected FavSet. If you didn&#8217;t touch Flickr Fav Set since last operation in previous section, now you select &#8220;Flower&#8221; FavSet. If &#8220;Flower&#8221; FavSet didn&#8217;t selected, please click &#8220;Flower&#8221; FavSet to select it.</p>
<p>OK, let&#8217;s set cover photo. You only drag photo from Deck in the right side and drop it to the slashed area on Info panel.</p>
<p><a title="dragging" href="http://farm4.static.flickr.com/3363/3298894309_14143a14a7_o.png"><img src="http://farm4.static.flickr.com/3363/3298894309_69392b6dc4.jpg" alt="dragging" width="500" height="476" /></a></p>
<p>If the operation finished successfully, you&#8217;ll see like following screenshot.</p>
<p><a title="dropped" href="http://farm4.static.flickr.com/3579/3298894477_169aa9f26c_o.png"><img src="http://farm4.static.flickr.com/3579/3298894477_965717fb13.jpg" alt="dropped" width="500" height="476" /></a></p>
<h3 class="first-h3">/* Select Favorites */</h3>
<p>Here is main tips. However, it&#8217;s easy to add Favorites to FavSet. After checking the FavSet selected, you only click photo on Deck to switch the selection status. Selected photo has the frame colored vivid pink. When you&#8217;ve set the cover photo, Flickr Fav Set adds it to &#8220;Flower&#8221; FavSet automatically. So now &#8220;Flower&#8221; FavSet has just one photo.</p>
<p>One more important thing. There is no save operation in FavSet. Flickr Fav Set stores data of FavSet automatically when you change the condition of FavSet. So you don&#8217;t need to do save operation explicitly. See next screenshot. When you select faved photos, the system serialize data and saves it to preference storage of Firefox. After this, you can click &#8220;Close&#8221; button on the toolbar and close Edit mode.</p>
<p><a title="select" href="http://farm4.static.flickr.com/3374/3298894577_0941f4398d_o.png"><img src="http://farm4.static.flickr.com/3374/3298894577_d8c4073334.jpg" alt="select" width="500" height="476" /></a></p>
<h3 class="first-h3">/* Conclusion */</h3>
<p>Someone may say &#8220;Where are my other faved photos? I have many many favs!&#8221;. Yes, you&#8217;re right. I didn&#8217;t mention about &#8220;Photo Selector&#8221;. I&#8217;ll explain about advanced topic in later tutorial.</p>
<p><strong>enjoy Flickr &amp; FavSet!</strong> <img src='http://blog.endflow.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=225</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flickr Fav Set: Manage your Favorites on Flickr</title>
		<link>http://blog.endflow.net/?p=213</link>
		<comments>http://blog.endflow.net/?p=213#comments</comments>
		<pubDate>Sat, 21 Feb 2009 11:01:19 +0000</pubDate>
		<dc:creator>kuy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Greasemonkey]]></category>
		<category><![CDATA[JS]]></category>

		<guid isPermaLink="false">http://blog.endflow.net/?p=213</guid>
		<description><![CDATA[/* How does it work ? */ Using this greasemonkey script, you can manage your favorites with &#8220;FavSet&#8221; (likes &#8220;Set&#8221; or &#8220;Category&#8221;) on Flickr. In Flickr, the user can put star mark &#8220;Favorite&#8221; on a photo taken by other peoples. However, it&#8217;s difficult to look for favorite one since we have a lot of favorite [...]]]></description>
			<content:encoded><![CDATA[<p><span class="Apple-style-span" style="font-size: 10px; letter-spacing: 1px; line-height: 26px; text-transform: uppercase;">/* How does it work ? */</span></p>
<p>Using this greasemonkey script, you can manage your favorites with &#8220;FavSet&#8221; (likes &#8220;Set&#8221; or &#8220;Category&#8221;) on <a href="http://www.flickr.com/">Flickr</a>.</p>
<p><img src="http://farm4.static.flickr.com/3660/3296487145_4f075e0b33_o.png" alt="FavSet Selector" width="449" height="310" /></p>
<p>In Flickr, the user can put star mark &#8220;Favorite&#8221; on a photo taken by other peoples. However, it&#8217;s difficult to look for favorite one since we have a lot of favorite photos. So I created this.</p>
<p><span id="more-213"></span></p>
<h3 class="first-h3">/* Install */</h3>
<p>This script already uploaded to Userscripts.org. So please install it from this pase.</p>
<p><a href="http://userscripts.org/scripts/show/42785">flickrfavset.user.js</a></p>
<h3 class="first-h3">/* Settings */</h3>
<table border="0">
<tbody>
<tr>
<td style="background-color: #e0ffff;" align="center"><strong>name</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>description</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>value</strong></td>
<td style="background-color: #e0ffff;" align="center"><strong>type</strong></td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">lang</td>
<td>Language setting for the user interface.</td>
<td>&#8216;en&#8217; or &#8216;ja&#8217;</td>
<td>String</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">hide</td>
<td>Show default search box or not?</td>
<td>&#8216;true&#8217; or &#8216;false&#8217;</td>
<td>Boolean</td>
</tr>
<tr>
<td style="background-color: #e3ffe0;">follow</td>
<td>Follow Info panel when you scroll the page.</td>
<td>&#8216;true&#8217; or &#8216;false&#8217;</td>
<td>Boolean</td>
</tr>
</tbody>
</table>
<p>Sample setting</p>
<pre lang="javascript">//// Config {{{1
var cfg = {
    lang:'en',      // UI language: 'en', 'ja'
    hide:true,      // hide default search box
    follow:true,    // FavSet Info panel follow page scroll
    num:{           // display num of photos like "FavSet#1 [18]"
        sel:false,  // in FavSet Selector
        dd:true     // in dropdown-list of Photo Selector
    }
}</pre>
<h3 class="first-h3">/* Usage */</h3>
<p>See separated entries.</p>
<h3 class="first-h3">/* Screenshot */</h3>
<p><strong>FavSet Viewer</strong><br />
<a href="http://farm4.static.flickr.com/3357/3295421378_bb8bdba01e_o.png"><img src="http://farm4.static.flickr.com/3357/3295421378_52a5362433.jpg?v=0" alt="" /></a></p>
<p><strong>FavSet Editor</strong><br />
<a href="http://farm4.static.flickr.com/3349/3295421478_61cd5a6d95_o.png"><img src="http://farm4.static.flickr.com/3349/3295421478_f57d2e8c77.jpg" alt="" /></a></p>
<p><strong>Create new FavSet</strong><br />
<a href="http://farm4.static.flickr.com/3469/3295421610_c0a96ed2ca_o.png"><img src="http://farm4.static.flickr.com/3469/3295421610_abee97d92b.jpg?v=0" alt="" /></a></p>
<h3 class="first-h3">/* Conclusion */</h3>
<p>This script is under development. Any idea and opinions will help me.<br />
<strong>enjoy Flickr! </strong> <img src='http://blog.endflow.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.endflow.net/?feed=rss2&#038;p=213</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
