<?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>Shang Liang &#187; Tools</title>
	<atom:link href="http://shang-liang.com/blog/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://shang-liang.com/blog</link>
	<description>Life in a Flash</description>
	<lastBuildDate>Fri, 27 Apr 2012 08:08:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Batch Image Resizing Made Easy Again</title>
		<link>http://shang-liang.com/blog/batch-image-resizing-made-easy-again/</link>
		<comments>http://shang-liang.com/blog/batch-image-resizing-made-easy-again/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 18:19:46 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[bulk]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[resizer]]></category>
		<category><![CDATA[resizing]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=361</guid>
		<description><![CDATA[B.I.R.M.E (Batch Image Resizing Made Easy) finally gets an update and it&#8217;s a HTML5 web app now. I&#8217;ve finally achieved my goal, to make a software which does not need to be installed and runs in all operating systems. The resizing is done by Javascript so the user do not need to wait for uploading [...]]]></description>
			<content:encoded><![CDATA[<p><a title="BIRME batch Image Resizing Made Easy" href="http://birme.net">B.I.R.M.E</a> (Batch Image Resizing Made Easy) finally gets an update and it&#8217;s a HTML5 web app now. I&#8217;ve finally achieved my goal, to make a software which does not need to be installed and runs in all operating systems. The resizing is done by Javascript so the user do not need to wait for uploading the file to the server and then download them later.</p>
<p>Well, it&#8217;s not perfect. BIRME uses drag and drop and File API. Recent versions of Chrome and Firefox support these functions well. Safari 6 and IE10 will be fine once they are released. I haven&#8217;t tried it out in Opera yet (to be honest, I&#8217;m not interested to find out).</p>
<p>This is the most useful thing I&#8217;ve ever made so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/batch-image-resizing-made-easy-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Element Extractor</title>
		<link>http://shang-liang.com/blog/element-extractor/</link>
		<comments>http://shang-liang.com/blog/element-extractor/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 09:21:21 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=299</guid>
		<description><![CDATA[&#8220;It is a lot of hard work to save individual elements from Photoshop (PSD) files into separate images, especially when there are a lot of them.&#8221; Therefore, I created this tool to speed up the process. I have kicked myself many times for only thought of it recently. Download here.]]></description>
			<content:encoded><![CDATA[<p><a href="http://wwgcreatives.com/ee/"><img class="alignnone" title="Element Extractor Logo" src="http://wwgcreatives.com/ee/logo.png" alt="" width="128" height="128" /></a></p>
<p>&#8220;It is a lot of hard work to save individual elements from Photoshop (PSD) files into separate images, especially when there are a lot of them.&#8221; Therefore, I created this tool to speed up the process. I have kicked myself many times for only thought of it recently.</p>
<p><a href="http://wwgcreatives.com/ee/">Download here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/element-extractor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Yum on CentOS 5.5</title>
		<link>http://shang-liang.com/blog/installing-yum-on-centos-5-5/</link>
		<comments>http://shang-liang.com/blog/installing-yum-on-centos-5-5/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 17:21:04 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[dependencies]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[rpm]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=293</guid>
		<description><![CDATA[Here&#8217;s the step by step instruction: Create a &#8220;installyum.sh&#8221; file: vi installyum.sh Paste the code below inside Change the [mirror-site-address] to somewhere near you. The list can be found at CentOS&#8217;s Website. Remember to change i386 to x86_64 if you are using 64 bit system. Press Shift+ZZ to save and exit Grant executable right to [...]]]></description>
			<content:encoded><![CDATA[<div>Here&#8217;s the step by step instruction:</div>
<ol>
<li>Create a &#8220;installyum.sh&#8221; file: <code>vi installyum.sh</code></li>
<li>Paste the code below inside</li>
<li>Change the [mirror-site-address] to somewhere near you. The list can be found at <a href="http://centos.org/" target="_blank">CentOS&#8217;s Website</a>. Remember to change <code>i386</code> to <code>x86_64</code> if you are using 64 bit system.</li>
<li>Press <code>Shift+ZZ</code> to save and exit</li>
<li>Grant executable right to the file: <code>chmod +x installyum.sh</code></li>
<li>Run the script: <code>./installyum.sh</code></li>
</ol>
<p>Here&#8217;s the shell script.</p>
<p><code>for file in \<br />
gmp-4.1.4-10.el5.i386.rpm \<br />
readline-5.1-3.el5.i386.rpm \<br />
python-2.4.3-27.el5.i386.rp \<br />
libxml2-2.6.26-2.1.2.8.i386.rpm \<br />
libxml2-python-2.6.26-2.1.2.8.i386.rpm \<br />
expat-1.95.8-8.3.el5_4.2.i386.rpm \<br />
python-elementtree-1.2.6-5.i386.rpm \<br />
sqlite-3.3.6-5.i386.rpm \<br />
python-sqlite-1.1.7-1.2.1.i386.rpm \<br />
elfutils-libelf-0.137-3.el5.i386.rpm \<br />
elfutils-0.137-3.el5.i386.rpm \<br />
popt-1.10.2.3-18.el5.i386.rpm \<br />
rpm-libs-4.4.2.3-18.el5.i386.rpm \<br />
rpm-4.4.2.3-18.el5.i386.rpm \<br />
rpm-python-4.4.2.3-18.el5.i386.rpm\<br />
m2crypto-0.16-6.el5.6.i386.rpm \<br />
python-urlgrabber-3.1.0-5.el5.noarch.rpm \<br />
python-iniparse-0.2.3-4.el5.noarch.rpm \<br />
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm \<br />
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm \<br />
yum-3.2.22-26.el5.centos.noarch.rpm<br />
do rpm -Uvh --nodeps http://[mirror-site-address]/Linux/CentOS/5.5/os/i386/CentOS/$file;<br />
done</code></p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/installing-yum-on-centos-5-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syntax highlighting for Sass in Dreamweaver</title>
		<link>http://shang-liang.com/blog/syntax-highlighting-for-sass-in-dreamweaver/</link>
		<comments>http://shang-liang.com/blog/syntax-highlighting-for-sass-in-dreamweaver/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 05:32:45 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=260</guid>
		<description><![CDATA[I&#8217;ve just started using Sass to code CSS. I really like it because it has greatly boosted my ego as a programmer, &#8220;I can put programming logic inside my CSS!&#8221; And of course, it makes it much easier to manage a complicated CSS. However, I can&#8217;t edit scss files with Dreamweaver and I miss seeing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just started using Sass to code CSS. I really like it because it has greatly boosted my ego as a programmer, &#8220;I can put programming logic inside my CSS!&#8221; And of course, it makes it much easier to manage a complicated CSS. However, I can&#8217;t edit scss files with Dreamweaver and I miss seeing the colorful syntax. After searching for a while, I found the solution.</p>
<p><a href="http://www.visual28.com/articles/less-scss-syntax-highlighting-in-dreamweaver">less-scss-syntax-highlighting-in-dreamweaver</a></p>
<p>It&#8217;s quite easy. All you need to do is to find this file <em>Dreamweaver CS?/Configuration/DocumentTypes/MMDocumentTypes.xml </em>and<em> </em>change this line <strong>macfileextension=&#8221;css&#8221;</strong> to this <strong>macfileextension=&#8221;css,scss&#8221;</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/syntax-highlighting-for-sass-in-dreamweaver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BIRME – Batch Image Resizing Made Easy</title>
		<link>http://shang-liang.com/blog/birme-batch-image-resizing-made-easy/</link>
		<comments>http://shang-liang.com/blog/birme-batch-image-resizing-made-easy/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 03:14:15 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=208</guid>
		<description><![CDATA[Try it Now! [UPDATE] BIRME is an HTML5 App now and you can use it online.&#160; The story behind As a web developer, I often need to resize images into a specific dimension to suit the website&#8217;s design. I used to resize images in Photoshop but I find it tedious to record actions again and [...]]]></description>
			<content:encoded><![CDATA[<p><a title="BIRME - Batch Image Resizing Made Easy" href="http://birme.net" target="_self" class="">Try it Now!</a></p>
<p>[UPDATE] BIRME is an HTML5 App now and you can use it online.&nbsp;</p>
<p>The story behind</p>
<p>As a web developer, I often need to resize images into a specific dimension to suit the website&#8217;s design. I used to resize images in Photoshop but I find it tedious to record actions again and again for different websites. Besides that, Photoshop is not cheap and not everyone has a (legal) copy. I tried some existing software but none of them satisfied me. Therefore, I decided to write one myself .</p>
<p>I&#8217;ve been searching and testing with many different platforms to develop it, C++, Java, Python and Perl. None of the above can achieve what I wanted, a single executable file without any extra libraries or dll files, no installation required. Finally I landed on PHP and I used&nbsp;<a href="http://www.bambalam.se/bamcompile/" target="_blank">bamcompile</a> to generate an executable file. I still have troubles to get a Mac or Linux version of any PHP compiler to work. I may re-use my C++ code for Mac in the future and wrap it up as an .app.</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/birme-batch-image-resizing-made-easy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sharing some good PHP stuff: Simple HTML DOM Parser</title>
		<link>http://shang-liang.com/blog/sharing-some-good-php-stuff-simple-html-dom/</link>
		<comments>http://shang-liang.com/blog/sharing-some-good-php-stuff-simple-html-dom/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 10:46:47 +0000</pubDate>
		<dc:creator>5566</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=173</guid>
		<description><![CDATA[Most of my Flash projects use XML as &#8220;database&#8221; and PHP is my preferred server script.  I found Simple_HTML_DOM Parser quite a good tool for reading and writing XML files. The default DOM in PHP is quite hard to use. The syntax for creating nodes in PHP is very tiring. Besides that, the biggest headache is [...]]]></description>
			<content:encoded><![CDATA[<p>Most of my Flash projects use XML as &#8220;database&#8221; and PHP is my preferred server script.  I found <a href="http://simplehtmldom.sourceforge.net/">Simple_HTML_DOM</a> Parser quite a good tool for reading and writing XML files. The default DOM in PHP is quite hard to use. The syntax for creating nodes in PHP is very tiring. Besides that, the biggest headache is that the scripts written for PHP 4 are not compatible with PHP 5.</p>
<p>Simple HTML DOM Parser is designed for reading and editing HTML but it works fine with XML files, since XML files are more tidy than HTML. Reading and traversing the XML is easy, just use the find function.</p>
<pre>$xml = file_get_html('http://www.google.com/');
foreach($xml-&gt;find('img') as $element)
       echo $element;</pre>
<p>Writing a new node is not difficult either.</p>
<pre>$node = <strong>str_get_html</strong>(<span class="var">'&lt;sample_node&gt;Hello World&lt;/sample&gt;'</span>);</pre>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/sharing-some-good-php-stuff-simple-html-dom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update: Configure FlashDevelop Code Autocompletion For AIR API</title>
		<link>http://shang-liang.com/blog/update-configure-flashdevelop-code-autocompletion-for-air-api/</link>
		<comments>http://shang-liang.com/blog/update-configure-flashdevelop-code-autocompletion-for-air-api/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 03:33:25 +0000</pubDate>
		<dc:creator>5566</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=166</guid>
		<description><![CDATA[Previously in Flash CS3, the trick of getting autocompletion in FlashDevelop is not working any more in Flash CS4, ast least not in my case. After testing a while I finally got it working again by setting the swc path of the project. Choose &#8220;Project&#62;&#62;Properties&#8230;&#62;&#62;Compiler Options&#62;&#62;SWC Include Libraries&#8221; and add the path of AIR swc [...]]]></description>
			<content:encoded><![CDATA[<p>Previously in Flash CS3, <a href="http://shang-liang.com/blog/configure-flashdevelop-code-autocomplition-for-air-api/" target="_blank">the trick of getting autocompletion in FlashDevelop</a> is not working any more in Flash CS4, ast least not in my case. After testing a while I finally got it working again by setting the swc path of the project.</p>
<p>Choose &#8220;Project&gt;&gt;Properties&#8230;&gt;&gt;Compiler Options&gt;&gt;SWC Include Libraries&#8221; and add the path of AIR swc to it. Most likely it would be something like this: &#8220;C:\Program Files\Adobe\Adobe Flash CS4\AIK1.5\frameworks\libs\air\airglobal.swc&#8221;</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/update-configure-flashdevelop-code-autocompletion-for-air-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Glyphs Helper – A small tool to extract unique glyphs from text</title>
		<link>http://shang-liang.com/blog/glyphs-helper-a-small-tool-to-extract-unique-glyphs-from-text/</link>
		<comments>http://shang-liang.com/blog/glyphs-helper-a-small-tool-to-extract-unique-glyphs-from-text/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 03:46:34 +0000</pubDate>
		<dc:creator>5566</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=138</guid>
		<description><![CDATA[Useful for Flash users and more useful for Flex users to geenerate the glyph ranges. Built with JavaScript. &#62;&#62;enjoy&#60;&#60;]]></description>
			<content:encoded><![CDATA[<p>Useful for Flash users and more useful for Flex users to geenerate the glyph ranges. Built with JavaScript.<br />
<a title="glyphs helper" href="http://www.shang-liang.com/collaborations/shang/glyphs" target="_blank">&gt;&gt;enjoy&lt;&lt;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/glyphs-helper-a-small-tool-to-extract-unique-glyphs-from-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Project Structure Creator</title>
		<link>http://shang-liang.com/blog/flash-project-structure-creator/</link>
		<comments>http://shang-liang.com/blog/flash-project-structure-creator/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 03:49:12 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=82</guid>
		<description><![CDATA[Danny and Edward are working on this awesome flash extension panel that helps to create a project structure. The tool is mainly for website developers and it generates HTML file integrated with swfaddress and swfobject automatically. The cool thing about it is the tool uses an XML schema to generate all the files needed. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img class="left" src="http://www.shang-liang.com/blog/attachment/structure_creator.png" alt="flash structor creator" width="220" height="300" /></p>
<p>Danny and <a title="edward moore" href="http://blog.nichmekof.com/" target="_blank">Edward </a>are working on this awesome flash extension panel that helps to create a project structure. The tool is mainly for website developers and it generates HTML file integrated with swfaddress and swfobject automatically. The cool thing about it is the tool uses an XML schema to generate all the files needed. It&#8217;s very flexible and easy to customise for other purposes. We&#8217;ve made it as an open source project and you can <a title="flash scructure creator" href="http://code.google.com/p/flashstructurecreator/" target="_self">download it in google code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/flash-project-structure-creator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DiTA &#8211; an asdoc GUI Beta2 Now</title>
		<link>http://shang-liang.com/blog/dita-an-asdoc-gui-beta2-now/</link>
		<comments>http://shang-liang.com/blog/dita-an-asdoc-gui-beta2-now/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 02:57:00 +0000</pubDate>
		<dc:creator>Shang</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://shang-liang.com/blog/?p=68</guid>
		<description><![CDATA[I’ve made this little AIR application to generate asdoc commands. It’s in BETA 2 now. Not sure whether I should work on it further more because I’d like to keep it simple. The project is hosted here. Please help to report any bugs/issues at the issues page.]]></description>
			<content:encoded><![CDATA[<p>I’ve made this little AIR application to generate asdoc commands. It’s in BETA 2 now. Not sure whether I should work on it further more because I’d like to keep it simple. The project is <a title="dita google code project" onclick="javascript:pageTracker._trackPageview ('/outbound/code.google.com');" href="http://code.google.com/p/dita/" target="_blank">hosted here</a>. Please help to report any bugs/issues at the <a title="dita google code project issues" onclick="javascript:pageTracker._trackPageview ('/outbound/code.google.com');" href="http://code.google.com/p/dita/issues/list" target="_blank">issues page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://shang-liang.com/blog/dita-an-asdoc-gui-beta2-now/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

