<?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>Jui-Nan Lin's Blog &#187; Uncategorized</title>
	<atom:link href="http://en.jnlin.org/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://en.jnlin.org</link>
	<description>My Mumuring in English, about Un*x, FreeBSD, Network in Taiwan</description>
	<lastBuildDate>Sat, 07 Nov 2009 03:42:11 +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>Bind an outgoing IP address while using jumpgate</title>
		<link>http://en.jnlin.org/2009/10/20/22/</link>
		<comments>http://en.jnlin.org/2009/10/20/22/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 06:59:31 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/10/20/22/</guid>
		<description><![CDATA[jumpgate is a simple TCP proxy for lazy people like me. This is my patch. You can use it freely under the 2 clause BSD license. Usage: jumpgate -B]]></description>
			<content:encoded><![CDATA[<p><a href="http://jumpgate.sourceforge.net/">jumpgate</a> is a simple TCP proxy for lazy people like me.<br />
This is my <a href="http://www.csie.nctu.edu.tw/~jnlin/patch/patch-jumpgate-bind-outgoing-ip.txt">patch</a>. You can use it freely  under the 2 clause BSD license.</p>
<p>Usage: jumpgate -B</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/10/20/22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: policy routing with pf in 7-STABLE is BROKEN</title>
		<link>http://en.jnlin.org/2009/10/19/18/</link>
		<comments>http://en.jnlin.org/2009/10/19/18/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 08:34:17 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/?p=18</guid>
		<description><![CDATA[pass in quick on $wan1 reply-to ($wan1 $wan1gw) from !$wan1net to ($wan1) keep state pass out  route-to ($wan1 $wan1gw) proto {udp, icmp} from $wan1net to any no state pass out  route-to ($wan1 $wan1gw) proto tcp from $wan1net to any flags any no state In FreeBSD 7.0, the pf.conf above worked. But it doesn&#8217;t work in [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>pass in quick on $wan1 reply-to ($wan1 $wan1gw) from !$wan1net to ($wan1) keep state<br />
pass out  route-to ($wan1 $wan1gw) proto {udp, icmp} from $wan1net to any no state<br />
pass out  route-to ($wan1 $wan1gw) proto tcp from $wan1net to any flags any no state</p></blockquote>
<p>In FreeBSD 7.0, the pf.conf above worked. But it doesn&#8217;t work in recent 7-STABLE. The TCP session may connect successfully, but the performance is very very poor (~ 1KB/s).</p>
<p>I have do some research for days, but have no idea. Now I use ipfw to do policy routing&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/10/19/18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year, 2009!</title>
		<link>http://en.jnlin.org/2009/01/01/17/</link>
		<comments>http://en.jnlin.org/2009/01/01/17/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 14:55:00 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Taipei]]></category>
		<category><![CDATA[Taipei 101]]></category>
		<category><![CDATA[Taiwan]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/01/01/17/</guid>
		<description><![CDATA[Fireworks in Taipei 101, to celebrate 2009. We love Taiwan! People running into the MRT station after the firework. About 1.95 million passengers served by TRTC yesterday.]]></description>
			<content:encoded><![CDATA[<p><a title="IMG_2086 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3153648751/"><img height="500" alt="IMG_2086" src="http://farm4.static.flickr.com/3098/3153648751_ab92cafb19.jpg" width="333" /></a>    <br />Fireworks in Taipei 101, to celebrate 2009.</p>
<p><a title="IMG_2096 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3153661449/"><img height="500" alt="IMG_2096" src="http://farm4.static.flickr.com/3114/3153661449_b04b4f9f94.jpg" width="333" /></a>    <br />We love Taiwan!</p>
<p><a title="IMG_2107 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3154504966/"><img height="500" alt="IMG_2107" src="http://farm4.static.flickr.com/3262/3154504966_d56f834e7f.jpg" width="333" /></a>    <br />People running into the MRT station after the firework. About 1.95 million passengers served by TRTC yesterday.     </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/01/01/17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TRTC Train</title>
		<link>http://en.jnlin.org/2009/01/01/16/</link>
		<comments>http://en.jnlin.org/2009/01/01/16/#comments</comments>
		<pubDate>Thu, 01 Jan 2009 14:06:54 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[Taipei]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[TRTC]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2009/01/01/16/</guid>
		<description><![CDATA[To celebrate Nangan Station available to service, TRTC runs a “panda” train in the MRT blue line.]]></description>
			<content:encoded><![CDATA[<p><a title="DSCF7432 by jnlin, on Flickr" href="http://www.flickr.com/photos/jnlinn/3154850057/"><img height="375" alt="DSCF7432" src="http://farm4.static.flickr.com/3099/3154850057_e852a97186.jpg" width="500" /></a>
<p>To celebrate Nangan Station available to service, TRTC runs a “panda” train in the MRT blue line. </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2009/01/01/16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hinting MP4 Files for Flash Player</title>
		<link>http://en.jnlin.org/2008/11/16/15/</link>
		<comments>http://en.jnlin.org/2008/11/16/15/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 07:19:18 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[mp4]]></category>
		<category><![CDATA[mp4box]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/11/16/15/</guid>
		<description><![CDATA[Today, I found my MP4 files are full-downloaded, then played. If the size of the MP4 file is very large, I must wait for a long time. So, I tried to find some solution to hint MP4 files. mp4box just can do this job. Although mp4box is a multiplexor for MP4 files, I just use [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I found my MP4 files are full-downloaded, then played. If the size of the MP4 file is very large, I must wait for a long time. So, I tried to find some solution to hint MP4 files. <a href="http://www.videohelp.com/tools/mp4box">mp4box</a> just can do this job.</p>
<p>Although mp4box is a multiplexor for MP4 files, I just use it to hint my MP4 file:</p>
<p># cd /usr/ports/multimedia/gpac-mp4box   <br /># make install clean    <br /># mp4box -hint video.mp4</p>
<p>Now, I can stream my MP4 files with Flash player.</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/11/16/15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: Move / to Software RAID 1</title>
		<link>http://en.jnlin.org/2008/11/08/14/</link>
		<comments>http://en.jnlin.org/2008/11/08/14/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 03:18:33 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/11/08/14/</guid>
		<description><![CDATA[It&#8217;s a simple thought: build a software RAID 1 disk array with an empty hard disk, and copy data on / to it. After data copied, add the old disk to the array. For example, (sda is the old /, and sdb is the new disk) # sfdisk -d /dev/sda &#124; sfdisk /dev/sdb # mdadm [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a simple thought: build a software RAID 1 disk array with an empty hard disk, and copy data on / to it. After data copied, add the old disk to the array.</p>
<p>For example, </p>
<blockquote><p>(sda is the old /, and sdb is the new disk)      <br /># sfdisk -d /dev/sda | sfdisk /dev/sdb       <br /># mdadm -C /dev/md0 &#8211;level=raid1 &#8211;raid-devices=2 /dev/sdb1 missing       <br /># mkfs -t ext3 /dev/md0       <br /># mount /dev/md0 /mnt       <br /># rsync -ax / /mnt/       <br /># vim /etc/fstab       <br /># vim /boot/grub/menu.lst</p>
<p>Modify fstab and menu.lst, and make sure all /dev/sda is changed to /dev/md0.</p>
<p># reboot</p>
<p>Make sure that md0 is mounted successfully.</p>
<p># mdadm &#8211;manage /dev/md0 &#8211;add /dev/sda1</p>
</blockquote>
<p>Now, we successfully moved / to software RAID 1 <img src='http://en.jnlin.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/11/08/14/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bug in net/iscsi-target?</title>
		<link>http://en.jnlin.org/2008/06/10/13/</link>
		<comments>http://en.jnlin.org/2008/06/10/13/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 17:44:16 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[NetBSD]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/06/10/13/</guid>
		<description><![CDATA[I found that the block count sent from net/iscsi-target to a initiator is round to 2^31: (In FreeBSD, iSCSI Target) Starting iscsi_target.Reading configuration from `/usr/local/etc/iscsi/targets&#8217;target0:rw:10.1.1.0/24&#160;&#160;&#160;&#160;&#160;&#160; extent0:/dev/stripe/gs0:0:2500582432768DISK: 1 logical unit (4883950064 blocks, 512 bytes/block), type iscsi fsDISK: LUN 0: 2384741 MB disk storage for &#8220;target0&#8243;TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target (In Debian Linux, iSCSI initiator) scsi 3:0:0:0: Direct-Access&#160;&#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>I found that the block count sent from net/iscsi-target to a initiator is round to 2^31:</p>
<p>(In FreeBSD, iSCSI Target)</p>
<blockquote><p>Starting iscsi_target.<br />Reading configuration from `/usr/local/etc/iscsi/targets&#8217;<br />target0:rw:<a href="http://10.1.1.0/24">10.1.1.0/24</a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extent0:/dev/stripe/gs0:0:2500582432768<br />DISK: 1 logical unit (4883950064 blocks, 512 bytes/block), type iscsi fs<br />DISK: LUN 0: 2384741 MB disk storage for &#8220;target0&#8243;<br />TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target</p>
</blockquote>
<p>(In Debian Linux, iSCSI initiator)</p>
<blockquote><p>scsi 3:0:0:0: Direct-Access&nbsp;&nbsp;&nbsp;&nbsp; NetBSD&nbsp;&nbsp; NetBSD iSCSI&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; PQ: 0 ANSI: 3<br />sd 3:0:0:0: [sdc] 588982768 512-byte hardware sectors (301559 MB)<br />sd 3:0:0:0: [sdc] Write Protect is off<br />sd 3:0:0:0: [sdc] Mode Sense: 0e 00 00 08<br />sd 3:0:0:0: [sdc] Got wrong page<br />sd 3:0:0:0: [sdc] Assuming drive cache: write through<br />sd 3:0:0:0: [sdc] 588982768 512-byte hardware sectors (301559 MB)<br />sd 3:0:0:0: [sdc] Write Protect is off<br />sd 3:0:0:0: [sdc] Mode Sense: 0e 00 00 08<br />sd 3:0:0:0: [sdc] Got wrong page<br />sd 3:0:0:0: [sdc] Assuming drive cache: write through<br /> sdc: unknown partition table<br />sd 3:0:0:0: [sdc] Attached SCSI disk</p>
</blockquote>
<p>I don&#8217;t know if it is a iSCSI protocol or a implementation limitation. </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/06/10/13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: i386 inside a jail in amd64</title>
		<link>http://en.jnlin.org/2008/06/07/12/</link>
		<comments>http://en.jnlin.org/2008/06/07/12/#comments</comments>
		<pubDate>Sat, 07 Jun 2008 04:35:33 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[i386]]></category>
		<category><![CDATA[jail]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/06/07/12/</guid>
		<description><![CDATA[The key point: make a symlink of jailed /libexec/ld-elf.so.1 to /libexec/ld-elf32.so.1. Of course, your kernel should have COMPAT_IA32 option compiled. # cd /usr/src &#38;&#38; make TARGET_ARCH=i386 TARGET=i386 buildworld # mkdir -p /home/jails/i386 &#38;&#38; make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 installworld # make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 distribution # ln -s /home/jails/i386/libexec/ld-elf.so.1 /home/jails/i386/libexec/ld-elf32.so.1 Then, edit rc.conf in jail to [...]]]></description>
			<content:encoded><![CDATA[<p>The key point: make a symlink of jailed /libexec/ld-elf.so.1 to /libexec/ld-elf32.so.1. Of course, your kernel should have COMPAT_IA32 option compiled.</p>
<p># cd /usr/src &amp;&amp; make TARGET_ARCH=i386 TARGET=i386 buildworld<br />
# mkdir -p /home/jails/i386  &amp;&amp; make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 installworld<br />
# make TARGET_ARCH=i386 TARGET=i386 DESTDIR=/home/jails/i386 distribution<br />
# ln -s /home/jails/i386/libexec/ld-elf.so.1 /home/jails/i386/libexec/ld-elf32.so.1</p>
<p>Then, edit rc.conf in jail to run sshd and start jails. Some utilities, like w/ps/top can not run because they retrieve data from FreeBSD kernel, and the kernel returns 64-bit structures, not 32-bit.</p>
<p>w<br />
4:37AM  up 12 days,  8:40, 1 user, load averages: 0.03, 0.18, 0.20<br />
USER             TTY      FROM              LOGIN@  IDLE WHAT<br />
w: kinfo_proc size mismatch (expected 768, got 1088): No such file or directory</p>
<p>I am doing further test to make sure there aren&#8217;t any mines <img src='http://en.jnlin.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/06/07/12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FreeBSD: Use ZFS volume as an iSCSI Target</title>
		<link>http://en.jnlin.org/2008/05/14/11/</link>
		<comments>http://en.jnlin.org/2008/05/14/11/#comments</comments>
		<pubDate>Tue, 13 May 2008 16:20:41 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/05/14/11/</guid>
		<description><![CDATA[Briefly, we can set the extent of iscsi-target to a ZFS volume&#8230;But I have no idea what will happen if the size of extent is larger than it of the ZFS volume&#8230;:) # zfs create -V 10g tank/iscsi# cd /usr/ports/net/iscsi-target/ ; make install clean# cat &#62; /usr/local/etc/iscsi/targetsextent0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; /dev/zvol/tank/iscsi&#160;&#160;&#160;&#160; 0&#160;&#160;&#160;&#160;&#160;&#160; 10GBtarget0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rw&#160;&#160;&#160;&#160;&#160; extent0&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 10.0.0.0/24^D# /usr/local/etc/rc.d/iscsi_target forcestart [...]]]></description>
			<content:encoded><![CDATA[<p>Briefly, we can set the extent of iscsi-target to a ZFS volume&#8230;<br />But I have no idea what will happen if the size of extent is larger than it of the ZFS volume&#8230;:)</p>
<blockquote><p># zfs create -V 10g tank/iscsi<br /># cd /usr/ports/net/iscsi-target/ ; make install clean<br /># cat &gt; /usr/local/etc/iscsi/targets<br />extent0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/zvol/tank/iscsi&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10GB<br />target0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extent0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10.0.0.0/24<br />^D<br /># /usr/local/etc/rc.d/iscsi_target forcestart</p>
</blockquote>
<p>Now we can connect this iSCSI Target with some iSCSI initiator.</p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/05/14/11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking KMRT</title>
		<link>http://en.jnlin.org/2008/04/23/10/</link>
		<comments>http://en.jnlin.org/2008/04/23/10/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 16:35:47 +0000</pubDate>
		<dc:creator>jnlin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Kaohsiung]]></category>
		<category><![CDATA[KMRT]]></category>
		<category><![CDATA[Taiwan]]></category>

		<guid isPermaLink="false">http://en.jnlin.org/2008/04/23/10/</guid>
		<description><![CDATA[I went to Kaohsiung last weekend, and took KMRT, which officially started passenger service in March 2008. The World Games Station. Kaohsiung Main Station. There are platform screen doors for all underground stations. Central Park Station. I feel the KMRT is very like TMRT, but it is more crowded because of only 3 carriages for [...]]]></description>
			<content:encoded><![CDATA[<p>I went to Kaohsiung last weekend, and took <a href="http://en.wikipedia.org/wiki/Kaohsiung_Mass_Rapid_Transit">KMRT</a>, which officially started passenger service in March 2008.</p>
<p><a title="IMG_1878" href="http://www.flickr.com/photos/92537428@N00/2434231412/"><img alt="IMG_1878" src="http://static.flickr.com/3066/2434231412_3059f36bea.jpg" border="0"></a><br />The World Games Station.</p>
<p><a title="IMG_1879" href="http://www.flickr.com/photos/92537428@N00/2434252238/"><img alt="IMG_1879" src="http://static.flickr.com/2367/2434252238_5002bede90.jpg" border="0"></a><br />Kaohsiung Main Station. There are platform screen doors for all underground stations. </p>
<p><a title="IMG_1884" href="http://www.flickr.com/photos/92537428@N00/2434272418/"><img alt="IMG_1884" src="http://static.flickr.com/2390/2434272418_90cbd4ed0c.jpg" border="0"></a><br />Central Park Station.</p>
<p>I feel the KMRT is very like TMRT, but it is more crowded because of only 3 carriages for each train.<br />And the turnstiles are not functioned so well. I failed to return the single journey ticket in my 3 trips, and tried for the second time for success. </p>
]]></content:encoded>
			<wfw:commentRss>http://en.jnlin.org/2008/04/23/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
