<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0MCQHY7fSp7ImA9WhRaEk0.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619</id><updated>2012-02-14T00:51:01.805-08:00</updated><category term="Python" /><category term="HardwareSATA" /><category term="Compiler" /><category term="LinuxArchitecture" /><category term="LanguageEnglish" /><category term="Samba" /><category term="HardwarePCI" /><category term="ARM" /><category term="Windows" /><category term="GPSDevice" /><category term="播放器" /><category term="腳踏車" /><category term="ASICRelated" /><category term="Programming" /><category term="GPSApplication" /><category term="OpenMoko" /><category term="VPN" /><category term="健康" /><category term="Git" /><category term="MoneyRelated_Investment_Banking" /><category term="LinuxTools" /><category term="????" /><category term="EmbeddedSystem" /><category term="Android" /><category term="管理" /><category term="HardwareUSB" /><category term="宅" /><category term="LinuxDistroDebianUtuntu" /><category term="小孩" /><category term="eCos" /><category term="Wii" /><category term="訊息" /><category term="爆笑" /><category term="LinuxDistro" /><category term="Firefox" /><category term="旅遊_原住民_農業" /><category term="Linux" /><category term="html" /><category term="房屋" /><category term="VirtualMachine" /><category term="Hardware" /><category term="VxWorks" /><category term="Debug" /><category term="遊記" /><category term="Language日文" /><category term="腳踏車遊記" /><category term="歌詞" /><category term="跑步" /><category term="個人" /><category term="稅" /><title>mkl Note</title><subtitle type="html">筆記。想法。分享。</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://mkl-note.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>798</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/MklNote" /><feedburner:info uri="mklnote" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;A0MCQHY-fyp7ImA9WhRaEk0.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-5978019647879824500</id><published>2012-02-14T00:50:00.000-08:00</published><updated>2012-02-14T00:51:01.857-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-14T00:51:01.857-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>Notepad++</title><content type="html">Notepad++ Home&lt;br /&gt;&lt;a href="http://notepad-plus-plus.org/"&gt;http://notepad-plus-plus.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-5978019647879824500?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ubw7VXljB2Ltq-wfGuDUt0Oloow/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ubw7VXljB2Ltq-wfGuDUt0Oloow/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ubw7VXljB2Ltq-wfGuDUt0Oloow/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ubw7VXljB2Ltq-wfGuDUt0Oloow/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/nXqzzYUydaU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/5978019647879824500/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=5978019647879824500" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5978019647879824500?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5978019647879824500?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/nXqzzYUydaU/notepad.html" title="Notepad++" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/notepad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcCR3k5fCp7ImA9WhRaEk0.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-9072779216697478029</id><published>2012-02-14T00:07:00.000-08:00</published><updated>2012-02-14T00:11:06.724-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-14T00:11:06.724-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VPN" /><title>IPSec Fragmentation</title><content type="html">RFC 4301 - Security Architecture for the Internet Protocol&lt;br /&gt;&lt;a href="http://tools.ietf.org/html/rfc4301"&gt;http://tools.ietf.org/html/rfc4301&lt;/a&gt;&lt;br /&gt;7. Handling Fragments (on the protected side of the IPsec boundary)&lt;br /&gt;&lt;a href="http://tools.ietf.org/html/rfc4301#page-66"&gt;http://tools.ietf.org/html/rfc4301#page-66&lt;/a&gt;&lt;br /&gt;Appendix D: Fragment Handling Rationale&lt;br /&gt;&lt;a href="http://tools.ietf.org/html/rfc4301#page-88"&gt;http://tools.ietf.org/html/rfc4301#page-88&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-9072779216697478029?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YDGFKF4aH3vKL9oO0askbsdtrZU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YDGFKF4aH3vKL9oO0askbsdtrZU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YDGFKF4aH3vKL9oO0askbsdtrZU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YDGFKF4aH3vKL9oO0askbsdtrZU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/ENWx2yiUdTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/9072779216697478029/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=9072779216697478029" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/9072779216697478029?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/9072779216697478029?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/ENWx2yiUdTI/ipsec-fragmentation.html" title="IPSec Fragmentation" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/ipsec-fragmentation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYCRHwzfSp7ImA9WhRbGEs.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-4959255656261931416</id><published>2012-02-10T00:33:00.001-08:00</published><updated>2012-02-10T00:39:25.285-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-10T00:39:25.285-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>User Mode Linux (UML)</title><content type="html">[wiki] User-mode Linux&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/User-mode_Linux"&gt;http://en.wikipedia.org/wiki/User-mode_Linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The User-mode Linux Kernel Home Page&lt;br /&gt;&lt;a href="http://user-mode-linux.sourceforge.net/"&gt;http://user-mode-linux.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jserv's blog: 透過 User-Mode-Linux 來學習核心設計 (1)&lt;br /&gt;&lt;a href="http://blog.linux.org.tw/~jserv/archives/001871.html"&gt;http://blog.linux.org.tw/~jserv/archives/001871.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jserv's blog: 透過 User-Mode-Linux 來學習核心設計 (2)&lt;br /&gt;&lt;a href="http://blog.linux.org.tw/~jserv/archives/001872.html"&gt;http://blog.linux.org.tw/~jserv/archives/001872.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gentoo Linux 文件 -- Gentoo Linux 開發員 User-Mode Linux 測試指南&lt;br /&gt;&lt;a href="http://www.gentoo.org/doc/zh_tw/uml.xml"&gt;http://www.gentoo.org/doc/zh_tw/uml.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UserModeLinux - DebianWiki&lt;br /&gt;&lt;a href="http://wiki.debian.org.tw/UserModeLinux"&gt;http://wiki.debian.org.tw/UserModeLinux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-4959255656261931416?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JKdmLx7lYXJQm1y3MS_oF85kV0I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JKdmLx7lYXJQm1y3MS_oF85kV0I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JKdmLx7lYXJQm1y3MS_oF85kV0I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JKdmLx7lYXJQm1y3MS_oF85kV0I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/SJTq-jItDgw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/4959255656261931416/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=4959255656261931416" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4959255656261931416?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4959255656261931416?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/SJTq-jItDgw/user-mode-linux-uml.html" title="User Mode Linux (UML)" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/user-mode-linux-uml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkANSHY-eyp7ImA9WhRbFUw.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-6119655146618172497</id><published>2012-02-05T22:42:00.000-08:00</published><updated>2012-02-05T22:46:39.853-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-05T22:46:39.853-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="????" /><title>魏文侯問李克</title><content type="html">說苑 : 政理 : 32 - 中國哲學書電子化計劃&lt;br /&gt;&lt;a href="http://ctext.org/text.pl?node=21716&amp;if=gb"&gt;http://ctext.org/text.pl?node=21716&amp;if=gb&lt;/a&gt;&lt;br /&gt;先秦兩漢 -&gt; 儒家 -&gt; 說苑 -&gt; 政理&lt;br /&gt;魏文侯問李克曰：「為國如何？」對曰：「臣聞為國之道，食有勞而祿有功，使有能而賞必行，罰必當。」文侯曰：「吾嘗罰皆當而民不與，何也？」對曰：「國其有淫民乎？臣聞之曰：奪淫民之祿以來四方之士；其父有功而祿，其子無功而食之，出則乘車馬衣美裘以為榮華，入則修竽琴、鍾石之聲而安其子女之樂，以亂鄉曲之教，如此者奪其祿以來四方之士，此之謂奪淫民也。」&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-6119655146618172497?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4iq20Of8BsKaLIPAXnqaM26bwak/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4iq20Of8BsKaLIPAXnqaM26bwak/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4iq20Of8BsKaLIPAXnqaM26bwak/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4iq20Of8BsKaLIPAXnqaM26bwak/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/8sbb75vI2Tw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/6119655146618172497/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=6119655146618172497" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/6119655146618172497?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/6119655146618172497?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/8sbb75vI2Tw/blog-post.html" title="魏文侯問李克" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8CQ3w8cCp7ImA9WhRbEUg.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-8225718593454766754</id><published>2012-02-01T19:32:00.000-08:00</published><updated>2012-02-01T19:37:42.278-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T19:37:42.278-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Git" /><title>Git commit generation number</title><content type="html">Git Commit Generation Numbers - Stack Overflow&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/6702821/git-commit-generation-numbers"&gt;http://stackoverflow.com/questions/6702821/git-commit-generation-numbers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[RFC/PATCHv2 3/6] commit: add commit_generation function -- Git&lt;br /&gt;&lt;a href="http://www.spinics.net/lists/git/msg161165.html"&gt;http://www.spinics.net/lists/git/msg161165.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[PATCH] Add a 'generation' number to commits -- Git&lt;br /&gt;&lt;a href="http://www.spinics.net/lists/git/msg161311.html"&gt;http://www.spinics.net/lists/git/msg161311.html&lt;/a&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;[wiki] Directed acyclic graph (DAG)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Directed_acyclic_graph"&gt;http://en.wikipedia.org/wiki/Directed_acyclic_graph&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-8225718593454766754?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D_vTwf7s3G8Hl_Ek5PGjBZOBVZ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D_vTwf7s3G8Hl_Ek5PGjBZOBVZ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D_vTwf7s3G8Hl_Ek5PGjBZOBVZ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D_vTwf7s3G8Hl_Ek5PGjBZOBVZ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/OgSZvID_e7I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/8225718593454766754/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=8225718593454766754" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8225718593454766754?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8225718593454766754?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/OgSZvID_e7I/git-commit-generation-number.html" title="Git commit generation number" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/git-commit-generation-number.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEAQnw5fCp7ImA9WhRbEUg.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-4446614589885590287</id><published>2012-02-01T18:50:00.000-08:00</published><updated>2012-02-01T19:17:23.224-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T19:17:23.224-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ARM" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Open Firmware (OF) / device tree (DT)</title><content type="html">[wiki] Open Firmware&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Open_Firmware"&gt;http://en.wikipedia.org/wiki/Open_Firmware&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Open Firmware Home Page (OpenFirmware.ORG)&lt;br /&gt;&lt;a href="http://www.openfirmware.org/"&gt;http://www.openfirmware.org/&lt;/a&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;Device Tree Usage - FDTWiki&lt;br /&gt;&lt;a href="http://devicetree.org/Device_Tree_Usage"&gt;http://devicetree.org/Device_Tree_Usage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Device Tree - OMAPpedia&lt;br /&gt;&lt;a href="http://omappedia.org/wiki/Device_Tree"&gt;http://omappedia.org/wiki/Device_Tree&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kernel/Dev/ARMDeviceTrees - Ubuntu Wiki&lt;br /&gt;Device Tree on ARM Linux kernel work&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/Kernel/Dev/ARMDeviceTrees?action=show&amp;redirect=KernelTeam%2FARMDeviceTrees"&gt;https://wiki.ubuntu.com/Kernel/Dev/ARMDeviceTrees?action=show&amp;redirect=KernelTeam%2FARMDeviceTrees&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Device-tree support for ARM &lt;br /&gt;&lt;a href="http://lwn.net/Articles/367752/"&gt;http://lwn.net/Articles/367752/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ARM Flattened Device Tree status report&lt;br /&gt;&lt;a href="http://elinux.org/images/b/b6/ARM_Device_Tree_Status_Report.pdf"&gt;http://elinux.org/images/b/b6/ARM_Device_Tree_Status_Report.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-4446614589885590287?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EDDt1Ka333genBTpVi7ulM9ADDY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EDDt1Ka333genBTpVi7ulM9ADDY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EDDt1Ka333genBTpVi7ulM9ADDY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EDDt1Ka333genBTpVi7ulM9ADDY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/2aX7jKIOBmE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/4446614589885590287/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=4446614589885590287" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4446614589885590287?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4446614589885590287?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/2aX7jKIOBmE/open-firmware-of-device-tree-dt.html" title="Open Firmware (OF) / device tree (DT)" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/open-firmware-of-device-tree-dt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UHQHoyfCp7ImA9WhRbEEU.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-5585385146621554035</id><published>2012-02-01T00:31:00.000-08:00</published><updated>2012-02-01T00:33:51.494-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-02-01T00:33:51.494-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="LanguageEnglish" /><category scheme="http://www.blogger.com/atom/ns#" term="????" /><title>[wiki] Flag day (software)</title><content type="html">[wiki] Flag day (software)&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Flag_day_%28software%29"&gt;http://en.wikipedia.org/wiki/Flag_day_%28software%29&lt;/a&gt;&lt;blockquote&gt;Flag day ... is a change which requires a complete restart or conversion of a sizable body of software or data. The change is large and expensive, and—in the event it doesn't work—reversing the change is similarly difficult and expensive.&lt;br /&gt;&lt;br /&gt;This usage originates from a change in the Multics operating system's definition of ASCII, which was scheduled for the U.S. holiday, Flag Day, on June 14, 1966.&lt;br /&gt;&lt;br /&gt;Another flag day was January 1, 1983: when the ARPANET changed from NCP to the TCP/IP protocol suite.[&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-5585385146621554035?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hk5ckbM2X2iNXk3BcJFbjLil3WI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hk5ckbM2X2iNXk3BcJFbjLil3WI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hk5ckbM2X2iNXk3BcJFbjLil3WI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hk5ckbM2X2iNXk3BcJFbjLil3WI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/KDAzuI7wpmk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/5585385146621554035/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=5585385146621554035" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5585385146621554035?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5585385146621554035?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/KDAzuI7wpmk/wiki-flag-day-software.html" title="[wiki] Flag day (software)" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/02/wiki-flag-day-software.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMDRnY6fSp7ImA9WhRbEE0.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-5002942161820464422</id><published>2012-01-30T19:27:00.000-08:00</published><updated>2012-01-31T01:34:37.815-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-31T01:34:37.815-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Semantic Patch (spatch)/generic patch (spdiff)</title><content type="html">Backporting the Linux kernel, for good - was: Re: semantic patch inference [LWN.net]&lt;br /&gt;&lt;a href="http://lwn.net/Articles/458918/"&gt;http://lwn.net/Articles/458918/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Backporting the Linux kernel, for good / Linux Plumbers Conference: Developing the Kernel, Libraries and Utilities / September 7-9, 2011 / Santa Rosa, CA&lt;br /&gt;&lt;a href="http://www.linuxplumbersconf.org/2011/ocw/proposals/771"&gt;http://www.linuxplumbersconf.org/2011/ocw/proposals/771&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.linuxplumbersconf.org/2011/ocw//system/presentations/771/original/kernel-backport-for-good.odp"&gt;http://www.linuxplumbersconf.org/2011/ocw//system/presentations/771/original/kernel-backport-for-good.odp&lt;/a&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;spatch&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;man - spatch (1) - apply a semantic patch file to a set of C files&lt;br /&gt;&lt;a href="http://www.digipedia.pl/man/doc/view/spatch.1/"&gt;http://www.digipedia.pl/man/doc/view/spatch.1/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Coccinelle: A Program Matching and Transformation Tool for Systems Code&lt;br /&gt;&lt;a href="http://coccinelle.lip6.fr/"&gt;http://coccinelle.lip6.fr/&lt;/a&gt;&lt;blockquote&gt;apt-get install ocaml-findlib python2.6-dev #install the dev package of your python version&lt;br /&gt;make all http://www.blogger.com/img/blank.gif#or, make world&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Semantic Patches  for specifying and automating Collateral Evolutions&lt;br /&gt;&lt;a href="http://coccinelle.lip6.fr/papers/semantic-patches-talk-ols07.odp"&gt;http://coccinelle.lip6.fr/papers/semantic-patches-talk-ols07.odp&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.diku.dk/hjemmesider/ansatte/julia/eurosys-padioleauy.pdf"&gt;http://www.diku.dk/hjemmesider/ansatte/julia/eurosys-padioleauy.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semantic Patches&lt;br /&gt;&lt;a href="http://coccinelle.lip6.fr/papers/ols07-padioleau.pdf"&gt;http://coccinelle.lip6.fr/papers/ols07-padioleau.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pet Peaves about Platform code, and arch_reset&lt;br /&gt;&lt;a href="http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/072104.html"&gt;http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/072104.html&lt;/a&gt;&lt;br /&gt;Example of using spatch by Tony Lindgren&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;patchparse&lt;/u&gt;&lt;/b&gt; (neither source nor binary found)&lt;br /&gt;&lt;br /&gt;Understanding Collateral Evolution in Linux Device Drivers&lt;br /&gt;&lt;a href="http://coccinelle.lip6.fr/papers/RR-5769.pdf"&gt;http://coccinelle.lip6.fr/papers/RR-5769.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.diku.dk/hjemmesider/ansatte/julia/eurosys-padioleauy.pdf"&gt;http://www.diku.dk/hjemmesider/ansatte/julia/eurosys-padioleauy.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Programs used to produce the figures in the paper: Understanding Collateral Evolution in Linux Device Drivers&lt;br /&gt;patch analyzer (patchparse)/interface analyzer&lt;br /&gt;&lt;a href="http://coccinelle.lip6.fr/patch_analyzer_and_co.html"&gt;http://coccinelle.lip6.fr/patch_analyzer_and_co.html&lt;/a&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;spdiff&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Generic Patch Inference&lt;br /&gt;&lt;a href="http://www.diku.dk/hjemmesider/ansatte/julia/andersen_ase08.pdf"&gt;http://www.diku.dk/hjemmesider/ansatte/julia/andersen_ase08.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;spdiff -- A tool for Semantic Patch Inference&lt;br /&gt;&lt;a href="http://www.diku.dk/hjemmesider/ansatte/jespera/doc.html"&gt;http://www.diku.dk/hjemmesider/ansatte/jespera/doc.html&lt;/a&gt;&lt;blockquote&gt;apt-get install ocaml ocaml-native-compilers menhir&lt;br /&gt;make depend&lt;br /&gt;make opt&lt;br /&gt;&lt;br /&gt;(Ubuntu 10.04)&lt;br /&gt;Error: make: *** No rule to make target `genericparser.cmo', needed by `spdiff'.  Stop.&lt;br /&gt;#345792 - xml-light_2.2-1: FTBFS: No rule to make target `xml_parser.cmi' - Debian Bug report logs&lt;br /&gt;&lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=345792"&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=345792&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Error: ocamlyacc genericparser.mly&lt;br /&gt;File "genericparser.mly", line 31: syntax error&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;spdiff pre-built binary&lt;br /&gt;&lt;a href="http://www.diku.dk/hjemmesider/ansatte/jespera/downloads/spdiff.opt"&gt;http://www.diku.dk/hjemmesider/ansatte/jespera/downloads/spdiff.opt&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-5002942161820464422?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rJJeJ4cJy87JBSoCAtYfHI-5Xyg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJJeJ4cJy87JBSoCAtYfHI-5Xyg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rJJeJ4cJy87JBSoCAtYfHI-5Xyg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJJeJ4cJy87JBSoCAtYfHI-5Xyg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/jY-qW6s55qE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/5002942161820464422/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=5002942161820464422" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5002942161820464422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5002942161820464422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/jY-qW6s55qE/grail.html" title="Semantic Patch (spatch)/generic patch (spdiff)" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/grail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DQ3szfip7ImA9WhRUGUw.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-634152017145494886</id><published>2012-01-30T01:23:00.000-08:00</published><updated>2012-01-30T01:32:52.586-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-30T01:32:52.586-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Stripping kernel module</title><content type="html">Re: Can modules be stripped?&lt;br /&gt;&lt;a href="http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html"&gt;http://www.linux-mips.org/archives/linux-mips/2002-04/msg00031.html&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;strip_module.&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;#       Given a list of objects, strip all static symbols except those&lt;br /&gt;#       required by insmod.&lt;br /&gt;#&lt;br /&gt;#       Copyright Keith Owens &lt;kaos@ocs.com.au&gt;.  GPL.&lt;br /&gt;#       Sat Feb  1 12:52:17 EST 1997&lt;br /&gt;#       &lt;br /&gt;#       Mainly intended for reducing the size of modules to save space&lt;br /&gt;#       on emergency and install disks.  Be aware that removing the&lt;br /&gt;#       static symbols reduces the amount of diagnostic information&lt;br /&gt;#       available for oops.  Not recommended for normal module usage.&lt;br /&gt;#&lt;br /&gt;#       This code requires the modules use MODULE_PARM and EXPORT_.&lt;br /&gt;#       Do not strip modules that have not been converted to use&lt;br /&gt;#       MODULE_PARM or are using the old method of exporting symbols.&lt;br /&gt;#       In particular do not use on modules prior to 2.1.20 (approx).&lt;br /&gt;#&lt;br /&gt;#       The objects are stripped in /tmp, only if the strip works is&lt;br /&gt;#       the original overwritten.  If the command line to strip the&lt;br /&gt;#       symbols becomes too long, the strip is done in multiple passes.&lt;br /&gt;#       Running strip_module twice on the same object is safe (and a&lt;br /&gt;#       waste of time).&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;cat &gt; /tmp/$$.awk &lt;&lt;\EOF&lt;br /&gt;BEGIN   {&lt;br /&gt;        strip = "/usr/bin/objcopy";&lt;br /&gt;        nm = "/usr/bin/nm";&lt;br /&gt;        cp = "/bin/cp";&lt;br /&gt;        mv = "/bin/mv";&lt;br /&gt;        rm = "/bin/rm";&lt;br /&gt;        tmp = "/tmp";&lt;br /&gt;        command_size = 400;     # arbitrary but safe&lt;br /&gt;&lt;br /&gt;        getline &lt; "/proc/self/stat";&lt;br /&gt;        pid = $1;&lt;br /&gt;        tmpcopy = tmp "/" pid ".object";&lt;br /&gt;        nmout = tmp "/" pid ".nmout";&lt;br /&gt;&lt;br /&gt;        for (i = 1; i &lt; ARGC; ++i)&lt;br /&gt;                strip_module(ARGV[i]);&lt;br /&gt;&lt;br /&gt;        do_command(rm " -f " tmpcopy " " nmout);&lt;br /&gt;&lt;br /&gt;        exit(0);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function strip_module(object,&lt;br /&gt;        keep_symbol, to_strip, symbol, command, changed) {&lt;br /&gt;        do_command(cp " -a " object " " tmpcopy);&lt;br /&gt;        do_command(nm " " tmpcopy " &gt; " nmout);&lt;br /&gt;        # delete array_name sometimes breaks, internal error, play safe&lt;br /&gt;        for (symbol in keep_symbol)&lt;br /&gt;                delete keep_symbol[symbol];&lt;br /&gt;        for (symbol in to_strip)&lt;br /&gt;                delete to_strip[symbol];&lt;br /&gt;        new_module_format = 0;&lt;br /&gt;        while ((getline &lt; nmout) &gt; 0) {&lt;br /&gt;                $0 = substr($0, 10);&lt;br /&gt;                # b static variable, uninitialised&lt;br /&gt;                # d static variable, initialised&lt;br /&gt;                # r static array, initialised&lt;br /&gt;                # t static label/procedures&lt;br /&gt;                if ($1 ~ /[bdrt]/)&lt;br /&gt;                        to_strip[$2] = "";&lt;br /&gt;                else if ($1 != "?")&lt;br /&gt;                        keep_symbol[$2] = "";&lt;br /&gt;                else if ($0 ~ /\? __ksymtab_/)&lt;br /&gt;                        keep_symbol[substr($2, 11)] = "";&lt;br /&gt;                else if ($0 ~ /\? __module_parm_/)&lt;br /&gt;                        keep_symbol[substr($2, 15)] = "";&lt;br /&gt;                if ($0 ~ /\? __module/)&lt;br /&gt;                        new_module_format = 1;&lt;br /&gt;        }&lt;br /&gt;        close(nmout);&lt;br /&gt;        command = "";&lt;br /&gt;        changed = 0;&lt;br /&gt;        if (new_module_format) {&lt;br /&gt;                for (symbol in to_strip) {&lt;br /&gt;                        if (!(symbol in keep_symbol)) {&lt;br /&gt;                                changed = 1;&lt;br /&gt;                                if (length(command) &gt; command_size) {&lt;br /&gt;                                        do_command(strip command " " tmpcopy);&lt;br /&gt;                                        command = "";&lt;br /&gt;                                }&lt;br /&gt;                                command = command " --strip-symbol=" symbol;&lt;br /&gt;                        }&lt;br /&gt;                }&lt;br /&gt;        }&lt;br /&gt;        if (command != "") {&lt;br /&gt;                changed = 1;&lt;br /&gt;                do_command(strip command " " tmpcopy);&lt;br /&gt;        }&lt;br /&gt;        if (changed)&lt;br /&gt;                do_command(mv " " tmpcopy " " object);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function do_command(command) {&lt;br /&gt;        if ((ret = system(command)) != 0)&lt;br /&gt;                giveup("command \"" command "\" failed " ret, ret);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function giveup(message, ret) {&lt;br /&gt;        print "strip_module: " message &gt; "/dev/stderr";&lt;br /&gt;        exit(ret);&lt;br /&gt;}&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;awk -f /tmp/$$.awk "$@"&lt;br /&gt;ret=$?&lt;br /&gt;rm -f /tmp/$$.awk&lt;br /&gt;exit $ret&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How much strip(1)-ing is okay for kernel modules?&lt;br /&gt;&lt;a href="http://unix.stackexchange.com/questions/25421/how-much-strip1-ing-is-okay-for-kernel-modules"&gt;http://unix.stackexchange.com/questions/25421/how-much-strip1-ing-is-okay-for-kernel-modules&lt;/a&gt;&lt;br /&gt;strip --strip-unneeded&lt;br /&gt;make INSTALL_MOD_STRIP=1 modules_install.&lt;br /&gt;strip --strip-debug *.ko (= strip -g *.ko)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-634152017145494886?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XF92-XvMC9KlDxoXXlJDYGe78I0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XF92-XvMC9KlDxoXXlJDYGe78I0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XF92-XvMC9KlDxoXXlJDYGe78I0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XF92-XvMC9KlDxoXXlJDYGe78I0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/4r78bc24rO4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/634152017145494886/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=634152017145494886" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/634152017145494886?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/634152017145494886?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/4r78bc24rO4/strip-kernel-module.html" title="Stripping kernel module" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/strip-kernel-module.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEDSXcyeip7ImA9WhRUEEk.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-6496324638561624850</id><published>2012-01-20T00:02:00.000-08:00</published><updated>2012-01-20T00:04:38.992-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T00:04:38.992-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="????" /><title>Data Structure Visualization</title><content type="html">Data Structure Visualization&lt;br /&gt;&lt;a href="http://www.cs.usfca.edu/~galles/visualization/Algorithms.html"&gt;http://www.cs.usfca.edu/~galles/visualization/Algorithms.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;資料結構教學網站 &lt;br /&gt;&lt;a href="http://descent-incoming.blogspot.com/2012/01/blog-post.html"&gt;http://descent-incoming.blogspot.com/2012/01/blog-post.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-6496324638561624850?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/biVnjRhmaaT4DlT7q3c9BhQFO7U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/biVnjRhmaaT4DlT7q3c9BhQFO7U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/biVnjRhmaaT4DlT7q3c9BhQFO7U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/biVnjRhmaaT4DlT7q3c9BhQFO7U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/tsvsWSDz4yo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/6496324638561624850/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=6496324638561624850" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/6496324638561624850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/6496324638561624850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/tsvsWSDz4yo/data-structure-visualization.html" title="Data Structure Visualization" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/data-structure-visualization.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08HSHc4eip7ImA9WhRVGUs.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-702851282980536450</id><published>2012-01-19T01:27:00.000-08:00</published><updated>2012-01-19T01:37:19.932-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T01:37:19.932-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASICRelated" /><category scheme="http://www.blogger.com/atom/ns#" term="Hardware" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Cavium Multicore Programming</title><content type="html">Cavium University Program&lt;br /&gt;&lt;a href="http://university.cavium.com/"&gt;http://university.cavium.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cavium University Program - Download Center&lt;br /&gt;&lt;a href="http://university.cavium.com/download_center.html"&gt;http://university.cavium.com/download_center.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OpenFlow - Enabling Innovation in Your Network&lt;br /&gt;&lt;a href="http://www.openflow.org/"&gt;http://www.openflow.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cnusers.org - Welcome to cnusers.org&lt;br /&gt;&lt;a href="http://www.cnusers.org/"&gt;http://www.cnusers.org/&lt;/a&gt;&lt;br /&gt;Octeon SDK v2.2 from cnusers.org&lt;br /&gt;&lt;a href="http://www.cnusers.org/index.php?option=com_remository&amp;Itemid=32&amp;func=select&amp;id=32"&gt;http://www.cnusers.org/index.php?option=com_remository&amp;Itemid=32&amp;func=select&amp;id=32&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-702851282980536450?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Olej-IGsnabgoGa5xLTAKBJQKmE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Olej-IGsnabgoGa5xLTAKBJQKmE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Olej-IGsnabgoGa5xLTAKBJQKmE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Olej-IGsnabgoGa5xLTAKBJQKmE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/xvPlCzHxhko" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/702851282980536450/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=702851282980536450" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/702851282980536450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/702851282980536450?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/xvPlCzHxhko/cavium-multicore-programming.html" title="Cavium Multicore Programming" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/cavium-multicore-programming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEAQ3o9fip7ImA9WhRVEUo.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-7684863814925031571</id><published>2012-01-09T22:18:00.000-08:00</published><updated>2012-01-09T22:24:02.466-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T22:24:02.466-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASICRelated" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Open Source CPU -- OpenRISC</title><content type="html">Linux 3.1 - Linux Kernel Newbies&lt;br /&gt;&lt;a href="http://kernelnewbies.org/Linux_3.1#head-37c60fa1253db74ce7d224718a71f5836bd5be09"&gt;http://kernelnewbies.org/Linux_3.1#head-37c60fa1253db74ce7d224718a71f5836bd5be09&lt;/a&gt;&lt;blockquote&gt;OpenRISC is an &lt;b&gt;&lt;u&gt;Open Source CPU&lt;/u&gt;&lt;/b&gt; from the OpenCores project that brings to the world of hardware all the same advantages that Open Source software has known for so long. The aim of the project is to create free and open source computing platforms available under the GNU (L)GPL license, and a set of free, open source implementations of the architecture and open source software development tools, libraries, operating systems and applications. The implementation merged in this release is the 32-bit OpenRISC 1000 family (or1k). &lt;/blockquote&gt;&lt;br /&gt;OR1200 OpenRISC Processor - OR1K :: OpenCores&lt;br /&gt;&lt;a href="http://opencores.org/or1k/OR1200_OpenRISC_Processor"&gt;http://opencores.org/or1k/OR1200_OpenRISC_Processor&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-7684863814925031571?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n9Z7tMwDmYZkw3pwoZf9JK062zU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n9Z7tMwDmYZkw3pwoZf9JK062zU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n9Z7tMwDmYZkw3pwoZf9JK062zU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n9Z7tMwDmYZkw3pwoZf9JK062zU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/O_knSBdbH7g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/7684863814925031571/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=7684863814925031571" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7684863814925031571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7684863814925031571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/O_knSBdbH7g/open-source-cpu-openrisc.html" title="Open Source CPU -- OpenRISC" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/open-source-cpu-openrisc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FQ3c5cSp7ImA9WhRVEEU.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-8497242954324987772</id><published>2012-01-08T10:41:00.000-08:00</published><updated>2012-01-08T22:18:32.929-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T22:18:32.929-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VirtualMachine" /><title>VirtualBox can't operate in VMX root mode</title><content type="html">modprobe -r kvm_intel&lt;br /&gt;&lt;br /&gt;virtualbox.org • View topic - VirtualBox can't operate in VMX root mode.&lt;br /&gt;https://forums.virtualbox.org/viewtopic.php?t=7796&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-8497242954324987772?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_3_oVuguZwqQp6-9OL_HRvDgYtg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_3_oVuguZwqQp6-9OL_HRvDgYtg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_3_oVuguZwqQp6-9OL_HRvDgYtg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_3_oVuguZwqQp6-9OL_HRvDgYtg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/QrEkognftww" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/8497242954324987772/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=8497242954324987772" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8497242954324987772?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8497242954324987772?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/QrEkognftww/virtualbox-cant-operate-in-vmx-root.html" title="VirtualBox can't operate in VMX root mode" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/virtualbox-cant-operate-in-vmx-root.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4CQXw7eip7ImA9WhRVEEk.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-1256547230877243464</id><published>2012-01-08T08:40:00.000-08:00</published><updated>2012-01-08T08:42:40.202-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T08:42:40.202-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>svnversion: Getting the Revision Number of your Subversion (SVN) Working Copy</title><content type="html">svnversion .&lt;br /&gt;&lt;br /&gt;Getting the Revision Number of your Subversion Working Copy&lt;br /&gt;&lt;a href="http://www.zorched.net/2006/07/20/getting-the-revision-number-of-your-subversion-working-copy/"&gt;http://www.zorched.net/2006/07/20/getting-the-revision-number-of-your-subversion-working-copy/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-1256547230877243464?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-aUwsZD0je4Lpfs7Te6mrv2ycX8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-aUwsZD0je4Lpfs7Te6mrv2ycX8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-aUwsZD0je4Lpfs7Te6mrv2ycX8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-aUwsZD0je4Lpfs7Te6mrv2ycX8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/sLomD4SiHRE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/1256547230877243464/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=1256547230877243464" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/1256547230877243464?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/1256547230877243464?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/sLomD4SiHRE/svn-getting-revision-number-of-your.html" title="svnversion: Getting the Revision Number of your Subversion (SVN) Working Copy" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/svn-getting-revision-number-of-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MNSH8yfip7ImA9WhRWF0s.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-345466939480627323</id><published>2012-01-05T04:02:00.000-08:00</published><updated>2012-01-05T04:11:39.196-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T04:11:39.196-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Git" /><title>git-filter-branch: Checklist For Shrinking A Repository</title><content type="html">git-filter-branch(1): Rewrite branches - Linux man page&lt;br /&gt;&lt;a href="http://linux.die.net/man/1/git-filter-branch"&gt;http://linux.die.net/man/1/git-filter-branch&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Checklist For Shrinking A Repository&lt;br /&gt;&lt;br /&gt;git-filter-branch is often used to get rid of a subset of files, usually with some combination of --index-filter and --subdirectory-filter. People expect the resulting repository to be smaller than the original, but you need a few more steps to actually make it smaller, because git tries hard not to lose your objects until you tell it to. First make sure that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    You really removed all variants of a filename, if a blob was moved over its lifetime. &lt;u&gt;git log --name-only --follow --all -- &lt;span style="font-style: italic;"&gt;filename&lt;/span&gt;&lt;/u&gt; can help you find renames. &lt;/li&gt;&lt;li&gt;    You really filtered all refs: use --tag-name-filter cat -- --all when calling git-filter-branch.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Then there are two ways to get a smaller repository. A safer way is to clone, that keeps your original intact.&lt;ul&gt;&lt;li&gt;Clone it with &lt;u&gt;git clone file:///path/to/repo&lt;/u&gt;. The clone will not have the removed objects. See git-clone(1). (&lt;u&gt;&lt;b&gt;Note that cloning with a plain path just hardlinks everything!&lt;/b&gt;&lt;/u&gt;)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;If you really don't want to clone it, for whatever reasons, check the following points instead (in this order). This is a very destructive approach, so make a backup or go back to cloning it. You have been warned.&lt;ul&gt;&lt;li&gt;Remove the original refs backed up by git-filter-branch: say &lt;u&gt;git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d&lt;/u&gt;. &lt;/li&gt;&lt;li&gt;    Expire all reflogs with &lt;u&gt;git reflog expire --expire=now --all&lt;/u&gt;. &lt;/li&gt;&lt;li&gt; Garbage collect all unreferenced objects with &lt;u&gt;git gc --prune=now&lt;/u&gt; (or if your git-gc is not new enough to support arguments to --prune, use &lt;u&gt;git repack -ad; git prune&lt;/u&gt; instead). &lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-345466939480627323?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MBWR57HAZ7LojnF9H9ZjfVqxzrc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MBWR57HAZ7LojnF9H9ZjfVqxzrc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MBWR57HAZ7LojnF9H9ZjfVqxzrc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MBWR57HAZ7LojnF9H9ZjfVqxzrc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/NUlv1BIisRw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/345466939480627323/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=345466939480627323" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/345466939480627323?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/345466939480627323?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/NUlv1BIisRw/git-filter-branch-checklist-for.html" title="git-filter-branch: Checklist For Shrinking A Repository" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/git-filter-branch-checklist-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUANQ3Y4eyp7ImA9WhRWF0U.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-1008565413655537448</id><published>2012-01-03T22:04:00.000-08:00</published><updated>2012-01-05T09:16:32.833-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T09:16:32.833-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ARM" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>[QEMU] Running Linux 2.6.33 ARM versatilepb</title><content type="html">Compiling Linux kernel for QEMU ARM emulator&lt;br /&gt;&lt;a href="http://balau82.wordpress.com/2010/03/22/compiling-linux-kernel-for-qemu-arm-emulator/"&gt;http://balau82.wordpress.com/2010/03/22/compiling-linux-kernel-for-qemu-arm-emulator/&lt;/a&gt;&lt;br /&gt;versatilepb has 4 PrimeCell UART (PL011)(ttyAMA0-3), LCD tty0.&lt;br /&gt;&lt;blockquote&gt;2.6.33 (2.6.34, failed at 2.6.35 and after), 2010q1&lt;br /&gt;make ARCH=arm versatile_defconfig&lt;br /&gt;make ARCH=arm menuconfig&lt;/blockquote&gt;If RAMdisk size might &amp;gt; 4MB, change CONFIG_BLK_DEV_RAM_SIZE to higher value.&lt;br /&gt;Enable CONFIG_AEABI, disable CONFIG_MODULES. Build zImage&lt;blockquote&gt;make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- all&lt;/blockquote&gt;Booting should be fine, but lack of rootfs.&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage&lt;/blockquote&gt;Create a CPIO rootfs&lt;br /&gt;The CPIO rootfs doesn't need /dev/console.&lt;blockquote&gt;cat &amp;gt; test.c &amp;lt;&amp;lt; eof&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;void main() {&lt;br /&gt;printf("Hello World!\n");&lt;br /&gt;while(1);&lt;br /&gt;}&lt;br /&gt;eof&lt;br /&gt;arm-none-linux-gnueabi-gcc -static    test.c   -o test&lt;br /&gt;echo test | cpio -o --format=newc &amp;gt; rootfs&lt;/blockquote&gt;&lt;br /&gt;CPIO: Both kernel and user space message goes to tty0 by default.&lt;br /&gt;&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootfs -append "root=/dev/ram rdinit=/test"&lt;/blockquote&gt;&lt;br /&gt;CPIO: Both kernel and user space message goes to ttyAMA0&lt;br /&gt;&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootf -append "root=/dev/ram rdinit=/test &lt;span style="color: rgb(255, 0, 0);"&gt;console=ttyAMA0&lt;/span&gt;" &lt;span style="color: rgb(255, 0, 0);"&gt;-nographic&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;ERROR:&lt;/u&gt;&lt;/b&gt; I had no issue booting zImage, but ran into following error while running userspace programs, no matter the "hello world" test or busybox, with my old CodeSoucery toolchain:&lt;br /&gt;&lt;blockquote&gt;test (1): undefined instruction: pc=00017104&lt;br /&gt;Code: e3a0e000 e1a0c00e e5d03000 e2433030 (e6ef2073)&lt;/blockquote&gt;After a lot of try-and-error, I finally found that the old CodeSoucery toolchain that I downloaded long times ago doesn't work, while the one downloaded recently does, WTF....&lt;br /&gt;arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2&lt;br /&gt;&lt;blockquote&gt;old downloaded md5sum: a88fb553950d1b47ecefa9929dea04a8&lt;br /&gt;recently downloaded md5sum: 1a6e88782f08b09a0e6cef545a1712ec&lt;/blockquote&gt;It might be caused by the default ARM arch used by the compiler.&lt;br /&gt;&lt;br /&gt;I use buildroot to build rootfs and lib, BR2_generic_arm must be set. Enabling BR2_arm1136jf_s would cause similar issue. It might be caused by unsupported instruction of new arch.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;In RAM disk, if /dev/console is missing, both tty0 or ttyAMA0 will not see "Hello World". /dev/console can be created by&lt;blockquote&gt;# mknod dev/console c 5 1&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(TODO: start from busybox download?)&lt;br /&gt;&lt;br /&gt;1. basic rootfs: /etc, /dev, ...&lt;br /&gt;2. library: /lib (or build all as static)&lt;br /&gt;3. busybox, enable CONFIG_STATIC if no library&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By default, both kernel and user space message goes to tty0&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -append "root=/dev/ram0 rw init=/test  user_debug=31" -initrd ramdisk.img.gz&lt;br /&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -append "root=/dev/ram0 rw init=/test  user_debug=31 &lt;span style="color: rgb(255, 0, 0);"&gt;console=tty0&lt;/span&gt;" -initrd ramdisk.img.gz&lt;/blockquote&gt;&lt;br /&gt;Both kernel and user space message goes to ttyAMA0 &lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -append "root=/dev/ram0 rw init=/test  user_debug=31 &lt;span style="color: rgb(255, 0, 0);"&gt; console=ttyAMA0&lt;/span&gt; " -initrd ramdisk.img.gz  &lt;span style="color: rgb(255, 0, 0);"&gt;-nographic&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;kernel message will goes to both tty0 and ttyAMA0, but user space message only goes to the ttyAMA0(the last one)&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 128M -kernel zImage -append "root=/dev/ram0 rw init=/test  user_debug=31 &lt;span style="color: rgb(255, 0, 0);"&gt;console=tty0 console=ttyAMA0&lt;/span&gt; " -initrd ramdisk.img.gz &lt;span style="color: rgb(255, 0, 0);"&gt; -nographic&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Enable ethernet:&lt;br /&gt;&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 256M -kernel output/zImage -append "root=/dev/ram0 rw init=/linuxrc user_debug=31 console=ttyAMA0"  --nographic -initrd output/ramdisk.img.gz &lt;span style="color: rgb(255, 0, 0);"&gt;-net nic,macaddr=00:00:00:00:02:00 -net tap,ifname=tap2,script=no&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Eanble 2 ethernet result in Segmentation fault of QEMU:&lt;br /&gt;&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 256M -kernel output/zImage -append "root=/dev/ram0 rw init=/linuxrc user_debug=31 console=ttyAMA0"  --nographic -initrd output/ramdisk.img.gz -net nic,macaddr=00:00:00:00:02:00 -net tap,ifname=tap0,script=no  &lt;span style="color: rgb(255, 0, 0);"&gt;-net nic,macaddr=00:00:00:00:01:00 -net tap,ifname=tap1,script=no&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Eanble PCI and E1000 result in emulated Linux panic:&lt;br /&gt;&lt;blockquote&gt;qemu-system-arm -M versatilepb -m 256M -kernel output/zImage -append "root=/dev/ram0 rw init=/linuxrc user_debug=31 console=ttyAMA0"  --nographic -initrd output/ramdisk.img.gz -net nic,macaddr=00:00:00:00:02:00 -net tap,ifname=tap0,script=no  &lt;span style="color: rgb(255, 0, 0);"&gt;-net nic,model=e1000,macaddr=00:00:00:00:01:00 -net tap,ifname=tap1,script=no&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Kernel panic:&lt;br /&gt;&lt;blockquote&gt;Intel(R) PRO/1000 Network Driver - version 7.3.21-k5-NAPI&lt;br /&gt;Copyright (c) 1999-2006 Intel Corporation.&lt;br /&gt;PCI: enabling device 0000:00:0c.0 (0000 -&amp;gt; 0003)&lt;br /&gt;Unable to handle kernel paging request at virtual address 44000400&lt;br /&gt;(...............)&lt;br /&gt;[&amp;lt;c01ab10c&amp;gt;] (e1000_io_write+0x0/0x8) from [&amp;lt;c01b4a6c&amp;gt;] (e1000_reset_hw+0xc0/0x1f4)&lt;br /&gt;[&amp;lt;c01b4a6c&amp;gt;] (e1000_reset_hw+0xc0/0x1f4) from [&amp;lt;c028b9bc&amp;gt;] (e1000_probe+0x3d0/0xa98)&lt;br /&gt;[&amp;lt;c028b9bc&amp;gt;] (e1000_probe+0x3d0/0xa98) from [&amp;lt;c0163b58&amp;gt;] (local_pci_probe+0x18/0x1c)&lt;br /&gt;[&amp;lt;c0163b58&amp;gt;] (local_pci_probe+0x18/0x1c) from [&amp;lt;c01642fc&amp;gt;] (pci_device_probe+0x58/0x8c)&lt;br /&gt;[&amp;lt;c01642fc&amp;gt;] (pci_device_probe+0x58/0x8c) from [&amp;lt;c0198f38&amp;gt;] (driver_probe_device+0xa8/0x15c)&lt;br /&gt;[&amp;lt;c0198f38&amp;gt;] (driver_probe_device+0xa8/0x15c) from [&amp;lt;c019904c&amp;gt;] (__driver_attach+0x60/0x84)&lt;br /&gt;[&amp;lt;c019904c&amp;gt;] (__driver_attach+0x60/0x84) from [&amp;lt;c0198800&amp;gt;] (bus_for_each_dev+0x44/0x74)&lt;br /&gt;[&amp;lt;c0198800&amp;gt;] (bus_for_each_dev+0x44/0x74) from [&amp;lt;c0198168&amp;gt;] (bus_add_driver+0x9c/0x218)&lt;br /&gt;[&amp;lt;c0198168&amp;gt;] (bus_add_driver+0x9c/0x218) from [&amp;lt;c0199320&amp;gt;] (driver_register+0xa8/0x134)&lt;br /&gt;[&amp;lt;c0199320&amp;gt;] (driver_register+0xa8/0x134) from [&amp;lt;c0164528&amp;gt;] (__pci_register_driver+0x38/0xac)&lt;br /&gt;[&amp;lt;c0164528&amp;gt;] (__pci_register_driver+0x38/0xac) from [&amp;lt;c001a040&amp;gt;] (e1000_init_module+0x34/0x88)&lt;br /&gt;[&amp;lt;c001a040&amp;gt;] (e1000_init_module+0x34/0x88) from [&amp;lt;c002438c&amp;gt;] (do_one_initcall+0x5c/0x1bc)&lt;br /&gt;[&amp;lt;c002438c&amp;gt;] (do_one_initcall+0x5c/0x1bc) from [&amp;lt;c0008574&amp;gt;] (kernel_init+0x90/0x144)&lt;br /&gt;[&amp;lt;c0008574&amp;gt;] (kernel_init+0x90/0x144) from [&amp;lt;c0025e38&amp;gt;] (kernel_thread_exit+0x0/0x8)&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-1008565413655537448?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mkie6q7mxxLYD-zEfiZBEHYwcTA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mkie6q7mxxLYD-zEfiZBEHYwcTA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mkie6q7mxxLYD-zEfiZBEHYwcTA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mkie6q7mxxLYD-zEfiZBEHYwcTA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/61mUKXnhC8w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/1008565413655537448/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=1008565413655537448" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/1008565413655537448?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/1008565413655537448?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/61mUKXnhC8w/qemu-running-linux-2633-arm-versatilepb.html" title="[QEMU] Running Linux 2.6.33 ARM versatilepb" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/qemu-running-linux-2633-arm-versatilepb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAFR3Y9cSp7ImA9WhRWFkg.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-8545268939872813300</id><published>2012-01-03T21:57:00.000-08:00</published><updated>2012-01-03T21:58:36.869-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-03T21:58:36.869-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="LinuxDistroDebianUtuntu" /><title>Debian -- Debian Releases</title><content type="html">Debian -- Debian Releases&lt;br /&gt;&lt;a href="http://www.debian.org/releases/"&gt;http://www.debian.org/releases/&lt;/a&gt;&lt;blockquote&gt;&lt;br /&gt;The "unstable" distribution is called sid. &lt;br /&gt;(..........)&lt;br /&gt;    *  The next release of Debian is codenamed "wheezy"  — no release date has been set&lt;br /&gt;    * Debian 6.0 ("squeeze") — current stable release&lt;br /&gt;    * Debian GNU/Linux 5.0 ("lenny") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 4.0 ("etch") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 3.1 ("sarge") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 3.0 ("woody") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 2.2 ("potato") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 2.1 ("slink") — obsolete stable release&lt;br /&gt;    * Debian GNU/Linux 2.0 ("hamm") — obsolete stable release&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-8545268939872813300?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/P3blRKNup-n0joxged8CpxoxHw8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P3blRKNup-n0joxged8CpxoxHw8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/P3blRKNup-n0joxged8CpxoxHw8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/P3blRKNup-n0joxged8CpxoxHw8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/NPbhx8LEivs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/8545268939872813300/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=8545268939872813300" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8545268939872813300?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/8545268939872813300?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/NPbhx8LEivs/debian-debian-releases.html" title="Debian -- Debian Releases" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2012/01/debian-debian-releases.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQBRHw8eCp7ImA9WhRWEEk.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-4030232798645396293</id><published>2011-12-27T20:42:00.000-08:00</published><updated>2011-12-27T20:59:15.270-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-27T20:59:15.270-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MoneyRelated_Investment_Banking" /><title>Telecom ETF</title><content type="html">Telecom ETFs: The Telecommunications Sector Rides The Internet Wave (NYSE:IYZ, NYSE:VOX, NYSE:XTL, NYSE:IXP, NYSE:TTH, NYSE:WMH, NYSE:IST, NYSE:FCQ) | ETF DAILY NEWS&lt;br /&gt;&lt;a href="http://etfdailynews.com/2011/06/02/telecom-etfs-the-telecommunications-sector-rides-the-internet-wave-iyz-vox-xtl-ixp-tth-wmh-ist-fcq/"&gt;http://etfdailynews.com/2011/06/02/telecom-etfs-the-telecommunications-sector-rides-the-internet-wave-iyz-vox-xtl-ixp-tth-wmh-ist-fcq/&lt;/a&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;u&gt;iShares DJ U.S. Telecommunications (NYSE:IYZ)&lt;/u&gt;&lt;/b&gt; is the largest telecom ETF and probably the most well-known.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;u&gt;Vanguard Telecommunications Services (NYSE:VOX)&lt;/u&gt;&lt;/b&gt; is my current favorite for this sector. VOX has broad coverage and is also the lowest-cost telecom ETF.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;u&gt;SPDR S&amp;amp;P Telecom (NYSE:XTL)&lt;/u&gt;&lt;/b&gt; is fairly new, launched only in January 2011. XTL is the only ETF from this sector that doesn’t use a traditional capitalization-weighted strategy. Instead, it is equal-weighted, giving more exposure to some of the smaller telecom stocks.&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;u&gt;iShares S&amp;amp;P Global Telecommunications (NYSE:IXP)&lt;/u&gt;&lt;/b&gt; is a good solution if you want telecom exposure covering the entire globe, including the U.S.&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;ETF Watch: Does Value Exist in Telecom ETFs? (IYZ, VOX, IXP, TTH) - 24/7 Wall St.&lt;br /&gt;&lt;a href="http://247wallst.com/2011/07/21/etf-watch-does-value-exist-in-telecom-etfs-iyz-vox-ixp-tth/"&gt;http://247wallst.com/2011/07/21/etf-watch-does-value-exist-in-telecom-etfs-iyz-vox-ixp-tth/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Telecom ETF | IYZ, VOX, PRFQ, PTE, IXP, DGG | ETF MarketPro&lt;br /&gt;&lt;a href="http://www.etfmarketpro.com/Telecom-ETF-IYZ-VOX-PRFQ-PTE-IXP-DGG.html"&gt;http://www.etfmarketpro.com/Telecom-ETF-IYZ-VOX-PRFQ-PTE-IXP-DGG.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Will Tax Hikes Slam Telecom ETFs? (IYZ, VOX, PTE) | ETF DAILY NEWS&lt;br /&gt;&lt;a href="http://etfdailynews.com/2010/09/09/will-tax-hikes-slam-telecom-etfs-iyz-vox-pte/"&gt;http://etfdailynews.com/2010/09/09/will-tax-hikes-slam-telecom-etfs-iyz-vox-pte/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-4030232798645396293?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AQh5hFAVVpSTKFy1ySJ4MnZxmxs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AQh5hFAVVpSTKFy1ySJ4MnZxmxs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AQh5hFAVVpSTKFy1ySJ4MnZxmxs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AQh5hFAVVpSTKFy1ySJ4MnZxmxs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/L7hekVGTSaE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/4030232798645396293/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=4030232798645396293" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4030232798645396293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/4030232798645396293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/L7hekVGTSaE/telecom-etf.html" title="Telecom ETF" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/telecom-etf.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUFQnc6fSp7ImA9WhRXGUs.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-461660439483952289</id><published>2011-12-26T20:28:00.001-08:00</published><updated>2011-12-26T20:30:13.915-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T20:30:13.915-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="????" /><title>Disease equilibration</title><content type="html">綠角財經筆記: A Splendid Exchange讀後感---貿易黑死病&lt;br /&gt;&lt;a href="http://greenhornfinancefootnote.blogspot.com/2011/12/splendid-exchange_15.html"&gt;http://greenhornfinancefootnote.blogspot.com/2011/12/splendid-exchange_15.html&lt;/a&gt;&lt;blockquote&gt;這些在中古世界造成慘重傷亡的疾病，時至今日，為何殺傷力大減。醫藥進步是一個原因，但傳染病的自然演化過程，也扮演重要角色。&lt;br /&gt;&lt;br /&gt;這個過程叫Disease equilibration。&lt;br /&gt;&lt;br /&gt;傳染後讓宿主很快的死亡，對於病原本身不利，因為牠就失去了可以長住久安的宿主。所以在傳染過程中，會致病但又不至於毒性太高，立即殺死被感染者的病原，會較有機會存留下來。&lt;br /&gt;&lt;br /&gt;宿主也經歷了這個過程。假如人口中某些人特別容易染病死亡，那麼他們會被傳染病掃除殆盡。剩下的是抵抗力較高的族群。&lt;br /&gt;&lt;br /&gt;這兩個過程共同作用下，我們就會看到傳染病愈來愈”溫馴”。&lt;br /&gt;&lt;br /&gt;作者以澳洲在1950年人為引進Myxoma Virus撲殺野兔的例子。當時是立竿見影，兔子死亡率高達99%以上。但到了1957年，致死率剩25%。&lt;br /&gt;&lt;br /&gt;這個Disease equilibration的過程，約需要5-6代的時間。兔子一代較短，人的生命週期較長，5到6代約需要100到150年的時間。&lt;br /&gt;&lt;br /&gt;當舊世界的人們，歷經傳染病的摧殘，終於完成Disease equilibration後。歐洲人對疾病的耐受力，是比槍炮更有威力的爭戰工具。與其接觸的美洲原住民，因為沒有抵抗力，死傷枕藉。&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-461660439483952289?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VxwiVRb95rFpyRRC3oZL90lK8p4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VxwiVRb95rFpyRRC3oZL90lK8p4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VxwiVRb95rFpyRRC3oZL90lK8p4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VxwiVRb95rFpyRRC3oZL90lK8p4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/Pr8XXaPxu2c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/461660439483952289/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=461660439483952289" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/461660439483952289?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/461660439483952289?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/Pr8XXaPxu2c/disease-equilibration.html" title="Disease equilibration" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/disease-equilibration.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IBRX04fSp7ImA9WhRXGUo.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-7644881354678791241</id><published>2011-12-26T18:57:00.000-08:00</published><updated>2011-12-27T01:52:34.335-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-27T01:52:34.335-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VPN" /><title>strongSwan</title><content type="html">strongSwan - IPsec for Linux&lt;br /&gt;&lt;a href="http://www.strongswan.org/"&gt;http://www.strongswan.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IKEv2 Cipher Suites&lt;br /&gt;&lt;a href="http://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites"&gt;http://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;strongSwan - UML Testing&lt;br /&gt;&lt;a href="http://www.strongswan.org/uml-testing.html"&gt;http://www.strongswan.org/uml-testing.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;strongSwan - UML Readme&lt;br /&gt;&lt;a href="http://www.strongswan.org/uml-readme.html"&gt;http://www.strongswan.org/uml-readme.html&lt;/a&gt;&lt;blockquote&gt;   1.  Starting up the UML testing environment&lt;br /&gt;   2. Running the automated tests&lt;br /&gt;   3. Manual testing&lt;/blockquote&gt;&lt;br /&gt;strongSwan - Documentation&lt;br /&gt;&lt;a href="http://www.strongswan.org/documentation.html"&gt;http://www.strongswan.org/documentation.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;strongSwan - InstallationDocumentation&lt;br /&gt;&lt;a href="http://wiki.strongswan.org/projects/strongswan/wiki/InstallationDocumentation"&gt;http://wiki.strongswan.org/projects/strongswan/wiki/InstallationDocumentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;strongSwan - UML Testresults for strongSwan 4.x&lt;br /&gt;&lt;a href="http://www.strongswan.org/uml-testresults.html"&gt;http://www.strongswan.org/uml-testresults.html&lt;/a&gt;&lt;br /&gt;(A LOT OF configuration samples)&lt;br /&gt;Test ikev1/esp-alg-aes-gcm&lt;br /&gt;&lt;a href="http://www.strongswan.org/uml/testresults/ikev1/esp-alg-aes-gcm/"&gt;http://www.strongswan.org/uml/testresults/ikev1/esp-alg-aes-gcm/&lt;/a&gt;&lt;br /&gt;Test ikev1/net2net-psk&lt;br /&gt;&lt;a href="http://www.strongswan.org/uml/testresults/ikev1/net2net-psk/index.html"&gt;http://www.strongswan.org/uml/testresults/ikev1/net2net-psk/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;strongSwan - KernelModules&lt;br /&gt;&lt;a href="http://wiki.strongswan.org/projects/strongswan/wiki/KernelModules,"&gt;http://wiki.strongswan.org/projects/strongswan/wiki/KernelModules,&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-7644881354678791241?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hTp1fT8T6gvrZS8fxbCV7otSkD0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hTp1fT8T6gvrZS8fxbCV7otSkD0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hTp1fT8T6gvrZS8fxbCV7otSkD0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hTp1fT8T6gvrZS8fxbCV7otSkD0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/e0VS7XmrnfM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/7644881354678791241/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=7644881354678791241" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7644881354678791241?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7644881354678791241?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/e0VS7XmrnfM/strongswan.html" title="strongSwan" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/strongswan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIEQ3gzeyp7ImA9WhRXGUg.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-7854886057369481947</id><published>2011-12-26T18:43:00.000-08:00</published><updated>2011-12-26T18:55:02.683-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T18:55:02.683-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VPN" /><title>IPSec key management utilities that support AES-GCM</title><content type="html">&lt;u&gt;&lt;b&gt;strongSwan&lt;/b&gt;&lt;/u&gt;: Yes&lt;br /&gt;strongSwan - IKEv2CipherSuites - strongSwan - IKEv2/IPsec VPN for Linux, Android, FreeBSD, Mac OS X&lt;br /&gt;&lt;a href="http://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites"&gt;http://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Openswan&lt;/b&gt;&lt;/u&gt;: Yes?&lt;br /&gt;[Openswan dev] Does OpenSwan support AES-GCM and AES-GMAC???&lt;br /&gt;&lt;a href="http://lists.openswan.org/pipermail/dev/2009-March/002064.html"&gt;http://lists.openswan.org/pipermail/dev/2009-March/002064.html&lt;/a&gt;&lt;br /&gt;(AES GCM or CCM???)&lt;br /&gt;&lt;br /&gt;[Openswan Users] AES GCM 256&lt;br /&gt;&lt;a href="http://lists.virus.org/users-openswan-1108/msg00078.html"&gt;http://lists.virus.org/users-openswan-1108/msg00078.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;racoon2&lt;/u&gt;&lt;/b&gt;: No&lt;br /&gt;I cannot found any string "gcm" definition in the latest code (racoon2-20100526a).&lt;br /&gt;Re: AES CTR, CCM, GCM in IPSec with KINK&lt;br /&gt;&lt;a href="http://www.racoon2.wide.ad.jp/ml/racoon2-users/201107/msg909.html"&gt;http://www.racoon2.wide.ad.jp/ml/racoon2-users/201107/msg909.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;ipsec-tools/racoon&lt;/u&gt;&lt;/b&gt;: No&lt;br /&gt;'Re: [Ipsec-tools-devel] Does Linux support AES-GCM and AES-GMAC???' - MARC&lt;br /&gt;&lt;a href="http://marc.info/?l=ipsec-tools-devel&amp;m=123606045019199&amp;w=2"&gt;http://marc.info/?l=ipsec-tools-devel&amp;m=123606045019199&amp;w=2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-7854886057369481947?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MZJJqUg4RAdydyDYz4gB3ymyN_o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MZJJqUg4RAdydyDYz4gB3ymyN_o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MZJJqUg4RAdydyDYz4gB3ymyN_o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MZJJqUg4RAdydyDYz4gB3ymyN_o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/lidYhLl_Ilk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/7854886057369481947/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=7854886057369481947" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7854886057369481947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/7854886057369481947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/lidYhLl_Ilk/ipsec-key-management-utilities-that.html" title="IPSec key management utilities that support AES-GCM" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/ipsec-key-management-utilities-that.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIGSXw4fyp7ImA9WhRXGUg.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-5436550175941159988</id><published>2011-12-26T18:36:00.001-08:00</published><updated>2011-12-26T18:38:48.237-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T18:38:48.237-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VPN" /><category scheme="http://www.blogger.com/atom/ns#" term="????" /><title>ESP_Preferences - The Wireshark Wiki</title><content type="html">ESP_Preferences - The Wireshark Wiki&lt;br /&gt;&lt;a href="http://wiki.wireshark.org/ESP_Preferences"&gt;http://wiki.wireshark.org/ESP_Preferences&lt;/a&gt;&lt;br /&gt;RFC4106: The Use of Galois/Counter Mode (GCM) in IPsec Encapsulating Security Payload (ESP)&lt;br /&gt;&lt;a href="http://www.ietf.org/rfc/rfc4106.txt"&gt;http://www.ietf.org/rfc/rfc4106.txt&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-5436550175941159988?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VKdvjvXZ21OyHY0pxfl7OJcEgO4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VKdvjvXZ21OyHY0pxfl7OJcEgO4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VKdvjvXZ21OyHY0pxfl7OJcEgO4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VKdvjvXZ21OyHY0pxfl7OJcEgO4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/fnpQhwHdVus" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/5436550175941159988/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=5436550175941159988" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5436550175941159988?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5436550175941159988?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/fnpQhwHdVus/esppreferences-wireshark-wiki.html" title="ESP_Preferences - The Wireshark Wiki" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/esppreferences-wireshark-wiki.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UAQnozfyp7ImA9WhRXGEU.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-2797982619702739938</id><published>2011-12-25T22:10:00.000-08:00</published><updated>2011-12-25T23:40:43.487-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-25T23:40:43.487-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VPN" /><title>Full tunnel vs split tunnel</title><content type="html">Full VPN Tunnel&lt;br /&gt;&lt;a href="http://www.elinanetworks.com/index.php/vpn-full-tunnel"&gt;http://www.elinanetworks.com/index.php/vpn-full-tunnel&lt;/a&gt;&lt;blockquote&gt;&lt;b&gt;Split tunnel setup&lt;/b&gt;&lt;br /&gt;As shown in the figure below, the split tunnel is used where application data travels over the VPN tunnel setup to the HQ.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/--UkA5jjl-xw/TvgkTPpVkHI/AAAAAAAAFYA/ItUeqsLH3xo/s1600/split-tunnel-small.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 114px;" src="http://4.bp.blogspot.com/--UkA5jjl-xw/TvgkTPpVkHI/AAAAAAAAFYA/ItUeqsLH3xo/s400/split-tunnel-small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5690338042218647666" /&gt;&lt;/a&gt;&lt;br /&gt;In this mode, the desktop has direct access to the Internet. In a small store setup, while the split tunnel provides application access over VPN tunnel, Internet access is not controlled. The only solution here is to add additional software components or an external firewall to limit access.&lt;br /&gt;&lt;br /&gt;To overcome this problem, the full tunnel mode is used.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Full tunnel setup&lt;/b&gt;&lt;br /&gt;In the full tunnel mode, the Secure VPN client configuration and setup is the same as before, but with one key change: all traffic from the desktop goes over the VPN tunnel.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-3VPMvJ5T8ik/TvgkhGu3y3I/AAAAAAAAFYM/CPBEYx1dcf4/s1600/full-tunnel-small.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 115px;" src="http://2.bp.blogspot.com/-3VPMvJ5T8ik/TvgkhGu3y3I/AAAAAAAAFYM/CPBEYx1dcf4/s400/full-tunnel-small.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5690338280344111986" /&gt;&lt;/a&gt;&lt;br /&gt;In the full tunnel mode, since all traffic goes over the VPN tunnel, both application data and Internet access packets land up at the VPN concentrator at the HQ.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-2797982619702739938?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UWnW4kKQJtnnIN_smWhlzkASNow/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UWnW4kKQJtnnIN_smWhlzkASNow/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UWnW4kKQJtnnIN_smWhlzkASNow/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UWnW4kKQJtnnIN_smWhlzkASNow/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/StWowV7-bA8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/2797982619702739938/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=2797982619702739938" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/2797982619702739938?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/2797982619702739938?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/StWowV7-bA8/full-tunnel-vs-split-tunnel.html" title="Full tunnel vs split tunnel" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/--UkA5jjl-xw/TvgkTPpVkHI/AAAAAAAAFYA/ItUeqsLH3xo/s72-c/split-tunnel-small.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/full-tunnel-vs-split-tunnel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4DQ30yeyp7ImA9WhRXGUw.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-5552041571665426970</id><published>2011-12-20T22:13:00.000-08:00</published><updated>2011-12-26T08:46:12.393-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T08:46:12.393-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>netcat (nc)</title><content type="html">nc -s 20.0.0.1 -p 2000 -l&lt;br /&gt;nc -s 30.0.0.1 20.0.0.1 2000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/usr/share/doc/nc-1.84/scripts&lt;br /&gt;&lt;br /&gt;5.5.3 任意啟動 TCP/UDP 封包的埠口連線： nc, netcat&lt;br /&gt;&lt;a href="http://linux.vbird.org/linux_server/0140networkcommand.php#nc"&gt;http://linux.vbird.org/linux_server/0140networkcommand.php#nc&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-5552041571665426970?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xKuI3HSMH3T3cw9yuTGJJjJZmgw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xKuI3HSMH3T3cw9yuTGJJjJZmgw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xKuI3HSMH3T3cw9yuTGJJjJZmgw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xKuI3HSMH3T3cw9yuTGJJjJZmgw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/Y6hgnp7R6NE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/5552041571665426970/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=5552041571665426970" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5552041571665426970?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/5552041571665426970?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/Y6hgnp7R6NE/netcat-nc.html" title="netcat (nc)" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/netcat-nc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCRH0-eip7ImA9WhRXFEk.&quot;"><id>tag:blogger.com,1999:blog-9025767209155556619.post-2238687916062876123</id><published>2011-12-20T20:11:00.000-08:00</published><updated>2011-12-20T20:21:05.352-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T20:21:05.352-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>tcpdump</title><content type="html">Options&lt;br /&gt;&lt;blockquote&gt;    -i interface: interface to listen on.&lt;br /&gt;    -n: disable name lookups.&lt;br /&gt;    -t: don't print timestamps.&lt;br /&gt;    -s0 (or -s 0): use the max "snaplen"—capture full packets (default in recent versions of tcpdump). &lt;br /&gt;    -xx: dump data and link-layer header in hex&lt;br /&gt;    -XX: dump data and link-layer header in hex+ascii&lt;br /&gt;    -vvv: more verbose.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Filter Expression&lt;br /&gt;&lt;blockquote&gt;    tcp&lt;br /&gt;    port 25 and not host 10.0.0.3&lt;br /&gt;    icmp or arp or udp&lt;br /&gt;    vlan 3 and ether src host aa:bb:cc:dd:ee:ff&lt;br /&gt;    arp or udp port 53&lt;br /&gt;    icmp and \(dst host mrorange or dst host mrbrown\) &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;tcpdump fu | Linux Journal&lt;br /&gt;&lt;a href="http://www.linuxjournal.com/content/tcpdump-fu?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+linuxjournalcom+%28Linux+Journal+-+The+Original+Magazine+of+the+Linux+Community%29&amp;utm_content=Google+Reader"&gt;http://www.linuxjournal.com/content/tcpdump-fu?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+linuxjournalcom+%28Linux+Journal+-+The+Original+Magazine+of+the+Linux+Community%29&amp;utm_content=Google+Reader&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9025767209155556619-2238687916062876123?l=mkl-note.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/veNv8Pt3fKr9CXx0DlzsaKeCivw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/veNv8Pt3fKr9CXx0DlzsaKeCivw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/veNv8Pt3fKr9CXx0DlzsaKeCivw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/veNv8Pt3fKr9CXx0DlzsaKeCivw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/MklNote/~4/pVehmLQIhgM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://mkl-note.blogspot.com/feeds/2238687916062876123/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=9025767209155556619&amp;postID=2238687916062876123" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/2238687916062876123?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9025767209155556619/posts/default/2238687916062876123?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/MklNote/~3/pVehmLQIhgM/tcpdump.html" title="tcpdump" /><author><name>mkl</name><uri>http://www.blogger.com/profile/09447717806071121777</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://mkl-note.blogspot.com/2011/12/tcpdump.html</feedburner:origLink></entry></feed>

