<?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>Biggy Heady</title>
	<atom:link href="http://blog.xieer.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xieer.com</link>
	<description>ajax . css . html . security . photography</description>
	<lastBuildDate>Mon, 11 Apr 2011 05:32:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>First blog post using word press android app</title>
		<link>http://blog.xieer.com/2011/04/first-blog-post-using-word-press-android-app/</link>
		<comments>http://blog.xieer.com/2011/04/first-blog-post-using-word-press-android-app/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 05:32:38 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/2011/04/first-blog-post-using-word-press-android-app/</guid>
		<description><![CDATA[
This is pretty neat!
]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://blog.xieer.com/wp-content/uploads/2011/04/wpid-1302499888631.jpg" /></p>
<p>This is pretty neat!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2011/04/first-blog-post-using-word-press-android-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Before and After you join a company</title>
		<link>http://blog.xieer.com/2010/03/before-and-after-you-join-a-company/</link>
		<comments>http://blog.xieer.com/2010/03/before-and-after-you-join-a-company/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 08:37:10 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Humour]]></category>
		<category><![CDATA[funny]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=97</guid>
		<description><![CDATA[I just think this is funny.
Translated loosely from a Chinese blog post (http://drjimdiary.blogspot.com/2009/06/blog-post.html)
Before you join the company &#8230;
Boss: Welcome! Office without you sure will looks different!
Employee: If I am too tired working, I may just quit.
Boss: Don&#8217;t worry about that, I won&#8217;t let it happens.
Employee: Can I rest on weekends?
Boss: Of coz! That&#8217;s the bottom [...]]]></description>
			<content:encoded><![CDATA[<p>I just think this is funny.</p>
<p>Translated loosely from a Chinese blog post (http://drjimdiary.blogspot.com/2009/06/blog-post.html)</p>
<p>Before you join the company &#8230;</p>
<p><strong>Boss</strong>: Welcome! Office without you sure will looks different!<br />
<strong>Employee:</strong> If I am too tired working, I may just quit.<br />
<strong>Boss</strong>: Don&#8217;t worry about that, I won&#8217;t let it happens.<br />
<strong>Employee</strong>: Can I rest on weekends?<br />
<strong>Boss</strong>: Of coz! That&#8217;s the bottom line of our company policy.<br />
<strong>Employee</strong>: Do we need to OT till midnight?<br />
<strong>Boss</strong>: No way, Who told you that?<br />
<strong>Employee</strong>: Do we have meal allowance?<br />
<strong>Boss</strong>: Needless to say, its definitely higher than other companies.<br />
<strong>Employee</strong>: Is it possible that I will work till death?<br />
<strong>Boss</strong>: No, why are you thinking in that way?<br />
<strong>Employee</strong>: Will the company organize overseas trip for us?<br />
<strong>Boss</strong>: It&#8217;s part of our company policy!<br />
<strong>Employee</strong>: Do I need to come to work on time?<br />
<strong>Boss</strong>: No, it depends.<br />
<strong>Employee</strong>: How about salary, always paid on time?<br />
<strong>Boss</strong>: Always!<br />
<strong>Employee</strong>: Will the new hire got to do all the jobs?<br />
<strong>Boss</strong>: How can that be possible? There are many seniors staff above you.<br />
<strong>Employee</strong>: Will I get a chance if there is vacancy for management position?<br />
<strong>Boss</strong>: No question about it, that&#8217;s how the company survived.<br />
<strong>Employee</strong>: You are not lying to me are you?</p>
<p>After you join the company, just read in reverse order &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2010/03/before-and-after-you-join-a-company/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using GMail to backup your MySQL database</title>
		<link>http://blog.xieer.com/2010/03/using-gmail-to-backup-your-mysql-database/</link>
		<comments>http://blog.xieer.com/2010/03/using-gmail-to-backup-your-mysql-database/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 10:19:22 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Linode]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=89</guid>
		<description><![CDATA[I have few gmail accounts and some are really under utilized in terms of storage.
So I put up a simple script to be ran as a cron job to backup my database and auto email it to gmail for good.
NOTE: This should be feasible only if you have relatively small database.
Requirements: You will need to [...]]]></description>
			<content:encoded><![CDATA[<p>I have few gmail accounts and some are really under utilized in terms of storage.</p>
<p>So I put up a simple script to be ran as a cron job to backup my database and auto email it to gmail for good.</p>
<p>NOTE: This should be feasible only if you have relatively small database.</p>
<p>Requirements: You will need to have mysqldump, tar, and nail programs installed.</p>
<p>Create this simple shell script in your home directory, I call it backup_db.sh</p>
<pre class="brush: plain;">

#!/bin/bash
mysqldump --user=your_db_username --password=your_db_password --all-databases &gt; mysql.db.backup.sql
tar zcvf mysql.db.backup.tar.gz mysql.db.backup.sql
rm mysql.db.backup.sql
nail -s &quot;Database backup&quot; -a ./mysql.db.backup.tar.gz dummy@gmail.com &lt; /dev/null
rm mysql.db.backup.tar.gz
</pre>
<p>Then in your cron job, add this line:</p>
<pre class="brush: plain;">

01 23 * * 0 /home/your_username/backup_db.sh 2&gt;&amp;1
</pre>
<p>This will run the back up script once a week on Sunday, 1101pm. You can modify the timing and frequency to your preference.</p>
<p>In this way, you will see an email sitting in your gmail inbox with your database backup, on every monday morning <img src='http://blog.xieer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Assuming your mysql database is relatively small, say about 10MB in size, and you have 7G gmail account; then 7G / 10MB / 54 weeks = 12.9. In another word, with a gmail account, you can backup your data for almost<strong> 13</strong> years. Heh.</p>
<p>Then again, this solution is probably only good for small web application, say personal blog kind of thing. But shall be a good way to utilize your gmail storage (seriously, anyone really using &gt; 1G of gmail space?).</p>
<p>Have fun backup-ing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2010/03/using-gmail-to-backup-your-mysql-database/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Linode as SSH Proxy for Web Browsing</title>
		<link>http://blog.xieer.com/2010/03/using-linode-as-ssh-proxy-for-web-browsing/</link>
		<comments>http://blog.xieer.com/2010/03/using-linode-as-ssh-proxy-for-web-browsing/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 06:34:17 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Linode]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=83</guid>
		<description><![CDATA[Just learned a neat trick today: Using your linode as a secure proxy server for web browsing.
I am trying this in Windows, so I used cygwin&#8217;s ssh. You should have ssh already if you are on a linux desktop.
To create a proxy server, simply run this command:


$ssh username@linode-ip-address -D 9999

Enter the password to login when [...]]]></description>
			<content:encoded><![CDATA[<p>Just learned a neat trick today: Using your linode as a secure proxy server for web browsing.</p>
<p>I am trying this in Windows, so I used cygwin&#8217;s ssh. You should have ssh already if you are on a linux desktop.</p>
<p>To create a proxy server, simply run this command:</p>
<pre class="brush: plain;">

$ssh username@linode-ip-address -D 9999
</pre>
<p>Enter the password to login when prompted.</p>
<p>This will create a proxy server in your own computer (localhost) at port 9999.</p>
<p>So in you browser, say Firefox, just need to configure the proxy setting to localhost:9999 and that&#8217;s it, you have a secure proxy as all web traffic will be tunneled through this ssh connection.</p>
<p>NOTE: I found that you need to keep all other proxy setting blank, only set the proxy for SOCKS, else it may not work.</p>
<p>With that, have fun browsing, securely!</p>
<p>References:</p>
<p>http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/</p>
<p>http://keystoneit.wordpress.com/2010/01/22/ssh-tunneling-with-firefox/</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2010/03/using-linode-as-ssh-proxy-for-web-browsing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linode + Nginx</title>
		<link>http://blog.xieer.com/2009/08/linode-nginx/</link>
		<comments>http://blog.xieer.com/2009/08/linode-nginx/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 05:00:02 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=79</guid>
		<description><![CDATA[Spent some time to remove the apache2 and mod_php from the linode, then compiled and installed nginx / php / phpfpm from scratch, with memcache + apc.
Result is 1 cool and fast and responsive web server. Yay~
]]></description>
			<content:encoded><![CDATA[<p>Spent some time to remove the apache2 and mod_php from the linode, then compiled and installed nginx / php / phpfpm from scratch, with memcache + apc.</p>
<p>Result is 1 cool and fast and responsive web server. Yay~</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/08/linode-nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linode Server</title>
		<link>http://blog.xieer.com/2009/07/linode-server/</link>
		<comments>http://blog.xieer.com/2009/07/linode-server/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 14:32:05 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Linode]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=76</guid>
		<description><![CDATA[Just get myself a Linode server. This blog and some other scripts are migrated over.
All I can say is I am soooo happy that I made the switch.
The web page loads much faster, I got direct ssh access, dedicated RAM/HD/Bandwidth for my host. How cool can it be. Php is more responsive too.
Don&#8217;t have to [...]]]></description>
			<content:encoded><![CDATA[<p>Just get myself a Linode server. This blog and some other scripts are migrated over.</p>
<p>All I can say is I am soooo happy that I made the switch.</p>
<p>The web page loads much faster, I got direct ssh access, dedicated RAM/HD/Bandwidth for my host. How cool can it be. Php is more responsive too.</p>
<p>Don&#8217;t have to talk about other things, just this blog is loading so much faster, yay !</p>
<p>That aside, I have something brewing under the table&#8230;. shall talk more about it when it&#8217;s more complete. It&#8217;s quite usable already actually, but need to wrap up some loose ends.</p>
<p>Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/07/linode-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easy Download of Comics using PHP + DownThemAll Plugin</title>
		<link>http://blog.xieer.com/2009/06/easy-download-of-comics-using-php-downthemall-plugin/</link>
		<comments>http://blog.xieer.com/2009/06/easy-download-of-comics-using-php-downthemall-plugin/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 06:56:24 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Comics]]></category>
		<category><![CDATA[Manga]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=51</guid>
		<description><![CDATA[I am a comics fan. Mangas Fan to be exact.
I am recently reading off comics from  动漫屋. But frankly I do not like to read comics online. It&#8217;s slow and it annoys me when I have wait a while to read the next page.
So I studied the site structure and comes up a way [...]]]></description>
			<content:encoded><![CDATA[<p>I am a comics fan. Mangas Fan to be exact.</p>
<p>I am recently reading off comics from <a href="www.db5.com"> 动漫屋</a>. But frankly I do not like to read comics online. It&#8217;s slow and it annoys me when I have wait a while to read the next page.</p>
<p>So I studied the site structure and comes up a way to download the comics first and read them locally.</p>
<p>Requirements:</p>
<ul>
<li>Firefox</li>
<li>DownThemAll Plugin</li>
</ul>
<p>You see, there are quite a few of such (Chinese) comics portal around, mostly based in (guess what) China. Almost all of them put in some form of protection so you can not right click-&gt;view source and find out how to hard link to their pictures. Maybe they do not know such thing called Web Developer Extension for Firefox.</p>
<p>So after studying the web site for awhile with the help of Web Developer Ex, I figured a way to re-generate the links to the pictures directly using PHP.</p>
<p>Next I use DownThemAll (install it here if you have not done so:<a href="http://www.downthemall.net/">http://www.downthemall.net/</a>) to capture the links and start downloading them. I do not want to download them directly using PHP as it&#8217;s is not meant to be a file downloader, and on a windows machine, it doesn&#8217;t support multi-thread (no fork). Even it can be done, it shall needs some coding effort. Why not use an existing tool with excellent UI ?</p>
<p>The PHP code is as below. For those want to try it out I host it here with instructions: <a href="http://www.xieer.com/comicparser">http://www.xieer.com/comicparser</a></p>
<p>If I have the time I may add in support for other comic portal.</p>
<p><strong>NOTE 1</strong>: The script might not work for comics with many volumes / chapters due to my hosting server seems to be pretty slow and get time out when paring</p>
<p><strong>NOTE 2</strong>: As above, the parsing might take some time so please be patient.</p>
<p>PHP Source:</p>
<pre class="brush: php;">
&lt;?
date_default_timezone_set (&quot;Asia/Singapore&quot;);

if (empty($_POST['comicurl']))
{
display_form ();
die;
}

$html_filename = urlencode ($_POST['comicurl']);
if (file_exists ($html_filename))
{
readfile ($html_filename);
display_link ();
die;
}

$raw_html = @file_get_contents ($_POST['comicurl']);
$raw_tokens = explode (&quot;\n&quot;, $raw_html);
foreach ($raw_tokens as $token)
{
if (strstr($token, &quot;showcomic&quot;) &amp;&amp; !strstr($token, &quot;span&quot;))
{
$pagetoken = explode (&quot;showcomic&quot;, $token);
$page = $pagetoken[1];
$page = &quot;http://www.dm5.com/showcomic&quot; . str_replace (strstr ($page, &quot;\&quot;&quot;),&quot;&quot;, $page);
$comic_url[] = $page;
}
}

set_time_limit (0);
if (isset($comic_url) &amp;&amp; count($comic_url))
{
$url_i=1;
foreach ($comic_url as $curl)
{
$d = str_replace (&quot;http://www.dm5.com/showcomic&quot;, &quot;&quot;, $curl);
$next_url = &quot;http://www.dm5.com/display.aspx?id={$d}&quot;;
//echo &quot;$next_url\n&quot;; flush ();
echo &quot;{$url_i}\n&quot;; flush ();
for ($i=1; $i&lt;=5; $i++)
{
$n = file_get_contents ($next_url);
$m = explode (&quot;\n&quot;, $n);
if (!empty($n) &amp;&amp; count($m)&gt;10 )
{
foreach ($m as $nl)
{
if (strstr($nl,&quot;array_img[&quot;) &amp;&amp; strstr($nl, &quot;] =&quot;))
{
$tokens = explode (&quot;=&quot;, $nl);
$url = $tokens[1];
$url = str_replace (&quot;'&quot;, &quot;&quot;, $url);
$url = trim(str_replace (&quot;;&quot;, &quot;&quot;, $url));
$array_img[] = $url;
}
}
echo &quot; okay, \n&quot;;
sleep(1);
break;
}
else echo &quot; retrying {$i}...\n&quot;;
}
$url_i++;
}
}
else
{
echo &quot;No comic url found for processing.&quot;;
die;
}
echo &quot;&lt;br/&gt;\n&quot;;

// the img url is coded in %uhhhh%uhhhh.... format
// so we need to break it into an array, each of hhhh, then covert it back to a unicode char
// join them as a string and we have the actual url
$html_link = &quot;&quot;;
if (isset($array_img) &amp;&amp; count($array_img))
{
foreach ($array_img as $img)
{
//echo $img;
$img_tokens = explode ('%u', $img);
$url = '';
foreach ($img_tokens as $token)
{
$token = trim($token);
if (!empty($token))
{
$char = unichr(('0x' . $token)+0);
$url .= $char;
}
}
//echo $url . &quot;&lt;br/&gt;\n&quot;;
$html_link .= &quot;&lt;a href='{$url}'&gt;link&lt;/a&gt;, \n&quot;;
}
}
else
{
echo &quot;No image url found for processing.&quot;;
die;
}

echo &quot;&lt;br/&gt;Parsing done. Right Click, and select DownThemAll to start downloading the link now&lt;br/&gt;&lt;br/&gt;\n&quot;;
echo $html_link;
display_link ();

file_put_contents ($html_filename, $html_link);

// ------------------------------------------------------------------------------
function unichr($u)
{
return mb_convert_encoding('&amp;#' . intval($u) . ';', 'UTF-8', 'HTML-ENTITIES');
}

function display_link ()
{
echo &quot;&lt;br/&gt;&lt;a href='http://www.xieer.com/comicparser/index.php'&gt;Back to parser main page&lt;/a&gt;&quot;;
}

function display_form ()
{ ?&gt;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
&quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Comic URL Parser&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body style='font-family:arial;'&gt;
&lt;fieldset style='margin:20px; padding:10px; border:2px solid #f0f0f0;'&gt;
&lt;legend style='font-weight:bold; font-size:1.5em; padding:5px; color:brown;'&gt;
&lt;img src='googlesms_s.png' alt='Comic Parser'  style=&quot;border:none;&quot;&gt;
&lt;/legend&gt;

&lt;form method='post' action='&lt;?= $_SERVER['PHP_SELF']?&gt;'&gt;

&lt;div style='margin:20px; margin-top:10px;'&gt;
&lt;div style='font-weight:bold; float:left; width:90px; height:25px; background:#DFF0F2; padding:10px; margin:0px; border:none;'&gt;Comic URL&lt;/div&gt;
&lt;input type='text' name='comicurl' style='padding:6px; margin-left:-3px; font-size:1.5em; width:450px; height:33px; background:#EBF6F7; border:none;'&gt;&lt;input type='submit' value='Parse Comic Link' style='margin:0px; width:150px; padding:12px; background:#eee; border:none; border-top:2px solid #eee;'&gt;

&lt;p&gt;
The URL should look like http://www.dm5.com/Type.aspx?id=abcd
&lt;/p&gt;
&lt;/div&gt;

&lt;div style='margin:20px; width:600px;'&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;

&lt;/form&gt;
&lt;/fieldset&gt;

&lt;fieldset style='margin:20px; padding:20px; border:2px solid #f0f0f0;'&gt;
&lt;legend style='font-weight:bold; font-size:1.5em; padding:5px; color:brown;'&gt;
&lt;b&gt;How To Use&lt;/b&gt;
&lt;/legend&gt;
&lt;p&gt;This application is meant to be used together with
&lt;b&gt;&lt;a href='http://www.mozilla.com/en-US/products/download.html'&gt;Firefox&lt;/a&gt; +
&lt;a href='https://addons.mozilla.org/en-US/firefox/addon/201'&gt;DownThemAll&lt;/a&gt;&lt;/b&gt; Download Manager Addon.
&lt;/p&gt;
&lt;p&gt;(Or with your own choice of download manager) So please install them first before using this parser.&lt;/p&gt;
&lt;ul&gt;
&lt;li style='line-height:1.4em;'&gt;Goto &lt;a href='http://www.dm5.com'&gt;动漫屋 DM5&lt;/a&gt; web page to browse thru the comics. &lt;b&gt;(NOTE:Obviously, It's in Chinese <img src='http://blog.xieer.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &lt;/b&gt;&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;Find out the URL of the comic that you are interested, it should looks like http://www.dm5.com/Type.aspx?id=abcd.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;Enter the URL above and click on the button. That's it.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;After finishing parsing, links will be shown. Use your download manager to capture the links and start downloading.&lt;/li&gt;
&lt;/ul&gt;
&lt;/fieldset&gt;

&lt;fieldset style='margin:20px; padding:20px; border:2px solid #f0f0f0;'&gt;
&lt;legend style='font-weight:bold; font-size:1.5em; padding:5px; color:brown;'&gt;
&lt;b&gt;Tips&lt;/b&gt;
&lt;/legend&gt;
&lt;ul&gt;
&lt;li style='line-height:1.4em;'&gt;If you do not know how to use DownThemAll or any download manager, please do your own &lt;a href='http://is.gd/BUO0'&gt;googling&lt;/a&gt;.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;Or check out this &lt;a href='http://is.gd/BUQy'&gt;quick tutorial&lt;/a&gt; at LifeHacker.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;You may be doing multiple chapters download, to avoid overwriting/confusion, set up the renaming mask. I use &lt;b&gt;*subdirs*.*name*.*ext*&lt;/b&gt;&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;If you are lucky, some comic page might had been parsed and cached. Then the processing will be much faster.&lt;/li&gt;
&lt;/ul&gt;
&lt;/fieldset&gt;

&lt;fieldset style='margin:20px; padding:20px; border:2px solid #f0f0f0;'&gt;
&lt;legend style='font-weight:bold; font-size:1.5em; padding:5px; color:brown;'&gt;
&lt;b&gt;About&lt;/b&gt;
&lt;/legend&gt;
&lt;p style='border:none; float:right;'&gt;
&lt;a href=&quot;http://validator.w3.org/check?uri=referer&quot;&gt;&lt;img
src=&quot;http://www.w3.org/Icons/valid-html401&quot;
alt=&quot;Valid HTML 4.01 Strict&quot; height=&quot;31&quot; width=&quot;88&quot; style=&quot;border:none;&quot;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p style='color:red; font-weight:bold;'&gt;To know more about how this works, refer to my blog post &lt;a href='http://blog.xieer.com/2009/01/how-to-let-people-to-send-free-sms-to-you/'&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div style='margin:5px;'&gt;&lt;b&gt;NOTE&lt;/b&gt; :
&lt;ul&gt;
&lt;li style='line-height:1.4em;'&gt;Unless cached, the time needed to parse the links depends on how big is the comic, more links more time. Start the parsing and go make a coffee.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;The parser doesn't DOWNLOAD the comic for you, it just digs out the links so you can download easily/automatically.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;That said, &lt;b&gt;Please be considerate&lt;/b&gt; and try not to overload the comic server. Keep simultaneous download to about 2 threads.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;If you stress out the server so much that its down, its bad for everyone including yourself.&lt;/li&gt;
&lt;li style='line-height:1.4em;'&gt;The parser only support 动漫屋 DM5 web page for now. More might be supported in the future if I have the time.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;/fieldset&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;? } ?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/06/easy-download-of-comics-using-php-downthemall-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Power of Captcha</title>
		<link>http://blog.xieer.com/2009/06/the-power-of-captcha/</link>
		<comments>http://blog.xieer.com/2009/06/the-power-of-captcha/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 05:22:36 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=48</guid>
		<description><![CDATA[I was sick of clearing spam comments.
It was only a few of them. Now I have thousands of them. And WP doesn&#8217;t seem to have a select all / delete all interface for such comments.
So I go straight to the mysql database and remove them, with simple SQL command.
And next I installed a simple WP [...]]]></description>
			<content:encoded><![CDATA[<p>I was sick of clearing spam comments.</p>
<p>It was only a few of them. Now I have thousands of them. And WP doesn&#8217;t seem to have a select all / delete all interface for such comments.</p>
<p>So I go straight to the mysql database and remove them, with simple SQL command.</p>
<p>And next I installed a simple WP plugin called (obviously) simpleCaptcha. And (maybe not) amazingly, I don&#8217;t have a single spam comment since then (2,3 days so far).</p>
<p>Hope this keep the site clean for the time being. Good luck to myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/06/the-power-of-captcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deploying Self-Signed Symbian App</title>
		<link>http://blog.xieer.com/2009/03/deploying-self-signed-symbian-app/</link>
		<comments>http://blog.xieer.com/2009/03/deploying-self-signed-symbian-app/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 04:51:05 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=40</guid>
		<description><![CDATA[I am doing some sort of symbian application development at the moment and this is totally new to me.
So I had been doing quite a bit of reading and now started some hands on to get myself familar with the IDE, build process, language conventions etc.
I managed to code up a simple console program, no [...]]]></description>
			<content:encoded><![CDATA[<p>I am doing some sort of symbian application development at the moment and this is totally new to me.</p>
<p>So I had been doing quite a bit of reading and now started some hands on to get myself familar with the IDE, build process, language conventions etc.</p>
<p>I managed to code up a simple console program, no GUI, and ran well in the Emulator. But I had been trying hard to deploy it on an actual symbian phone, a Nokia N95 to be exact.</p>
<p>So after two days of googling and trial and error, I finally managed to get it installed. But still unable to launch as I can&#8217;t see it under Application folder. I do see it appears under App Manager tho. May because I did not defined any icon ?</p>
<p>Anyway the points below are tips I found over the net for deploying self-signed Symbian App. I won&#8217;t explain why Symbian App need to be signed, you can google that yourself. I will just tell you that Signing Symbian (even signing it yourself) is a requirement for S60 3rd Edition onwards.</p>
<p>1) In the project mmp file, do not set the Vendor ID. Setting this will cause error saying something like &#8220;Unable to install protected app from untrusted source&#8221;</p>
<p>2) Set the UID1 to 0 and UID2 to <a href="http://blogs.forum.nokia.com/blog/antony-pranatas-forum-nokia-blog/2006/06/16/interpreting-signing-error-messages-in-s60-3rd-edition">unprotected range</a>:</p>
<div style="font-family=courier; padding:5px; margin:5px; background:#555; color:white;"><strong>UID 0 0xAF000000</strong></div>
<p>3) In PKG file, use unprotected range of value for UID, and shall be the same one used in mmp file:</p>
<div style="font-family=courier; padding:5px; margin:5px; background:#555; color:white;"><strong>#{&#8221;PokerCardConsole&#8221;},(0xAF000000),1,0,0</strong></div>
<p>4) Put in the correct <a href="http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes">platform / product ID</a> else the phone might prompt that the application is not compatible:</p>
<div style="font-family=courier; padding:5px; margin:5px; background:#555; color:white;"><strong>[0x102032BE], 0, 0, 0, {&#8221;S60ProductID&#8221;}</strong></div>
<p>Next I am gonna try out GUI stuff and also do developer signed application instead of self-signed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/03/deploying-self-signed-symbian-app/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>谷歌输入法</title>
		<link>http://blog.xieer.com/2009/03/%e8%b0%b7%e6%ad%8c%e8%be%93%e5%85%a5%e6%b3%95/</link>
		<comments>http://blog.xieer.com/2009/03/%e8%b0%b7%e6%ad%8c%e8%be%93%e5%85%a5%e6%b3%95/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 08:21:31 +0000</pubDate>
		<dc:creator>Big Head</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.xieer.com/?p=35</guid>
		<description><![CDATA[刚刚安装了谷歌输入法，马上就上来blog试试看。看来还不错。
也许以后我可以用它来写一些文章或小说哩。
很久没有写中文了。因为不太会其它的中文输入法，用笔又好像太麻烦了。
不管怎麽样，以后我有什么好点子的话我就可以在这里发表了。呵。
]]></description>
			<content:encoded><![CDATA[<p>刚刚安装了<a href="http://www.google.com/ime/pinyin">谷歌输入法</a>，马上就上来blog试试看。看来还不错。</p>
<p>也许以后我可以用它来写一些文章或小说哩。</p>
<p>很久没有写中文了。因为不太会其它的中文输入法，用笔又好像太麻烦了。</p>
<p>不管怎麽样，以后我有什么好点子的话我就可以在这里发表了。呵。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xieer.com/2009/03/%e8%b0%b7%e6%ad%8c%e8%be%93%e5%85%a5%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

