<?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>yuwei.net.nz</title>
	<atom:link href="http://yuwei.net.nz/feed/" rel="self" type="application/rss+xml" />
	<link>http://yuwei.net.nz</link>
	<description>Bits of what I am doing</description>
	<lastBuildDate>Tue, 29 Jun 2010 10:13:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>One week with iRiver Story</title>
		<link>http://yuwei.net.nz/2010/06/29/one-week-with-iriver-story/</link>
		<comments>http://yuwei.net.nz/2010/06/29/one-week-with-iriver-story/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 10:13:56 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Toy]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=98</guid>
		<description><![CDATA[Today, I have had my iRiver Story ebook reader for 1 week. I have read 3 short books on it. I think it is time I should share my experience with it. Here is some spec of it: 6&#8243; e-ink screen qwerty keyboard 2GB internal storage support SD card up to 32G 3.5mm headphone jack [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I have had my iRiver Story ebook reader for 1 week. I have read 3 short books on it. I think it is time I should share my experience with it.</p>
<p>Here is some spec of it:</p>
<ul>
<li>6&#8243; e-ink screen</li>
<li>qwerty keyboard</li>
<li>2GB internal storage</li>
<li>support SD card up to 32G</li>
<li>3.5mm headphone jack and external speaker for mp3</li>
</ul>
<p>For photos, visit <a href="http://www.flickr.com/photos/yuweiwang/sets/72157624330821744/">my flickr</a>. It looks like an Amazon Kindle.</p>
<p>I always like to find what I can do more with things, like what I done to my ASUS router. I few searching online, I found it runs Linux, yeah! With busybox and uses cairo for drawing vectors. It is listed on Openinkpot as work in progress, so I don&#8217;t think it will take long to have a working rom.</p>
<p>I mainly using this reader for reading book in Chinese, that includes books in epub, PDF and txt format. It does a good job with epub and txt. Especially for txt format, text font can be customized by uploading .ttf font files. However, it does not go well with PDF format. It can zoom in to user defined part of the PDF document and reorganize paragraphs, but the font of the PDF document is usually not dark and bold enough for reading. There are a few online book/comic sources provides PDF documents that is formated for 6&#8243; readers, these document works really well.</p>
<p>Furthermore, there are few things I don&#8217;t like about it. Firstly, I would say it is impossible to read magazines on this reader. It only has 8 levels of greyscale. The pictures looks ugly and 6&#8243; is not big enough for magazine. If you wanna read magazine, get an iPad. Secondly, battery lifetime is not as good as they advertised, 7000 pages turns. Mine only takes around 3000 to 3500 pages. I don&#8217;t know whether it is because the battery need couple more cycles to do a batter job, or because my books are stored on SD card. Thirdly, the list of books is listed  in a single list and display 7 of them in each page(just for book, it does put comic into different list), which make it really hard to find a book. It requires to flip through multiple pages to find a book. It needs a better way of listing book or a search functionality. Finally, the slowness of turning page. I think this is the comment problem for e-ink readers.</p>
<p>In conclusion, I am happy with the hardware, and couple of tweaks on the system would make it a great reading device. I think it worth the money I paid for it (~ NZ$375). For those of you want to buy it, WAIT!!! They are working on a new version that includes WIFI.</p>
<p>For more information, here are some links people that want to know more about iRiver Story:</p>
<p><a href="http://www.gennard.net/blog/tag/iriver-story/">http://www.gennard.net/blog/tag/iriver-story/</a></p>
<p><a href="http://vanderwijk.info/">http://vanderwijk.info/</a></p>
<p><a href="http://openinkpot.org/wiki/Device/Story">http://openinkpot.org/wiki/Device/Story</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2010/06/29/one-week-with-iriver-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What are the challenges of computer network anomaly detection?</title>
		<link>http://yuwei.net.nz/2009/10/20/what-are-the-challenges-of-computer-network-anomaly-detection/</link>
		<comments>http://yuwei.net.nz/2009/10/20/what-are-the-challenges-of-computer-network-anomaly-detection/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 22:13:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=89</guid>
		<description><![CDATA[It is almost impossible to model every normal behavior. Also, definition of normal and anomalous is not precise. Intrusion/malicious attacks try to make their behavior looks like normal. State of normal is changing over time. Anomaly is defined differently over different application. (medical, education, stock market, etc.) Lack of validation data Noise in the data [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>It is almost impossible to model every normal behavior. Also, definition of normal and anomalous is not precise.</li>
<li>Intrusion/malicious attacks try to make their behavior looks like normal.</li>
<li>State of normal is changing over time.</li>
<li>Anomaly is defined differently over different application. (medical, education, stock market, etc.)</li>
<li>Lack of validation data</li>
<li>Noise in the data makes detection more difficult.</li>
</ul>
<p>Summary from <em>Anomaly Detection: A Survey</em></p>
<p><em> </em></p>
<p><em></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px 'Gill Sans Light'; color: #797979;">1541882</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px 'Gill Sans';"><strong><em>Anomaly detection: A survey</em></strong><span style="font: 10.0px 'Gill Sans Light'; color: #797979;"> (article)</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Author</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">Chandola, Varun and Banerjee, Arindam and Kumar, Vipin</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Journal</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">ACM Comput. Surv.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Year</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">2009</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Volume</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">41</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Number</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">3</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Pages</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">1&#8211;58</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Address</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">New York, NY, USA</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Date-Added</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">2009-10-19 15:26:32 +1300</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Date-Modified</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">2009-10-19 15:26:32 +1300</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Doi</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">http://doi.acm.org/10.1145/1541880.1541882</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Issn</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">0360-0300</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans';"><strong>Publisher</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 50.0px; font: 12.0px 'Gill Sans Light';">ACM</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Gill Sans Light'; min-height: 14.0px;">
<p></em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><em></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">@article{1541882,</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Address = {New York, NY, USA},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Author = {Chandola, Varun and Banerjee, Arindam and Kumar, Vipin},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Date-Added = {2009-10-19 15:26:32 +1300},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Date-Modified = {2009-10-19 15:26:32 +1300},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Doi = {http://doi.acm.org/10.1145/1541880.1541882},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Issn = {0360-0300},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Journal = {ACM Comput. Surv.},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Number = {3},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Pages = {1&#8211;58},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Publisher = {ACM},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Title = {Anomaly detection: A survey},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Volume = {41},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Year = {2009},</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 20px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUIJidUJHRvcFgkb2JqZWN0c1gkdmVyc2lvblkkYXJjaGl2ZXLRBgdUcm9vdIABqAkKFRYXGyIjVSRudWxs0wsMDQ4RFFpOUy5vYmplY3RzV05TLmtleXNWJGNsYXNzog8QgASABqISE4ACgAOAB1lhbGlhc0RhdGFccmVsYXRpdmVQYXRo0hgNGRpXTlMuZGF0YU8RAbAAAAAAAbAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAMSis9dIKwAAABLceRBhMTUtY2hhbmRvbGEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqOFQxwI13wAAAAAAAAAAAAEAAwAACSAAAAAAAAAAAAAAAAAAAAARYW5vbWFseSBkZXRlY3Rpb24AABAACAAAxKILFwAAABEACAAAxwF/DwAAAAEAEAAS3HkAC6OWAAujfwAAev4AAgBETWFjaW50b3NoIEhEOlVzZXJzOmFsZXg6RG9jdW1lbnRzOmFub21hbHkgZGV0ZWN0aW9uOmExNS1jaGFuZG9sYS5wZGYADgAiABAAYQAxADUALQBjAGgAYQBuAGQAbwBsAGEALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASADdVc2Vycy9hbGV4L0RvY3VtZW50cy9hbm9tYWx5IGRldGVjdGlvbi9hMTUtY2hhbmRvbGEucGRmAAATAAEvAAAVAAIAC///AACABdIcHR4fWCRjbGFzc2VzWiRjbGFzc25hbWWjHyAhXU5TTXV0YWJsZURhdGFWTlNEYXRhWE5TT2JqZWN0XxAiYW5vbWFseSBkZXRlY3Rpb24vYTE1LWNoYW5kb2xhLnBkZtIcHSQloiUhXE5TRGljdGlvbmFyeRIAAYagXxAPTlNLZXllZEFyY2hpdmVyAAgAEQAWAB8AKAAyADUAOgA8AEUASwBSAF0AZQBsAG8AcQBzAHYAeAB6AHwAhgCTAJgAoAJUAlYCWwJkAm8CcwKBAogCkQK2ArsCvgLLAtAAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAAC4g==}}</div>
<p></em></p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/10/20/what-are-the-challenges-of-computer-network-anomaly-detection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wavr test</title>
		<link>http://yuwei.net.nz/2009/10/20/wavr-test/</link>
		<comments>http://yuwei.net.nz/2009/10/20/wavr-test/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 11:42:51 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/2009/10/20/wavr-test/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
		<div id="waveframe-1"  style="width:100%;height:500px;"  ></div>
		 <script type="text/javascript">

				add_wave("waveframe-1",{
					bgcolor:"#00ff00",
					color:"#ff0000",
					font:"",
					font_size:"1em",
					width:"100%",
					height:"500px",
					server:"https://wave.google.com/wave/",
					id:"googlewave.com!w+IEFUhu0WA"		});

		</script>
		
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/10/20/wavr-test/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aria2 Makefile for Openwrt Buildroot</title>
		<link>http://yuwei.net.nz/2009/10/02/aria2-makefile-for-openwrt-buildroot/</link>
		<comments>http://yuwei.net.nz/2009/10/02/aria2-makefile-for-openwrt-buildroot/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 00:54:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[OpenWrt]]></category>
		<category><![CDATA[buildroot]]></category>
		<category><![CDATA[crosscompile]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=68</guid>
		<description><![CDATA[Aria2-1.6.0 Makefile: include $(TOPDIR)/rules.mk PKG_NAME:=aria2 PKG_VERSION:=1.6.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://path.to/source #PKG_MD5SUM:=c97eb0d4f36aa76448ecd660b143c467 #PKG_CAT:=zcat PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) TARGET_LDFLAGS+= \ -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \ -static TARGET_CXXFLAGS+= \ -s include $(INCLUDE_DIR)/package.mk define Package/aria2 SECTION:=net CATEGORY:=Network DEFAULT:=y TITLE:=download manager URL:=http://aria2.sourceforge.net/ DEPENDS:=+libgnutls +zlib endef define Package/aria2/description download manager endef define Build/Configure (cd $(PKG_BUILD_DIR); \ $(TARGET_CONFIGURE_OPTS) \ LDSHARED=&#34;$(TARGET_CC)&#34; \ CXXFLAGS=&#34;$(TARGET_CXXFLAGS) $(TARGET_CFLAGS) $(FPIC)&#34; \ LDFLAGS=&#34;$(TARGET_LDFLAGS)&#34; \ UNAME_S=&#34;Linux&#34; \ [...]]]></description>
			<content:encoded><![CDATA[<p>Aria2-1.6.0 Makefile:</p>
<pre class="brush: cpp">

include $(TOPDIR)/rules.mk

PKG_NAME:=aria2
PKG_VERSION:=1.6.0
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://path.to/source

#PKG_MD5SUM:=c97eb0d4f36aa76448ecd660b143c467
#PKG_CAT:=zcat

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

TARGET_LDFLAGS+= \
	-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
	-static

TARGET_CXXFLAGS+= \
	-s

include $(INCLUDE_DIR)/package.mk

define Package/aria2
SECTION:=net
CATEGORY:=Network
DEFAULT:=y
TITLE:=download manager
URL:=http://aria2.sourceforge.net/
DEPENDS:=+libgnutls +zlib
endef

define Package/aria2/description
	download manager
endef

define Build/Configure
        (cd $(PKG_BUILD_DIR); \
		$(TARGET_CONFIGURE_OPTS) \
		 LDSHARED=&quot;$(TARGET_CC)&quot; \
		 CXXFLAGS=&quot;$(TARGET_CXXFLAGS) $(TARGET_CFLAGS) $(FPIC)&quot; \
		 LDFLAGS=&quot;$(TARGET_LDFLAGS)&quot; \
		 UNAME_S=&quot;Linux&quot; \
		 ./configure \
			 --with-gnutls --host=mipsel-linux --disable-nls \
			 --with-libz-prefix=$(STAGING_DIR)/usr/lib \
	 );
endef

define Build/Compile
	$(MAKE) -C $(PKG_BUILD_DIR)
endef

define Package/aria2/install
	install -m0755 -d $(1)/usr/bin
	install -m0755 $(PKG_BUILD_DIR)/src/aria2c $(1)/usr/bin/
endef

$(eval $(call BuildPackage,aria2))
</pre>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/10/02/aria2-makefile-for-openwrt-buildroot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xnet Dashboard Widget 0.1</title>
		<link>http://yuwei.net.nz/2009/09/13/xnet-dashboard-widget-0-1/</link>
		<comments>http://yuwei.net.nz/2009/09/13/xnet-dashboard-widget-0-1/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 14:43:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=67</guid>
		<description><![CDATA[Xnet is one of ISPs in New Zealand. Personally, I am enjoying use their services. However, there is one thing that I dislike after I changed to use Safari instead of Firefox. Since I am using Xnet&#8217;s FUSION plan, I would like to know how many data I have used (of course, how much I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.xnet.co.nz">Xnet</a> is one of ISPs in New Zealand. Personally, I am enjoying use their services. However, there is one thing that I dislike after I changed to use Safari instead of Firefox. Since I am using Xnet&#8217;s <a href="http://www.xnet.co.nz/fusion/">FUSION plan</a>, I would like to know how many data I have used (of course, how much I have spent). The disappointment is Xnet only provides Windows widget and Firefox extension usage monitor. In my case Mac + Safari, there is no way to keep myself up to date of data usage. At the end, I decided to write myself a usage monitor dashboard widget.</p>
<p>By browsing the Windows widget, I found the information I need, for example, query link and data encryption. There is not much point to go under the hood to explain the code. So here is what the widget looks like.</p>
<div class="wp-caption aligncenter" style="width: 271px"><img title="xnet widget front" src="http://yuwei.net.nz/~alex/xnet_front.png" alt="Xnet Usage Monitor Widget Front" width="261" height="287" /><p class="wp-caption-text">Xnet Usage Monitor Widget Front</p></div>
<p>And the preferences (Back side of the widget)</p>
<div class="wp-caption aligncenter" style="width: 273px"><img title="xnet usage monitor widget back" src="http://yuwei.net.nz/~alex/xnet_back.png" alt="Xnet Usage Monitor Widget Back" width="263" height="288" /><p class="wp-caption-text">Xnet Usage Monitor Widget Back</p></div>
<p>For those of Mac users who are using Xnet as well, try it out. <a href="http://yuwei.net.nz/~alex/XnetUsageMonitor.wdgt.zip">Download</a>. If you found any bug, you are welcome to report it in the comment area.</p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/09/13/xnet-dashboard-widget-0-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Composition and Pattern</title>
		<link>http://yuwei.net.nz/2009/09/05/composition-and-pattern/</link>
		<comments>http://yuwei.net.nz/2009/09/05/composition-and-pattern/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 04:10:58 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=60</guid>
		<description><![CDATA[It&#8217;s a sunny day for some shadow photographing. I captured some shadow. Before all the shooting, check white balance. I used a white A4 paper and took a photo of it. The image of the paper then was used for custom white balance. The first photo is an easy weatherboard wall shadow. You can find [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a sunny day for some shadow photographing. I captured some shadow.</p>
<p>Before all the shooting, check white balance. I used a white A4 paper and took a photo of it. The image of the paper then was used for custom white balance.</p>
<p>The first photo is an easy weatherboard wall shadow. You can find these all around NZ. The classic diagonal composition makes it looks less boring.</p>
<p><a title="Wall Pattern by yuwei (alex) wang, on Flickr" href="http://www.flickr.com/photos/yuweiwang/3888185075/"><img src="http://farm4.static.flickr.com/3471/3888185075_a9ffb5979c_b.jpg" alt="Wall Pattern" width="450" /></a></p>
<p>Second photo is an outside table and its shadow on the wall. This time, there are more lines and they are no longer in parallel. This photo is kind broken the 1/3 composition rule. The separation is right in the middle. The thinking was that I want it to be balanced between dark shadow and bright desk. It also tells what object that shadow is from.</p>
<p><a href="http://www.flickr.com/photos/yuweiwang/3888187633/" title="Table Shadow by yuwei (alex) wang, on Flickr"><img src="http://farm3.static.flickr.com/2469/3888187633_58b0e6562b_b.jpg" width="450" alt="Table Shadow" /></a></p>
<p>The object I am capturing is getting larger and lager. Here is the shadow from fence. Same as the first photo, it was composited in the diagonal way. More to that, this time I added 3rd dimension to it, the depth. The fence is way too colorful to make viewer to just look at the composition, therefore I changed it to black and white.</p>
<p><a href="http://www.flickr.com/photos/yuweiwang/3888983546/" title="B&amp;W Fence Shadow by yuwei (alex) wang, on Flickr"><img src="http://farm4.static.flickr.com/3525/3888983546_b69f902ea1_b.jpg" width="450" alt="B&amp;W Fence Shadow" /></a></p>
<p>To upload the last photo is to proof I have done my laundry while I were taking photos. And it is diagonal too.</p>
<p><a href="http://www.flickr.com/photos/yuweiwang/3888191537/" title="Laundry Day by yuwei (alex) wang, on Flickr"><img src="http://farm3.static.flickr.com/2659/3888191537_2018702808_b.jpg" width="450" alt="Laundry Day" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/09/05/composition-and-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stay 2 Degree</title>
		<link>http://yuwei.net.nz/2009/08/28/stay-2-degree/</link>
		<comments>http://yuwei.net.nz/2009/08/28/stay-2-degree/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 10:21:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=57</guid>
		<description><![CDATA[2 Degree is a new mobile services provide in NZ. Having this blog entry just wanna upload a photo of the envelop they used for sending me the free sim card.]]></description>
			<content:encoded><![CDATA[<p>2 Degree is a new mobile services provide in NZ. Having this blog entry just wanna upload a photo of the envelop they used for sending me the free sim card.</p>
<p> <a href="http://www.flickr.com/photos/yuweiwang/3864692466/" title="IMG_6120 by yuwei (alex) wang, on Flickr"><img src="http://farm4.static.flickr.com/3465/3864692466_7a1e4db991_b.jpg" width="600" height="400" alt="IMG_6120" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/08/28/stay-2-degree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio on WL-500W</title>
		<link>http://yuwei.net.nz/2009/07/21/audio-on-wl-500w/</link>
		<comments>http://yuwei.net.nz/2009/07/21/audio-on-wl-500w/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 08:33:03 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[OpenWrt]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=51</guid>
		<description><![CDATA[I bought a USB audio controller of trademe to continue add things to my WL-500W. The USB audio controller is one of those cheapest one(It cost me $6 plus $4 for postage.).  The reason I wanna add a USB audio controller to my WL-500 is that I want to use it as a mpd server [...]]]></description>
			<content:encoded><![CDATA[<p>I bought a USB audio controller of trademe to continue add things to my WL-500W. The USB audio controller is one of those cheapest one(It cost me $6 plus $4 for postage.).  The reason I wanna add a USB audio controller to my WL-500 is that I want to use it as a mpd server for music.</p>
<p>The USB audio controller looks like this.</p>
<div class="wp-caption aligncenter" style="width: 410px"><img title="The package" src="http://yuwei.net.nz/~alex/DSC00360.JPG" alt="The package" width="400" height="300" /><p class="wp-caption-text">The package</p></div><br />
<div class="wp-caption aligncenter" style="width: 410px"><img alt="USB audio controller" src="http://yuwei.net.nz/~alex/DSC00363.JPG" title="USB controller" width="400" height="300" /><p class="wp-caption-text">USB audio controller</p></div>
<p>To get OpenWrt kernel to pick it up, there are some packages need to be installed</p>
<blockquote><p>kmod-sound-core</p>
<p>kmod-usb-ohci</p>
<p>kmod-alsa</p></blockquote>
<p>Of course, I would like to control the volume, so also</p>
<blockquote><p>alsa-lib</p>
<p>alsa-utils</p></blockquote>
<p>After install the modules and utilities, kernel recognized the audio controller. I tested it is working by using madplayer(is included in opkg repository) to play some mp3s. Of course, install mpd. That&#8217;s it. Music on.</p>
<p>There are some problems I found with this setup. Firstly, the USB audio controller only works when I plug in to the router directly. When I plug it to a USB hub which connect to the router, it doesn&#8217;t work. This means I only have one spear USB port left when I use this USB controller. Dmesg shows following error:</p>
<blockquote>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">ALSA usbaudio.c:875: cannot submit datapipe for urb 0, error -89: enable CONFIG_USB_EHCI_SPLIT_ISO to play through a hub</p>
</blockquote>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">I will look into that to find what is wrong or I just need to enable it by compiling my own kernel.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">The second problem I found is that the volume control does not fully work. I uses alsamixer to control the volume. The problem is it can only turn on the volume(full/100) or turn it off(0). To cop with this, I use the volume control nob on my speaker. It is a big problem when using headset.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">Another problem is that the USB controller itself just too big physically. It can only fit into the bottom USB port on the router. After plug it in, it doesn&#8217;t leave any space for the top port to be usable. Therefore, I am using a USB extension cord which solved this problem.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/07/21/audio-on-wl-500w/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Crosscompile axel for OpenWrt cont.</title>
		<link>http://yuwei.net.nz/2009/07/17/crosscompile-axel-for-openwrt-cont/</link>
		<comments>http://yuwei.net.nz/2009/07/17/crosscompile-axel-for-openwrt-cont/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 09:37:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[OpenWrt]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=47</guid>
		<description><![CDATA[In last post, I use the mips compiler from buildroot to compile axel then copy it over to OpenWrt router for using. Today, I spent a little while to investigate the way to compile axel to an ipkg package. First step is to create a directory for axel under $(TOPDIR)/package, where $(TOPDIR) is the buildroot [...]]]></description>
			<content:encoded><![CDATA[<p>In last <a href="http://yuwei.net.nz/?p=41">post</a>, I use the mips compiler from buildroot to compile axel then copy it over to OpenWrt router for using. Today, I spent a little while to investigate the way to compile axel to an ipkg package.</p>
<p>First step is to create a directory for axel under $(TOPDIR)/package, where $(TOPDIR) is the buildroot root.</p>
<blockquote><p>cd /path/to/trunk</p>
<p>mkdir package/axel</p></blockquote>
<p>Then create a Makefile in that directory. The Makefile contains  following lines</p>
<blockquote><p>include $(TOPDIR)/rules.mk</p>
<p>PKG_NAME:=axel<br />
PKG_VERSION:=2.4<br />
PKG_RELEASE:=1</p>
<p>PKG_BUILD_DIR:=$(BUILD_DIR)/axel-$(PKG_VERSION)<br />
PKG_SOURCE:=axel-$(PKG_VERSION).tar.gz<br />
PKG_SOURCE_URL:=http://path.to/axel-source<br />
PKG_CAT:=zcat</p>
<p>include $(INCLUDE_DIR)/package.mk</p>
<p>define Package/axel<br />
SECTION:=net<br />
CATEGORY:=Network<br />
DEFAULT:=y<br />
TITLE:=axel<br />
URL:=http://axel.alioth.debian.org/<br />
endef</p>
<p>define Package/axel/install<br />
install -m0755 -d $(1)/usr/bin<br />
install -m0755 $(PKG_BUILD_DIR)/axel $(1)/usr/bin/<br />
endef</p>
<p>$(eval $(call BuildPackage,axel))</p></blockquote>
<p>This is for telling make what it is compiling, where the source code is and how it can be compiled. Remember to replace the PKG_SOURCE_URL to where your package is located.</p>
<p>Since axel does not use autoconf for Makefile configuration, it gets a bit hard to tell buildroot how to build it. The Makefile showed in above left out the compiling section to get buildroot to compile it by running .<em>/configure</em> and <em>make</em>. Therefore, I prepared a customized version of axel source code that uses autoconf.</p>
<p>Axel&#8217;s configure script not only generates the Makefile.settings which contains all the flags and arch settings, but also creates <em>config.h</em> file that contains the defined variables for code. Since I am only going to use axel on my openwrt router, I hardcoded the <em>config.h</em> file, as follow:</p>
<blockquote><p>/* Axel settings, generated by configure */<br />
#define _REENTRANT<br />
#define _THREAD_SAFE<br />
#define ETCDIR &#8220;/usr/bin&#8221;<br />
#define LOCALE &#8220;/usr/share/locale&#8221;<br />
#define ARCH &#8220;mipsel&#8221;</p></blockquote>
<p>with this, we can now replace the configure script with autoconf. Configure.in file looks like this</p>
<blockquote>
<p style="text-align: left;">AC_INIT(axel.c)</p>
<p>dnl find and test the C compiler<br />
AC_PROG_CC<br />
AC_LANG_C</p>
<p>AC_PROG_MAKE_SET</p>
<p>AC_HEADER_STDC<br />
#AC_CHECK_FUNCS(gettext libpthread,,AC_MSG_ERROR(oop!))</p>
<p>VERSION=&#8221;2.4&#8243;<br />
AC_SUBST(VERSION)</p>
<p>dnl read Makefile.in and write Makefile<br />
AC_OUTPUT(Makefile)</p></blockquote>
<p>I left out the dependemcy check for libintl and libpthread. If I enable it, buildroot would complain that libintl could not be found even it is installed.  Just remember to install them as well. and the Makefile.in looks like this</p>
<blockquote>
<p style="text-align: left;">CC = @CC@<br />
VERSION = @VERSION@<br />
CFLAGS = @CFLAGS@ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Os -s<br />
LFLAGS = -lpthread -lintl -static -L../../../staging_dir/target-mipsel_uClibc-0.9.30.1/usr/lib/libintl/lib</p>
<p>all: axel</p>
<p>axel: axel.o conf.o conn.o ftp.o http.o search.o tcp.o text.o<br />
$(CC) *.o -o axel $(LFLAGS)</p>
<p>.c.o:<br />
$(CC) -c $*.c -o $*.o -Wall $(CFLAGS)</p>
<p>clean:<br />
rm -f axel *.o</p>
<p>distclean:<br />
rm -f axel *.o Makefile</p></blockquote>
<p>With these 2 file, run <em>autoconf</em>. Configure script will be generated. Now tar and zip your axel source folder to axel-2.4.tar.gz use the command:</p>
<blockquote><p>cp -r /path/to/axel axel-2.4</p>
<p>tar zcvf axel-2.4.tar.gz axel-2.4</p></blockquote>
<p>remember here, the folder must called axel-2.4. Otherwise, buildroot will complain that it can&#8217;t locate the source.</p>
<p>This is all. The next step is to build to world</p>
<blockquote><p>cd /buildroot/directory</p>
<p>make package/symlink</p>
<p>make menuconfig          &#8212; select axel under network/net</p>
<p>make</p></blockquote>
<p>Here is a version of axel I compiled. <a href="http://yuwei.net.nz/files/axel_2.4-1.ipkg">axel_2.4-1.ipkg</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/07/17/crosscompile-axel-for-openwrt-cont/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crosscompile axel for OpenWrt</title>
		<link>http://yuwei.net.nz/2009/07/15/crosscompile-axel-for-openwrt/</link>
		<comments>http://yuwei.net.nz/2009/07/15/crosscompile-axel-for-openwrt/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 21:43:00 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[OpenWrt]]></category>

		<guid isPermaLink="false">http://yuwei.net.nz/?p=41</guid>
		<description><![CDATA[After the ASUS WL_500W has been setup, I had many fun playing with it. Since it has 2 USB 2.0 ports, it is a nice hardware to become my downloading machine, instead of my old 250W big box. Yep, save power bill. Usually, I downloading files from a remote server with Axel. By searching the [...]]]></description>
			<content:encoded><![CDATA[<p>After the ASUS WL_500W has been setup, I had many fun playing with it. Since it has 2 USB 2.0 ports, it is a nice hardware to become my downloading machine, instead of my old 250W big box. Yep, save power bill. Usually, I downloading files from a remote server with Axel. By searching the package list from opkg, there is no sign of it. Google didn&#8217;t give much as well. So, last option, compile it myself.</p>
<p>Router itself is not suitable for compiling, considering the ram size and CPU speed. Therefore, cross compiling is the way to go. There are many <a href="http://www.frontiernet.net/~beakmyn/CrossCompile.htm">ways</a> to do that. I fell buildroot is the most straight forward method. Follow the link instruction, check out buildroot from <a href="https://svn.openwrt.org/">svn</a>, and compile it. We don&#8217;t really care about &#8216;make menuconfig&#8217;, since we only want the liberaries and compilers. However under the package directory where all the package is stored, there is no sign of gettext/libintl which is required for axel. So go back to the svn, check out gettext from branches/packages_8.09 and place it under package directory. They just type &#8216;make&#8217; to compile the buildroot. This should give you all the things you need to compile axel.</p>
<p>Next, grab axel source from their website or svn. From openwrt&#8217;s buildroot doc, they would like you to compile the package under the packages directory with all the Makefile setup. In my case, I just want a working copy of axel, so I didn&#8217;t do that. I just compiled axel with the cross compiler from buildroot.</p>
<p>First of all, run &#8216;./confiure &#8211;i18n=0 &#8211;strip=0&#8242; inside the axel source folder. This will disable the internationalization and binary stripping. Then edit the Makefile.setting. Replace</p>
<blockquote><p>ARCH=Linux</p></blockquote>
<p>to</p>
<blockquote><p>ARCH=mipsel.</p></blockquote>
<p>Edit LFLAGS to</p>
<blockquote>
<p style="text-align: left;">LFLAGS=-static -L/path/to/buildroot/staging_dir/mipsel/usr/lib/libintl/lib -lintl -L/path/to/buildroot/staging_dir/toolchan-mipsel_gcc3.4.6/lib -lpthread</p>
</blockquote>
<p>change CFLAGS to</p>
<blockquote>
<p style="text-align: left;">CFLAGS=-Os -s -I/path/to/buildroot/staging_dir/toolchain-mipsel_gcc3.4.6/include -I/path/to/buildroot/staging_dir/mipsel/usr/lib/libintl/include -I/path/to/buildroot/staging_dir/mipsel/use/include</p>
</blockquote>
<p>Remember the &#8216;-Os -s&#8217;. It helps to reduce the size of output binary. It is usually done during &#8216;make install&#8217;, but we are not doing that. So add it into your CFLAGS.</p>
<p>Next, change CC to your cross compiler</p>
<blockquote>
<p style="text-align: left;">CC=/path/to/buildroot/staging_dir/toolchain-mipsel_gcc3.4.6/bin/mipsel-linux-gcc</p>
</blockquote>
<p>Then, type &#8216;make&#8217; to compile axel. An executable file called &#8216;axel&#8217; should appear in the source directory. Copy it to your router and go nuts. For those of you don&#8217;t wanna compile it, <a href="http://yuwei.net.nz/files/axel">here</a> is a working copy I made.</p>
]]></content:encoded>
			<wfw:commentRss>http://yuwei.net.nz/2009/07/15/crosscompile-axel-for-openwrt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
