<?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/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss"><id>tag:blogger.com,1999:blog-2627804785977970904</id><updated>2009-11-14T23:06:05.934+08:00</updated><title type="text">Doom 的呐喊</title><subtitle type="html">Crying in The Day of Doom</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default?start-index=26&amp;max-results=25&amp;orderby=published" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/blogspot/corsairdoom" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-1584430513772372718</id><published>2009-04-01T14:15:00.000+08:00</published><updated>2009-04-01T14:15:53.456+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Google Release Search Interface for Fallout 3</title><content type="html">&lt;p&gt;Google has released a search interface for Fallout3.  To use it
just bring up the Pipboy interface and hit the tilde key (~), then
enter &lt;code&gt;google&lt;/code&gt; followed by a return, the google interface
will show up.  Google's product manager Doug Garland states that this
is for the players' convinience, and Google may release more similar
products later (for example, a search interface in The Sims 3).&lt;/p&gt;

&lt;div style="text-align: center;"&gt;
  &lt;a href="http://darksair.org/gallery/d/3027-1/google.png"&gt;
    &lt;img src="http://img2.pict.com/20/8a/df/87d98db4642215ee7cc7e7f3a8/wOg31/google.png"
         alt="Google in Pipboy" /&gt;
  &lt;/a&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-1584430513772372718?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/1584430513772372718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=1584430513772372718" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1584430513772372718" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1584430513772372718" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2009/04/google-release-search-interface-for.html" title="Google Release Search Interface for Fallout 3" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-4084418591646930116</id><published>2008-11-05T02:44:00.001+08:00</published><updated>2008-11-05T02:44:46.252+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Wiki Moved</title><content type="html">&lt;div style="text-align: center;"&gt;
  &lt;img src="http://img267.imageshack.us/img267/3048/webih6.png"
       alt="My Wiki" /&gt;
&lt;/div&gt;
&lt;p&gt;My wiki has moved
  to &lt;a href="http://corsairdoom.freehostia.com/wiki/"&gt;here&lt;/a&gt;.  I
  have redesigned the style to a dark theme and rearrange the footer
  area.  Stuff about XeTeX was added into the TeX section and slightly
  changed the index page.&lt;/p&gt;
&lt;p&gt;Plan to add a page about Gnuplot and maybe GNU/Linux, when I get
  the time.&lt;/p&gt;
&lt;p&gt;In fact I was trying to put
a &lt;a href="http://www.wordpress.org/"&gt;Wordpress&lt;/a&gt; blog onto that
host.  But the service is such a rubbish that I was forced to give
up...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-4084418591646930116?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/4084418591646930116/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=4084418591646930116" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4084418591646930116" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4084418591646930116" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/11/wiki-moved.html" title="Wiki Moved" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-3260853782393471297</id><published>2008-09-08T19:23:00.002+08:00</published><updated>2008-09-08T19:44:11.541+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">iBus Input Method Engine</title><content type="html">&lt;p&gt;大家都知道在 Linux 里有两个中文输入法最著名，一个是已经停止更新的Fcitx，还有一个是现在常用的输入法引擎 &lt;a href="http://www.scim-im.org/"&gt;SCIM&lt;/a&gt;。SCIM 虽然好，但是有很多的兼容性问题，所以我一直用 Fcitx。现在据说是原来发明 SCIM-python 的人，觉得 SCIM 太搓了，于是又写了这个 iBus，架构优良，完全用 Python 写的，实乃我辈中人之良择，遂装之。&lt;/p&gt;

&lt;p&gt;目前 iBus 还是个很初级的版本，我是用 git 搞下来以后编译的，自己写了 &lt;code&gt;PKGBUILD&lt;/code&gt; 脚本，后来才发现 AUR 里有，冏...  装的过程基本顺利，不过这个东西的 dependence 实在是多，而且由于用到了   &lt;code&gt;python-gconf&lt;/code&gt;，必须装 &lt;code&gt;gnome-python&lt;/code&gt;，还好 Arch 的这个包不要求 Gnome~~&lt;/p&gt;

&lt;p&gt;这个版本的 iBus   虽然初级，但效果已经很好，可以进行一般的整句输入，真是大大超出我的预料～，日后必有作为！上截图~~&lt;/p&gt;

&lt;div style="text-align: center;"&gt;
  &lt;img src="http://img182.imageshack.us/img182/604/ibuscs1.png" alt="Screenshot of iBus" /&gt;
&lt;/div&gt;

&lt;p&gt;现在我已经把 Fcitx 换下来了~ 哈哈&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-3260853782393471297?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/3260853782393471297/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=3260853782393471297" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/3260853782393471297" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/3260853782393471297" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/09/ibus-input-method-engine.html" title="iBus Input Method Engine" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-5101615800495867106</id><published>2008-08-11T21:06:00.005+08:00</published><updated>2008-08-11T21:26:55.446+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><title type="text">Linux vs. Mac @ last.fm</title><content type="html">&lt;p&gt;The &lt;span style="font-style:italic;"&gt;Mac&lt;/span&gt; group in last.fm has 80+ members, &lt;span style="font-style:italic;"&gt;Apple&lt;/span&gt; has much more, 800+ in total, while the &lt;span style="font-style:italic;"&gt;Linux&lt;/span&gt; has nearly 5000 members, which really surprises me.  Is it because "Linux rocks"? :-D&lt;/p&gt;

&lt;p&gt;And BTW, the top 3 artists in the &lt;span style="font-style:italic;"&gt;Linux&lt;/span&gt; group are Radiohead, Pink Floyd and Metallica.  Pretty rocking, huh?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-5101615800495867106?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/5101615800495867106/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=5101615800495867106" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5101615800495867106" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5101615800495867106" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/08/linux-vs-mac-lastfm.html" title="Linux vs. Mac @ last.fm" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-4238873802929584771</id><published>2008-07-28T12:49:00.002+08:00</published><updated>2008-07-28T12:56:31.115+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title type="text">Slow Motion in Leopard</title><content type="html">Found a "hidden" feature in Leopard.  When you let the system do an animation, hold &lt;kbd&gt;shift&lt;/kbd&gt; while do so will make the animation slow.  For example, when minimizing a window, hold &lt;kbd&gt;shift&lt;/kbd&gt; while press the yellow button will make the "genie" effect slow (enough for you to see the detail about how the window shrinks).  Also, when you drag a file into a driver icon on the desktop, a finder windows will show up.  Holding &lt;kbd&gt;shift&lt;/kbd&gt; will make this a slow motion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-4238873802929584771?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/4238873802929584771/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=4238873802929584771" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4238873802929584771" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4238873802929584771" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/07/slow-motion-in-leopard.html" title="Slow Motion in Leopard" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-7990680362610185599</id><published>2008-05-03T23:14:00.005+08:00</published><updated>2008-05-03T23:36:16.544+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">GTA IV</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;img src="http://img209.imageshack.us/img209/8801/shotvl0.png"
     alt="Shot of trailer" /&gt; 
&lt;/div&gt;

&lt;p&gt;GTA IV has been put on shelves in market.  I've just watched the 4
  trailer videos, and I think the graphics sucks in comparison to
  Assassins Creed, the animation sucks in comparison to Prince of
  Persia 3, and the modeling sucks in comparison to Doom 3.  But,
  guys, BUT: it has got "Grand Theft Auto" in its name.  What else can
  a man want from a video game?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-7990680362610185599?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/7990680362610185599/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=7990680362610185599" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/7990680362610185599" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/7990680362610185599" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/05/gta-iv.html" title="GTA IV" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-5924913994445793133</id><published>2008-04-24T10:52:00.000+08:00</published><updated>2008-04-24T10:57:29.776+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">EMI Sued MP3tunes</title><content type="html">&lt;p&gt;April 22th, CEO of &lt;a href="http://www.mp3tunes.com/"&gt;MP3tunes&lt;/a&gt; sent all users an email, saying that MP3tunes was sued by EMI because of that copywrong thing.&lt;/p&gt;

&lt;blockquote&gt;As you may be aware, the major record label EMI has sued MP3tunes, claiming
    our service is illegal. You can read about the case here. Much is at stake 
    -- if you don't have the right to store your own music online then you    
    won't have the right to store ebooks, videos and other digital products as
    well. The notion of ownership in the 21st century will evaporate. The idea
    of ownership is important to me and I want to make sure I have that right 
    and my kids do too.&lt;/blockquote&gt;

&lt;p&gt;I don't think MP3tunes did wrong and we all know what rights we have.  So I just want to say, EMI, you suck!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-5924913994445793133?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/5924913994445793133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=5924913994445793133" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5924913994445793133" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5924913994445793133" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/04/emi-sued-mp3tunes.html" title="EMI Sued MP3tunes" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-1064286687382664827</id><published>2008-03-20T13:31:00.001+08:00</published><updated>2008-03-20T13:32:49.287+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">I Need an Apple Cinema Display</title><content type="html">&lt;div style="text-align: center;"&gt;
  &lt;img src="http://images.apple.com/displays/images/index_display_30in20060721.png"
       alt="Apple Cinema Display" /&gt;&lt;/div&gt;

&lt;p&gt;Yes, I do.  Because when I'm working on my paper, my desktop
  becomes this:&lt;br /&gt;
  &lt;a href="http://img139.imageshack.us/img139/4346/crowdtd9.png"&gt;&lt;img src="http://img86.imageshack.us/img86/9725/thumbyv6.png"
  alt="sorry-looking desktop" /&gt;&lt;/a&gt;&lt;br/&gt;
  The apps are Emacs, xpdf x 3, rox file manager and terminal.&lt;/p&gt;

&lt;p&gt;And I can optimize it a little, which results in this:&lt;br /&gt;
  &lt;a href="http://img246.imageshack.us/img246/3339/crowdaltud6.png"&gt;
    &lt;img src="http://img143.imageshack.us/img143/7254/thumbaltpa3.png"
         alt="sorry-looking desktop 2" /&gt;&lt;/a&gt;&lt;br /&gt;
  I can make use of one xpdf now, while lose the usability of the
         terminal...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-1064286687382664827?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/1064286687382664827/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=1064286687382664827" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1064286687382664827" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1064286687382664827" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/03/i-need-apple-cinema-display.html" title="I Need an Apple Cinema Display" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-7885563932367281889</id><published>2008-02-16T19:56:00.004+08:00</published><updated>2008-02-16T20:30:06.823+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Report IP and More via e-mail</title><content type="html">&lt;p&gt;Want to SSH to you machine at home but don't know the DSL IP
address?  Why not make your home Linux mail it to you?  I wrote some tiny
programs that would keep an eye on you mail spool and do stuff
according to some specific mail subject.  For example, I can send an
e-mail to myself which has a subject &lt;code&gt;[CMD] ip_wan&lt;/code&gt; and
sometime later I will receive an e-mail containing the WAN IP of my
router, so that I can easily make a SSH/ftp/telnet session between
where I currently am and my box at home.&lt;/p&gt;

&lt;p&gt;The first program check my e-mail spool and tell if doing some
  tasks is needed.&lt;/p&gt;

&lt;pre&gt;
&lt;span style="color: #5f9ea0; font-style: italic;"&gt;#!/usr/bin/env python
&lt;/span&gt;
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; sys
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; mailbox
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; StringIO
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; rfc822

&lt;span style="color: #4eee94;"&gt;SPOOL&lt;/span&gt;=&lt;span style="color: #deb887;"&gt;"/var/mail/corsair"&lt;/span&gt;

&lt;span style="color: #00bfff; font-weight: bold; text-decoration: overline;"&gt;def lookUp(mbox):
&lt;/span&gt;    MBox = mailbox.mbox(mbox)
    Deletes = []
    CMDs = []
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;for&lt;/span&gt; Mail &lt;span style="color: #00bfff; font-weight: bold;"&gt;in&lt;/span&gt; MBox.items():
        Msg = StringIO.StringIO()
        Msg.write(str(Mail[1]))
        Msg.seek(0)
        MsgParsed = rfc822.Message(Msg)
        &lt;span style="color: #00bfff; font-weight: bold;"&gt;if&lt;/span&gt; MsgParsed[&lt;span style="color: #deb887;"&gt;"Subject"&lt;/span&gt;].startswith(&lt;span style="color: #deb887;"&gt;"[CMD]"&lt;/span&gt;):
            CMD = MsgParsed[&lt;span style="color: #deb887;"&gt;"Subject"&lt;/span&gt;][6:]
            MBox.remove(Mail[0])
            CMDs.append(CMD)
        Msg.close()
    MBox.close()
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;return&lt;/span&gt; CMDs

&lt;span style="color: #00bfff; font-weight: bold; text-decoration: overline;"&gt;def main():
&lt;/span&gt;    &lt;span style="color: #00bfff; font-weight: bold;"&gt;for&lt;/span&gt; CMD &lt;span style="color: #00bfff; font-weight: bold;"&gt;in&lt;/span&gt; lookUp(SPOOL):
        &lt;span style="color: #00bfff; font-weight: bold;"&gt;print&lt;/span&gt; CMD

&lt;span style="color: #00bfff; font-weight: bold;"&gt;if&lt;/span&gt; __name__ == &lt;span style="color: #deb887;"&gt;"__main__"&lt;/span&gt;:
    main()
    sys.exit(0)
&lt;/pre&gt;

&lt;p&gt;And the second is a shell script that does specific task according
  to standard input.&lt;/p&gt;

&lt;pre&gt;
&lt;span style="color: #5f9ea0; font-style: italic;"&gt;#&lt;/span&gt;&lt;span style="color: #5f9ea0; font-style: italic;"&gt;!/bin/&lt;/span&gt;&lt;span style="color: #00bfff; font-weight: bold;"&gt;zsh&lt;/span&gt;&lt;span style="color: #5f9ea0; font-style: italic;"&gt;
&lt;/span&gt;
&lt;span style="color: #4eee94;"&gt;MailAddr&lt;/span&gt;=&lt;span style="color:
                                                           #deb887;"&gt;"My Email Address"&lt;/span&gt;

&lt;span style="color: #daa520; font-weight: bold;"&gt;mailsend&lt;/span&gt;()
{
    &lt;span style="color: #f08080;"&gt;print&lt;/span&gt; -l &lt;span style="color: #deb887;"&gt;"Subject: CMD reply\n"&lt;/span&gt; $&lt;span style="color: #4eee94;"&gt;1&lt;/span&gt; $&lt;span style="color: #4eee94;"&gt;2&lt;/span&gt; | msmtp $&lt;span style="color: #4eee94;"&gt;MailAddr&lt;/span&gt;
}

&lt;span style="color: #00bfff; font-weight: bold;"&gt;for&lt;/span&gt; CMD&lt;span style="color: #00bfff; font-weight: bold;"&gt; in&lt;/span&gt; $(cat); &lt;span style="color: #00bfff; font-weight: bold;"&gt;do&lt;/span&gt;
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;case&lt;/span&gt; $&lt;span style="color: #4eee94;"&gt;CMD&lt;/span&gt;&lt;span style="color: #00bfff; font-weight: bold;"&gt; in&lt;/span&gt;
        ip_wan)
            &lt;span style="color: #f08080;"&gt;echo&lt;/span&gt; &lt;span style="color: #deb887;"&gt;"Sending wan IP..."&lt;/span&gt;
            mailsend &lt;span style="color: #deb887;"&gt;"Wan IP is"&lt;/span&gt; &lt;span style="color: #deb887;"&gt;\&lt;/span&gt;
                $(wget -O - -q http://myip.dk/ | sed -nr &lt;span style="color: #deb887;"&gt;'s|^&amp;lt;title&amp;gt;Your IP: ([^&amp;lt;]+)&amp;lt;/title&amp;gt;$|\1|p'&lt;/span&gt;)
            ;;
        ip_lan)
            &lt;span style="color: #f08080;"&gt;echo&lt;/span&gt; &lt;span style="color: #deb887;"&gt;"Sending lan IP..."&lt;/span&gt;
            mailsend &lt;span style="color: #deb887;"&gt;"Lan IP is"&lt;/span&gt; &lt;span style="color: #deb887;"&gt;"$(ifconfig)"&lt;/span&gt;
            ;;
        *)
            ;;
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;esac&lt;/span&gt;
&lt;span style="color: #00bfff; font-weight: bold;"&gt;done&lt;/span&gt;
&lt;/pre&gt;

&lt;p&gt;You can tell that this script currently only support sending LAN
  and WAN IP.&lt;/p&gt;

&lt;p&gt;A possible usage of these two programs is to run the following
  every some minutes:&lt;/p&gt;

&lt;pre&gt;mailcmd.py | mailcmdexec.sh&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-7885563932367281889?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/7885563932367281889/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=7885563932367281889" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/7885563932367281889" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/7885563932367281889" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2008/02/report-ip-and-more-via-e-mail.html" title="Report IP and More via e-mail" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-5204505258800315791</id><published>2007-11-07T11:53:00.000+08:00</published><updated>2007-11-11T12:33:03.458+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">Terminal Broadcasting</title><content type="html">&lt;p&gt;Some days ago I
  registered an &lt;a href="http://www.aardwolf.com/"&gt;Aardwolf MUD&lt;/a&gt; account, and
  want to show to my girlfriend about MUD and how to play it.  So I
  needed a method to copy the content of my terminal to hers, which I
  called terminal broadcasting.  I got help from the official
  &lt;acronym title="Bulletin Board System"&gt;BBS&lt;/acronym&gt; of my college,
  that I could redirect the output of the &lt;code&gt;script&lt;/code&gt; program to the
  target &lt;acronym title="Pseudo Terminal"&gt;pt&lt;/acronym&gt;.  The shell
  command ran thus:&lt;/p&gt;

&lt;pre&gt;$ script /dev/null 2&gt;&amp;1 | tee /dev/pts/2&lt;/pre&gt;

&lt;p&gt;Where I assumed that the target &lt;acronym title="Pseudo
                                                   Terminal"&gt;pt&lt;/acronym&gt;
                                                   was &lt;code&gt;/dev/pts/2&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Why was &lt;code&gt;script&lt;/code&gt; functional?  What I wanted was to duplicate
  the content of my terminal to hers, both of which, in fact, were
  file under &lt;code&gt;/dev&lt;/code&gt;.  So what I've got to do was to write
  the content of &lt;code&gt;/dev/pts/1&lt;/code&gt; (I assume it's my pt)
  to &lt;code&gt;/dev/pts/2&lt;/code&gt;.  Generally, for regular files, one can
  just do a redirected &lt;code&gt;cat&lt;/code&gt; like this&lt;/p&gt;

&lt;pre&gt;$ cat /dev/pts/1 &gt; /dev/pts/2&lt;/pre&gt;

&lt;p&gt;But since &lt;code&gt;/dev/pts/1&lt;/code&gt; changes continuously, the command
  above does not suit our needs.  Furthermore, if we just redirect the
  output, we ourselves are not able to see the content
  of &lt;code&gt;/dev/pts/1&lt;/code&gt;, which will make us unable to do any
  thing in it.  So quite natually, &lt;code&gt;tee&lt;/code&gt; will be used.  And for
  the real-time-update stuff, we need a tool that gives us a subshell,
  and "watch" all the input and output and err.  It very seems that a
  shell itself will do;  however, unfortunately, a shell is too
  low-leveled for this task, and &lt;code&gt;script&lt;/code&gt; is the very program
  (just see what &lt;code&gt;script&lt;/code&gt; does: it write the content of
  current &lt;acronym title="Pseudo Terminal"&gt;pt&lt;/acronym&gt; to a file).
  But the question is that why redirect?  It seem a
  simple &lt;code&gt;script /dev/pts/2&lt;/code&gt; will do it perfectly.  Yes it
  &lt;em&gt;seems&lt;/em&gt;; however the answer is concerning the
  "update &lt;em&gt;continuously&lt;/em&gt;" thing: by default, script only
  updates the file when encounter a line break (return), so we have to
  use a pipe.  If you really hate pipes and redirection, you can pass
  a &lt;code&gt;-f&lt;/code&gt; as an option like this:&lt;/p&gt;

&lt;pre&gt;$ script -f /dev/pts/2&lt;/pre&gt;

&lt;p&gt;It works similarly as using a pipe.&lt;/p&gt;

&lt;p&gt;So for now we have two methods, and there is one more: using a
  named pipe.&lt;/p&gt;

&lt;pre&gt;$ mkfifo temp.fifo
$ nc -l -p 1234 -c "cat temp.fifo" &amp;
$ script -f temp.fifo
&lt;/pre&gt;

&lt;p&gt;When others want to see your terminal, they can telnet you via
  port 1234.  This is a more robotic way.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-5204505258800315791?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/5204505258800315791/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=5204505258800315791" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5204505258800315791" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5204505258800315791" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/11/ternimal-broadcasting.html" title="Terminal Broadcasting" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6454676926201580410</id><published>2007-10-18T10:50:00.000+08:00</published><updated>2007-10-18T10:57:16.871+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="有目的地随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Youtube Blocked by Chinese Internet Nanny</title><content type="html">&lt;p&gt;Yes.  &lt;a href="http://www.youtube.com/" title="Youtube Homepage"&gt;Youtube&lt;/a&gt; has been blocked by &lt;abbr title="Great Fire Wall"&gt;GFW&lt;/abbr&gt;.  And meanwhile, blogspot is unblocked.  Don't know what's in their brains...&lt;/p&gt;

&lt;p&gt;在十七大召开，举国欢庆的日子里，打开 &lt;a href="http://tor.eff.org/" title="Tor Homepage"&gt;tor&lt;/a&gt; 以庆祝。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6454676926201580410?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6454676926201580410/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6454676926201580410" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6454676926201580410" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6454676926201580410" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/10/youtube-blocked-by-chinese-internet.html" title="Youtube Blocked by Chinese Internet Nanny" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-1032598115375514736</id><published>2007-10-13T15:15:00.000+08:00</published><updated>2007-10-13T15:30:01.891+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Wiki is GFWed</title><content type="html">&lt;p&gt;&lt;a href="http://www1.webng.com/Corsair/"&gt;My wiki&lt;/a&gt; (and
  webng.com) was &lt;acronym title="Great Fire Wall"&gt;GFW&lt;/acronym&gt;ed.  If
  you are not a chinese, and want to know about GFW (aka. Chinese
  Internet Nanny), I recommand
  you &lt;a href="http://www.itnews.com.au/News/62931,chinese-internet-censorship-machine-revealed.aspx"&gt;Chinese
    internet censorship machine revealed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At first when I found my wiki could not be browsed, I thought that
  webng.com was down.
  But &lt;a href="http://galoisabel.blogspot.com/"&gt;GaloisAbel&lt;/a&gt; told me
  today that she can read it, and I realized that webng.com might be
  blocked.  So I inserted webng.com into my .pac (which Firefox will
  parse automatically) and started tor and type the
  &lt;abbr title="Uniform Resource Identifier"&gt;URI&lt;/abbr&gt;.  After a
  while, that familiar blue webpage appeared~~  Ha!!~~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-1032598115375514736?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/1032598115375514736/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=1032598115375514736" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1032598115375514736" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1032598115375514736" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/10/wiki-is-gfwed.html" title="Wiki is GFWed" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-4088855363109714224</id><published>2007-09-23T11:04:00.000+08:00</published><updated>2007-09-23T11:19:49.232+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="Mac OS X" /><title type="text">Mac OS X on IBM T40</title><content type="html">&lt;p&gt;Installed Mac OSX on my IBM T40 laptop, and Windows was totally
wiped out from my box.&lt;/p&gt;

&lt;p&gt;The installation was quite easy, and it reminded me of installing
Ubuntu.  What troubled me was the hard drive partitioning
  process. Before, The &lt;acronym title="Master Boot
                                       Record"&gt;MBR&lt;/acronym&gt; on my
  hard disk was definitely a mess, for that since I was about to
  install Ubuntu, I used to dynamically part it using Powerquest
  Magic, and it must produce some junk in the MBR.  So when I formated
  the used-to-be windows partition to HFS+ with Disk Utility, it
  refused to do that, and said that it couldn't write into MBR.  I had
  to back up all my important data with size of 30GB onto a mobile
  disk, and repartition the whole drive.  Finally, I could format a
  primary partition into HFS+ and installed Mac OSX.&lt;/p&gt;

&lt;p&gt;This OS is amazing, and of fantastic convenience.  And everything
  in it goes smooth and shiny.  What shock me most are the dock and
  the structure of applications.  The dock can communicate with other
  running applications, and it do it a lot, so I have a funny duck
  with its wings spread and the number of new messages when Adium got
  some, as well as a fat rocket on which text is shown indicating the
  download speed when BitRocket is flying.  And for the structure of
  applications, each one of them is a folder whose name is ended
  with &lt;code&gt;.app&lt;/code&gt;, and the stuff this program needs is in this
  folder, including icons, &lt;abbr title="Extensible Markup
  Language"&gt;xml&lt;/abbr&gt;-s, logic, etc..  So Installing an application
  is all about drag the folder to somewhere local.&lt;/p&gt;

&lt;p&gt;There are also some troubles.  The first one is that I cannot get
  video card driver installed, so QE and hardware acceleration cannot
  be enabled.  Another one concerning the stability of OSX x86.  Some
  of the applications can be easily stuck or exit abnormally such as
  Grapher and Safari.  I am planning to replace Grapher with
  GNUPlot.&lt;/p&gt;

&lt;p&gt;At last, a screenshot.&lt;/p&gt;

&lt;div style="text-align:center;"&gt;&lt;a href="http://cryingdoom.deviantart.com/art/2007-09-23-65553525"&gt;&lt;img src="http://tn3-2.deviantart.com/fs19/300W/f/2007/265/7/1/2007_09_23_by_CryingDoom.png"
                                                alt="Mac OSX
                                                screenshot" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-4088855363109714224?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/4088855363109714224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=4088855363109714224" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4088855363109714224" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4088855363109714224" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/09/mac-os-x-on-ibm-t40.html" title="Mac OS X on IBM T40" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-5848591715139548447</id><published>2007-08-17T11:27:00.000+08:00</published><updated>2007-08-17T11:45:18.992+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">Program To Generate Random Sentences and Emacs's Popularity</title><content type="html">&lt;p&gt;Just wrote a program to randomly generate sentences, which is somewhat more advanced than a similar program I wrote some mouth ago.  The former one just randomly chose a pre-defined pattern and fill it with randomly chosen words, while this one, using &lt;a href="http://en.wikipedia.org/wiki/Recursive_transition_network"&gt;recursive transition networks&lt;/a&gt; to indicate some basic rules of English grammar, can produce quite nice sentences with subject and object clauses, such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The fool which reluctantly rocks unwillingly eats a book.&lt;/li&gt;
&lt;li&gt;The silly man that is silly unwillingly kicks a book which finally pisses.&lt;/li&gt;
&lt;li&gt;A book reluctantly eats a bug that is red.&lt;/li&gt;
&lt;li&gt;A man unwillingly sucks.&lt;/li&gt;
&lt;li&gt;The piece of shit that happily runs reluctantly kicks a bug.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another thing, popularity of Emacs has descended during these years.  And now it is less popular than even GEdit and Kite.  See &lt;a href="http://gnuvince.net/?p=407"&gt;Vincent's post&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-5848591715139548447?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/5848591715139548447/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=5848591715139548447" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5848591715139548447" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/5848591715139548447" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/08/program-to-generate-random-sentences.html" title="Program To Generate Random Sentences and Emacs's Popularity" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6623669222871234614</id><published>2007-07-28T20:34:00.000+08:00</published><updated>2007-07-28T20:48:14.070+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">Youtube Video URL Extractor in Python</title><content type="html">&lt;p&gt;This is a little programme I've just written, &lt;code&gt;youtube-url.py&lt;/code&gt;.  It finds the &lt;acronym title="Uniform Resource Locator"&gt;URL&lt;/acronym&gt;s of &lt;a href="http://www.youtube.com/"&gt;youtube&lt;/a&gt; videos according to video IDs.  Thus we can download the video file whose ID is, for example, &lt;code&gt;qNKtKm3SXvs&lt;/code&gt; with this command line:&lt;/p&gt;

&lt;pre&gt;wget -O video.flv `youtube-url.py qNKtKm3SXvs`&lt;/pre&gt;

&lt;p&gt;The code runs thus:&lt;/p&gt;

&lt;pre&gt;
&lt;span style="color: #5f9ea0; font-style: italic;"&gt;#!/usr/bin/env python
# Time-stamp: &amp;lt;corsair 2007-07-28 16:16:38&amp;gt;
&lt;/span&gt;
&lt;span style="color: #5f9ea0; font-style: italic;"&gt;# Corsair &amp;lt;&lt;a href="mailto:chris.corsair&amp;#64;gmail.com"&gt;chris.corsair&amp;#64;gmail.com&lt;/a&gt;&amp;gt;
# Usage: youtube-url video-id
&lt;/span&gt;
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; sys
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; urllib2
&lt;span style="color: #00bfff; font-weight: bold;"&gt;import&lt;/span&gt; getopt

&lt;span style="color: #00bfff; font-weight: bold;"&gt;def&lt;/span&gt; &lt;span style="color: #daa520; font-weight: bold;"&gt;main&lt;/span&gt;():
    &lt;span style="color: #5f9ea0; font-style: italic;"&gt;# Options parsing, fake for now.
&lt;/span&gt;    &lt;span style="color: #00bfff; font-weight: bold;"&gt;try&lt;/span&gt;:
        Options, Args = getopt.gnu_getopt(sys.argv[1:], &lt;span style="color: #deb887;"&gt;""&lt;/span&gt;, [])
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;except&lt;/span&gt; getopt.GetoptError:
        &lt;span style="color: #5f9ea0; font-style: italic;"&gt;# print help information and exit:
&lt;/span&gt;        &lt;span style="color: #00bfff; font-weight: bold;"&gt;pass&lt;/span&gt;

    &lt;span style="color: #00bfff; font-weight: bold;"&gt;if&lt;/span&gt; len(sys.argv) == 1:
        &lt;span style="color: #00bfff; font-weight: bold;"&gt;print&lt;/span&gt; &lt;span style="color: #deb887;"&gt;"Pleas specify a video-id."&lt;/span&gt;
        sys.exit(1)

    VideoID = sys.argv[1]
    WatchPage = urllib2.urlopen(
        &lt;span style="color: #deb887;"&gt;""&lt;/span&gt;.join([&lt;span style="color: #deb887;"&gt;"http://youtube.com/watch?v="&lt;/span&gt;, VideoID]))

    HtmlLine = &lt;span style="color: #deb887;"&gt;""&lt;/span&gt;
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;while&lt;/span&gt; HtmlLine.find(&lt;span style="color: #deb887;"&gt;"SWFObject"&lt;/span&gt;) == -1:
        HtmlLine = WatchPage.readline()
    UrlOriginal = HtmlLine[HtmlLine.find(&lt;span style="color: #deb887;"&gt;"BASE_YT_URL"&lt;/span&gt;)+12:]
    UrlOriginal = &lt;span style="color: #deb887;"&gt;'?'&lt;/span&gt;.join([&lt;span style="color: #deb887;"&gt;"http://www.youtube.com/get_video"&lt;/span&gt;, 
                            UrlOriginal[:UrlOriginal.find(&lt;span style="color: #deb887;"&gt;'\"'&lt;/span&gt;)].
                            partition(&lt;span style="color: #deb887;"&gt;'&amp;amp;'&lt;/span&gt;)[2]])
    
    &lt;span style="color: #5f9ea0; font-style: italic;"&gt;# Redirect
&lt;/span&gt;    RedirectOpener = urllib2.build_opener(
        urllib2.HTTPRedirectHandler)
    Request = urllib2.Request(UrlOriginal)
    UrlReal = RedirectOpener.open(Request).url
    &lt;span style="color: #00bfff; font-weight: bold;"&gt;print&lt;/span&gt; UrlReal

&lt;span style="color: #00bfff; font-weight: bold;"&gt;if&lt;/span&gt; __name__ == &lt;span style="color: #deb887;"&gt;"__main__"&lt;/span&gt;:
    main()
&lt;/pre&gt;

&lt;p&gt;Also, there is &lt;a href="http://cmsir.scinese.com/2007/07/27/youtube-video-downloader-in-ruby/"&gt;a Ruby version&lt;/a&gt; by &lt;a href="http://cmsir.scinese.com/"&gt;Cheng Meng&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6623669222871234614?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6623669222871234614/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6623669222871234614" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6623669222871234614" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6623669222871234614" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/07/youtube-video-url-extractor-in-python.html" title="Youtube Video URL Extractor in Python" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-4313737238006794407</id><published>2007-07-20T15:21:00.000+08:00</published><updated>2007-07-20T15:26:00.697+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">New Blog and This Blog</title><content type="html">&lt;p&gt;Create a &lt;a href="http://corsair.scinese.com"&gt;new blog&lt;/a&gt; on
scinese.com, 'cause this blog is blocked by Chinese Internet Nanny.
The plan is that I write this blog purely in English, and the scinese
one in Chinese.&lt;/p&gt;

&lt;p&gt;The new blog is &lt;a href="http://www.wordpress.org/"&gt;Wordpress&lt;/a&gt;
  based and has its traditional problem that it checks and alters
  my &lt;abbr title="Hypertext Markup Language"&gt;html&lt;/abbr&gt; code pretty
  much (even the code in &lt;code&gt;&amp;lt;pre&amp;gt;&lt;/code&gt;).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-4313737238006794407?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/4313737238006794407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=4313737238006794407" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4313737238006794407" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4313737238006794407" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/07/new-blog-and-this-blog.html" title="New Blog and This Blog" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6430201973941868908</id><published>2007-07-16T20:57:00.000+08:00</published><updated>2007-07-16T21:14:05.048+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">Rockbox</title><content type="html">&lt;p&gt;刚才吃方便面的时候，不禁想起了以前住宿舍，用量子力学压面的生活...&lt;/p&gt;

&lt;p&gt;给 iPod 买了袜套，又忍不住自由的诱惑，重新安上
  了 &lt;a href="http://www.rockbox.org/" title="Rockbox
  Homepage"&gt;Rockbox&lt;/a&gt; 系统。比以前进步不少，菜单有了图标，好像也比以
  前快了，tag database 和 bootloader 都升级为第二版，但是耗电的问题还是
  没有解决，所以暂时不敢放弃苹果原来的操作系统...&lt;/p&gt;

&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jrPg8mYSpq4/Rptr-hPCh3I/AAAAAAAAAE0/wfac59Gb8g0/s1600-h/pict0017.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_jrPg8mYSpq4/Rptr-hPCh3I/AAAAAAAAAE0/wfac59Gb8g0/s400/pict0017.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5087778925862618994" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;重新制作了一个主题，自己觉得还挺不错的，发布一下~~~ &lt;/p&gt;
&lt;p style="text-align:center;"&gt;
&lt;img src="http://img374.imageshack.us/img374/1663/mclarenzc9.png"
     alt="Screenshot" /&gt;
&lt;br /&gt;
&lt;a
href="http://www.box.net/lite/ozh2e013c7"&gt;&lt;img style="border-width:0px;" 
src="http://www.box.net/lite/image/ozh2e013c7.png" alt="McLaren.zip" /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6430201973941868908?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6430201973941868908/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6430201973941868908" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6430201973941868908" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6430201973941868908" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/07/rockbox.html" title="Rockbox" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jrPg8mYSpq4/Rptr-hPCh3I/AAAAAAAAAE0/wfac59Gb8g0/s72-c/pict0017.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6414160332912737228</id><published>2007-06-20T12:02:00.000+08:00</published><updated>2007-06-20T12:03:30.788+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><category scheme="http://www.blogger.com/atom/ns#" term="web" /><title type="text">我的 Wiki 和考试拉稀</title><content type="html">&lt;p&gt;更新了&lt;a href="http://www1.webng.com/Corsair/index.html"&gt;我的
    Wiki&lt;/a&gt;，写了一些关于 Mutt 的东西，改进
    了&lt;a href="http://www1.webng.com/Corsair/Muse.html#sec5" title="代
    码加亮问题的改进"&gt;代码加亮&lt;/a&gt;，最重要的是 hack 了 Muse 的源码，使
    产生的 xhtml 符合 &lt;a href="http://www.w3.org/TR/xhtml11/"&gt;xhtml
    1.1 标准&lt;/a&gt;，patch 已经提交给 Muse 的邮件列表。&lt;/p&gt;
&lt;p&gt;妈妈的，考试的时候又拉稀了...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6414160332912737228?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6414160332912737228/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6414160332912737228" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6414160332912737228" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6414160332912737228" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/06/wiki.html" title="我的 Wiki 和考试拉稀" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-4130492658662096972</id><published>2007-06-05T12:14:00.000+08:00</published><updated>2007-06-05T22:42:51.061+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">LaTeX 幻灯片</title><content type="html">&lt;p&gt;要做幻灯片，所以这几天找了一些关于 TeX 做幻灯片的文档，基本上就是
  pdfscreen + ppower4, Beamer, ConTeXt 这几个东西。第一个没用过，因为比
  较麻烦，后面两个都试了一下。ConTeXt 是最牛逼的，强大而不失简洁，美丽
  而不失庄重，实乃我辈中人之良择，可惜配置中文字体未遂...  Beamer 就比
  较好办，因为是在 LaTeX 之上，只要 LaTeX 能出中文就没什么问题，效果虽
  然比 ConTeXt 要逊色不少，但是强大而不失简洁，美丽而不失庄重，实乃我辈
  中人之良择。&lt;/p&gt;

&lt;p&gt;顺便做了一个&lt;a href="http://www.box.net/shared/drntvlbmmm"&gt;幻灯片&lt;/a&gt;用来测试，模板部分参考了沈坚的。只是个 Demo，内容
  不必在意。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-4130492658662096972?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/4130492658662096972/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=4130492658662096972" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4130492658662096972" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/4130492658662096972" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/06/latex.html" title="LaTeX 幻灯片" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6446257804508771473</id><published>2007-06-05T11:03:00.000+08:00</published><updated>2007-06-06T22:15:52.159+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">How to Convert Video for iPod: The Freeway</title><content type="html">&lt;p&gt;The freeway = the free software way.&lt;/p&gt;

  &lt;p&gt;There is a non-free way as well.
    See &lt;a
    href="http://corsairdoom.blogspot.com/2007/03/how-to-convert-video-for-ipod.html"&gt;my
    old post&lt;/a&gt; which also includs the format and limit of video
    files that an iPod can accept.&lt;/p&gt;

  &lt;p&gt;Software needed:
    &lt;ul&gt;
      &lt;li&gt;For video
      transcoding: &lt;a
      href="http://sourceforge.net/projects/ffmpeg"&gt;ffmpeg&lt;/a&gt;,
      &lt;a
      href="http://www.videolan.org/developers/x264.html"&gt;x264&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;For audio
      transcoding: &lt;a
      href="http://sourceforge.net/projects/faac/"&gt;FAAC&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;Muxer: &lt;a
      href="http://gpac.sourceforge.net/index.php"&gt;MP4Box&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;Misc.: &lt;a href="http://www.mplayerhq.hu/"&gt;MPlayer&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;&lt;/p&gt;

  &lt;p&gt;Take a flash video (flv) from youtube for example.  Such a flash video
  includes a MPEG-2 video stream and a MP3 audio stream, both of which
    are need to transcode.  Assume the filename is liu4.flv.&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;First off, play this video file in mplayer which will display
    the format of this file (frame rate, coding, etc.).  Keep them in
    mind.&lt;/li&gt;
    &lt;li&gt;&lt;p&gt;Transcode the video stream.  iPod accepts both MPEG-4 and H264
        stream.  For MPEG-4 coding:&lt;/p&gt;

      &lt;pre&gt;ffmpeg -r [fps] -i liu4.flv \
-vcodec mpeg4 -b [bitrate]k liu4.m4v&lt;/pre&gt;

      &lt;p&gt;Notice that the position of options makes sense!  For
        detail, go to ffmpeg's manual.&lt;/p&gt;

      &lt;p&gt;Things are a little tougher if you wants to use x264, for
      that x264 only accepts YUV 4:2:0, YUV4MPEG 4:2:0 and avi/avs (if
      compiled with AVIS support) as input, so for a flv file, it
        should be first convert to YUV4MPEG (make sure you have
      adequate space on the hard disk).&lt;/p&gt;

      &lt;pre&gt;mplayer -vo yuv4mpeg:file=liu4.yuv liu4.flv&lt;/pre&gt;

      &lt;p&gt;Then&lt;/p&gt;

      &lt;pre&gt;x264 -B [bitrate] --fps [fps] -o liu4.264 \
        liu4.yuv 320x240&lt;/pre&gt;
    &lt;/li&gt;

    &lt;li&gt;
      &lt;p&gt;Transcode the audio stream.  First dump the audio stream
        from the flv.&lt;/p&gt;
      
      &lt;pre&gt;mplayer -dumpaudio -dumpfile liu4.mp3 liu4.flv&lt;/pre&gt;
      
      &lt;p&gt;Then use something to decode the stream to wav.  I prefer
        Lame.  After that, use FAAC to encode it to aac.&lt;/p&gt;
      
      &lt;pre&gt;faac -b [bitrate] -o liu4.m4a -w liu4.wav&lt;/pre&gt;
    &lt;/li&gt;

    &lt;li&gt;
      &lt;p&gt;Finally, mux them up.&lt;/p&gt;
      &lt;pre&gt;MP4Box -fps [fps] -add liu4.m4v
MP4Box -fps [fps] -add liu4.m4a&lt;/pre&gt;
    &lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;That's it.  One last thing: variable frame rate and fake variable frame rate video
    files are not support by this freeway.  (Is there a encoder that
    support it?)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6446257804508771473?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6446257804508771473/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6446257804508771473" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6446257804508771473" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6446257804508771473" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/06/how-to-convert-video-for-ipod-freeway.html" title="How to Convert Video for iPod: The Freeway" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-6575156011176494566</id><published>2007-05-26T13:32:00.000+08:00</published><updated>2007-05-26T13:34:04.106+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="有目的地随便说说" /><title type="text">锂离子电池 FAQ</title><content type="html">&lt;ol&gt;
&lt;li&gt;锂离子电池没有记忆效应&lt;br /&gt;
    锂离子电池真的没有记忆效应&lt;br /&gt;
    锂离子电池真的一点记忆效应也没有！&lt;/li&gt;
&lt;li&gt;不用激活，因为出场时电池已经激活好了。&lt;/li&gt;
&lt;li&gt;&lt;p&gt;只有带“油表”的电池才需要每月放满-充满一次。“油表”是指电池中记
  录容量信息的芯片。放满-充满的过程是为了 reset 油表中的信息，而不是为
    了再次激活电池。&lt;/p&gt;
  &lt;p&gt;所有的笔记本电池都带有油表，其它的小型移动设备（比如手机和各种
    music player）大多都不带。&lt;/p&gt;
&lt;li&gt;因为没有记忆效应，所以不需要用光再充，完全可以随用随充，而且这是推
  荐的使用方式。&lt;/li&gt;
&lt;li&gt;&lt;p&gt;不是充的次数越少寿命就越长，而是放满-充满循环的次数越多寿命就越
    短。锂离子电池的寿命大约是 300~500 循环，在这个次数以后电量才会有比
    较明显的下降。&lt;/p&gt;
  &lt;p&gt;假如一个电池的容量是 800 mAh，某此使用了 100 mAh，然后又充满，这
    等于是 1/8 个放满-充满循环。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;过放电和过充电是最大的伤害。&lt;/li&gt;
&lt;li&gt;但是不用担心笔记本电脑或 ipod 总是接着电源会炸掉，因为充满以后
  就自动断路了。（锂离子电池不能浮充！)&lt;/li&gt;
&lt;li&gt;上一条只对质量比较好的移动产品成立。&lt;/li&gt;
&lt;li&gt;高温是对电池的第二大伤害。&lt;/li&gt;
&lt;li&gt;保持 p, T 不变，锂离子电池的电量在 40% 左右时有最长的寿命。&lt;/li&gt;
&lt;li&gt;实在看不惯周围的人折磨自己的电池，特发此文。&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.batteryuniversity.com/parttwo-34.htm"
       title="Further reading"&gt;How to prolong lithium-based batteries&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;以下是关于 iPod 的。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;iPod 的电池都是锂离子电池。&lt;/li&gt;
  &lt;li&gt;iPod 的电池是 Sony 或 Sanyo 产的，是正常人能见到的最好的电池，所
  以如果你的电池寿命显著的低于平均，那基本上是你自己的问题。
  &lt;/li&gt;
&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-6575156011176494566?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/6575156011176494566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=6575156011176494566" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6575156011176494566" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/6575156011176494566" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/05/faq.html" title="锂离子电池 FAQ" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-8176082465480491565</id><published>2007-05-19T12:10:00.000+08:00</published><updated>2007-05-19T13:43:34.559+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><title type="text">KOSS Spark Plug</title><content type="html">&lt;p&gt;3年高寿的 Sennheiser MX400 挂掉了...，昨天去买了一个 KOSS 的 Spark
  Plug，就是传说中的火花塞~~~，￥160。堡了一夜，说说感受。&lt;/p&gt;

&lt;p&gt;先说点客观的，频响范围。很多人都说包装盒上写的频响是骗人的，其实不
  是，只不过是那些人理解错了。盒上的那个频响是“有响应的频率”，那些
  10 ~ 20K 或者 20 ~ 20K 基本上都还正常，而一般说的频响是“有正确的响
  应的频率”，当然就不可能是那个数了。上学期为了测试我的 Sennheiser
  PX200，我用 Matlab 生成了很多各种频率的正弦波，这次又派上用场了 :-)。
  经过测试，KOSS SP 在 40~12K 内的频响基本上是正确的，可见在 ￥100~200
  这个价位上，火花塞的低音下潜算是很不错的了，高音么...  嗯，今天天气
  真好啊~~&lt;/p&gt;

&lt;p&gt;再来点主观的。作为一代低音王 KOSS PP 的简化版，火花塞的低音真不是盖
  的，量是没的说，质也还可以，一般的鼓和 bass 都还听得清楚。中音来说，
  由于低音的量比较高，有些喧宾夺主（认为低音是主的人请把准备扔出的西红
  柿和臭鸡蛋自行吃下），但是质量也还可以，虽然没有 PX200 来的圆润，但在
  同价位的耳塞中应该算是平均水平。高音则是火花塞的硬伤，KOSS 在这里犯了
  Hifi 的大忌。Hifi 设备的一条重要准则就是宁可不发，也不发错，而火花塞
  不仅发错了，而且一点隐藏的意思都没有，形容一下就是稀稀拉拉的，好像拉
  稀一样。对于那些充满三角铁的曲目，比如 Bedrich Smetana 的 La
  Moldau（我也不知道是第几乐章），简直是惨不忍睹...  音场上，火花塞是
  入耳式的，所以不错，比 PX200 要近一些。瞬态我就听不出来了，可能我的
  耳膜瞬态就不好...&lt;/p&gt;

&lt;p&gt;总的来说，火花塞的音色算是极其有特点，音染很重的那种，声音偏闷，而且
  比较冷，人声出不来那种甜的流蜜的感觉。作为我的 PX200 的调剂还是不错
  的:-p。在 ￥200 以下的价位，这种有特点的耳机还真不多。比较适合听摇滚
  和 Jazz（流行不算在音乐的范畴内），古典也还凑合。当听到 Pink Floyd 的
  Time 开头那一坨铃声的时候，请一定强迫自己认为昨晚没睡好觉，以至影响听
  力...&lt;/p&gt;

&lt;p&gt;看图：从左下到右上为 KOSS SP，MX400，PX200。&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jrPg8mYSpq4/Rk6OMfWn1eI/AAAAAAAAAEM/9hWYFa7XF-A/s1600-h/pict0029-mod.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_jrPg8mYSpq4/Rk6OMfWn1eI/AAAAAAAAAEM/9hWYFa7XF-A/s320/pict0029-mod.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5066142976064345570" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-8176082465480491565?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/8176082465480491565/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=8176082465480491565" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/8176082465480491565" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/8176082465480491565" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/05/koss-spark-plug.html" title="KOSS Spark Plug" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_jrPg8mYSpq4/Rk6OMfWn1eI/AAAAAAAAAEM/9hWYFa7XF-A/s72-c/pict0029-mod.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-1458128350757557367</id><published>2007-05-17T22:53:00.000+08:00</published><updated>2007-05-17T22:56:53.388+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">GNU Screen Is Fucking Amazing!</title><content type="html">&lt;p&gt;I was doing
some &lt;a
href="http://en.wikipedia.org/wiki/Diffusion-limited_aggregation"&gt;DLA&lt;/a&gt;
thing in a &lt;a href="http://www.gnu.org/software/screen/"&gt;screen&lt;/a&gt;
session.  After half an hour's slow and boring calculation I decided
to have some fun.  So I opened up Firefox and started browsing.  At
that time, for that it seemed that a web page required some multimedia
plug-ins which I did not have, the system stuck for a second and the X
  server restarted, which meant that I was forced to logout!&lt;/p&gt;

&lt;p&gt;I was quite upset and thought that I have done a half-an-hour
full-cpu-consuming (can them be combined thus?) job for nothing.  But
after I logged in again, I found my CPU was still working in high
load.  Opening up Top, I recognize my calculation program at the first
sight -- it remained there.  Filled with hope, I started screen using
the &lt;kbd&gt;-r&lt;/kbd&gt; switch and reattached the previous session and found that it
  was exacting what I lost.  It was really amazing~~~&lt;/p&gt;

&lt;p&gt;So one suggestion: start your terminal using &lt;code&gt;termname -e
screen&lt;/code&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-1458128350757557367?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/1458128350757557367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=1458128350757557367" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1458128350757557367" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1458128350757557367" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/05/gnu-screen-is-fucking-amazing.html" title="GNU Screen Is Fucking Amazing!" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-8813639747719716310</id><published>2007-05-05T15:38:00.000+08:00</published><updated>2007-05-05T15:44:36.356+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="随便说说" /><title type="text">GTR 2007</title><content type="html">&lt;p&gt;狗日的，我居然不知道今年的第一场 GT 是在我的生日和其后的一天举行的，
  而且是在珠海，真是人神共愤...&lt;/p&gt;
&lt;p&gt;看图先。珠海赛道：&lt;/p&gt;
&lt;p style="text-align:center;"&gt;
&lt;img src="http://img209.imageshack.us/img209/624/zhuhaiwm3.png" alt="珠海赛道" /&gt;
&lt;/p&gt;
&lt;p&gt;赛道相对不是很难，有两个稍有难度的弯。1组的冠军是Lamborghini Murciélago（终于...），可怜的 Maserati...&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fiagt.com/img/showimg.php.jpg?countkey=40&amp;key=4708&amp;season=2007&amp;event=1&amp;size=3&amp;rnd=true"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px;" src="http://www.fiagt.com/img/showimg.php.jpg?countkey=40&amp;key=4708&amp;season=2007&amp;event=1&amp;size=3&amp;rnd=true" border="0" alt="" /&gt;&lt;/a&gt;
&lt;p&gt;2组的前两名是意料之中的两辆 Ferrari 430，Porsche 997 只拿到第四（默
  哀一小时）...&lt;/p&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fiagt.com/img/showimg.php.jpg?countkey=8&amp;key=4676&amp;season=2007&amp;event=1&amp;size=3&amp;rnd=true"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.fiagt.com/img/showimg.php.jpg?countkey=8&amp;key=4676&amp;season=2007&amp;event=1&amp;size=3&amp;rnd=true" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-8813639747719716310?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/8813639747719716310/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=8813639747719716310" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/8813639747719716310" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/8813639747719716310" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/05/gtr-2007.html" title="GTR 2007" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2627804785977970904.post-1454705615908635321</id><published>2007-04-25T20:57:00.000+08:00</published><updated>2007-04-25T21:40:16.656+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="有目的地随便说说" /><category scheme="http://www.blogger.com/atom/ns#" term="computer related" /><title type="text">Scheme48 vs. PLT Scheme 与今天晚上坐在我右边的傻逼</title><content type="html">&lt;p&gt;Seems that Scheme48 have some problem with &lt;code&gt;lambda&lt;/code&gt;
  solving.  I was doing exercise 1.37 in &lt;em&gt;SICP&lt;/em&gt; and defined a
  procedure to represent "continued fraction" process:&lt;/p&gt;

&lt;p style="text-align:center;"&gt;
&lt;img src="http://img231.imageshack.us/img231/3829/texpngoutte6.png" alt="Continued Fraction" /&gt;
&lt;/p&gt;

&lt;div class="code"&gt;
&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#ffff00"&gt;define&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;con-frac&amp;nbsp;N&amp;nbsp;D&amp;nbsp;n&amp;nbsp;init-value&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#ffff00"&gt;if&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;=&lt;/font&gt;&amp;nbsp;n&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;/&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;N&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;+&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;D&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&amp;nbsp;init-value&lt;font
color="#ffa500"&gt;))&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;con-frac&amp;nbsp;N&amp;nbsp;D&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;-&lt;/font&gt;&amp;nbsp;n&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;/&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;N&amp;nbsp;n&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#40ffff"&gt;+&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;D&amp;nbsp;n&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&amp;nbsp;init-value&lt;font
color="#ffa500"&gt;)))))&lt;/font&gt;
&lt;/div&gt;

&lt;p&gt;And I used the following code to test this procedure in Scheme48&lt;/p&gt;
&lt;div class="code"&gt;
&lt;font
color="#ffa500"&gt;(&lt;/font&gt;con-frac&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#ffff00"&gt;lambda&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;n&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;&lt;font
color="#ffff00"&gt;lambda&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa500"&gt;(&lt;/font&gt;n&lt;font
color="#ffa500"&gt;)&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font
color="#ffa0a0"&gt;100&lt;/font&gt;&amp;nbsp;&lt;font
color="#ffa0a0"&gt;1&lt;/font&gt;&lt;font color="#ffa500"&gt;)&lt;/font&gt;&lt;br /&gt;
&lt;/div&gt;

&lt;p&gt;It showed an error:&lt;/p&gt;
&lt;pre&gt;
Error: attempt to call a non-procedure
       (100 100)
&lt;/pre&gt;

&lt;p&gt;While in PLT Scheme, the procedure can run properly.  I had no idea
  why this happened.&lt;/p&gt;

&lt;p&gt;再说一下今天晚上，我去上西方文学鉴赏课，那个老师三十岁出头，看着还
  挺年轻。说屠格涅夫的《父与子》的时候说到了六四。老师说，那场风波的时
  候我正在上高中。坐在我右边的一个傻逼立马小声说，64年的时候你上高中？
  &lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2627804785977970904-1454705615908635321?l=corsairdoom.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://corsairdoom.blogspot.com/feeds/1454705615908635321/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=2627804785977970904&amp;postID=1454705615908635321" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1454705615908635321" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2627804785977970904/posts/default/1454705615908635321" /><link rel="alternate" type="text/html" href="http://corsairdoom.blogspot.com/2007/04/scheme48-vs-plt-scheme.html" title="Scheme48 vs. PLT Scheme 与今天晚上坐在我右边的傻逼" /><author><name>Corsair</name><uri>http://www.blogger.com/profile/15684562313533914313</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="18420882134599330250" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry></feed>
