<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>fun x y -> x ** y</title>
	<atom:link href="http://lovecankill.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://lovecankill.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Mon, 09 Jun 2008 10:16:04 +0000</lastBuildDate>
	<language>zh-tw</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='lovecankill.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>fun x y -> x ** y</title>
		<link>http://lovecankill.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://lovecankill.wordpress.com/osd.xml" title="fun x y -&#62; x ** y" />
	<atom:link rel='hub' href='http://lovecankill.wordpress.com/?pushpress=hub'/>
		<item>
		<title>First step of git</title>
		<link>http://lovecankill.wordpress.com/2008/06/09/first-step-of-git/</link>
		<comments>http://lovecankill.wordpress.com/2008/06/09/first-step-of-git/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 10:16:04 +0000</pubDate>
		<dc:creator>lovecankill</dc:creator>
				<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://lovecankill.wordpress.com/?p=6</guid>
		<description><![CDATA[git config &#8211;global user.name 『your name』 git config &#8211;global user.email 『your@email.address』<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=6&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>git config &#8211;global user.name 『your name』<br />
git config &#8211;global user.email 『your@email.address』</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lovecankill.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lovecankill.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lovecankill.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lovecankill.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lovecankill.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=6&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lovecankill.wordpress.com/2008/06/09/first-step-of-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f0d42272c2b85a0cfd95ad42a8c1ad83?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lovecankill</media:title>
		</media:content>
	</item>
		<item>
		<title>Emacs&#8217; tips: transpose</title>
		<link>http://lovecankill.wordpress.com/2008/05/20/emacs-tips-transpose/</link>
		<comments>http://lovecankill.wordpress.com/2008/05/20/emacs-tips-transpose/#comments</comments>
		<pubDate>Tue, 20 May 2008 04:18:35 +0000</pubDate>
		<dc:creator>lovecankill</dc:creator>
				<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://lovecankill.wordpress.com/?p=5</guid>
		<description><![CDATA[M-t 交換游標前後的兩個字 C-t 交換游標前後的兩個字元 C-x C-t 交換上下兩行<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=5&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>M-t 交換游標前後的兩個字<br />
C-t 交換游標前後的兩個字元<br />
C-x C-t 交換上下兩行</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lovecankill.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lovecankill.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lovecankill.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lovecankill.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lovecankill.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=5&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lovecankill.wordpress.com/2008/05/20/emacs-tips-transpose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f0d42272c2b85a0cfd95ad42a8c1ad83?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lovecankill</media:title>
		</media:content>
	</item>
		<item>
		<title>在 Emacs 中交換 buffer window</title>
		<link>http://lovecankill.wordpress.com/2008/04/17/%e5%9c%a8-emacs-%e4%b8%ad%e4%ba%a4%e6%8f%9b-buffer-window/</link>
		<comments>http://lovecankill.wordpress.com/2008/04/17/%e5%9c%a8-emacs-%e4%b8%ad%e4%ba%a4%e6%8f%9b-buffer-window/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 08:18:34 +0000</pubDate>
		<dc:creator>lovecankill</dc:creator>
				<category><![CDATA[emacs]]></category>

		<guid isPermaLink="false">http://lovecankill.wordpress.com/?p=4</guid>
		<description><![CDATA[Steve Yegge 在他舊的 blog 中有一篇提供了一個 elisp function 可以交換 buffer window，但是他所提供的只能在兩個 buffer window 的狀態下交換，因此我做了一點修改，讓他可以在多個 buffer window 下也能運行。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=4&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Steve Yegge 在他舊的 blog 中有<a title="一篇" href="http://steve.yegge.googlepages.com/my-dot-emacs-file">一篇</a>提供了一個 elisp function 可以交換 buffer window，但是他所提供的只能在兩個 buffer window 的狀態下交換，因此我做了一點修改，讓他可以在多個 buffer window 下也能運行。</p>
<p><pre class="brush: cpp;">

(defun swap-windows ()
  &quot;If you have more than 2 windows, it swaps them.&quot;
  (interactive)
  (cond ((&lt; (count-windows) 2)
         (message &quot;You need more than 2 windows to do this.&quot;))
        (t
         (let* ((wlst-from (window-list))
                (wlst-to (window-list))
                (welm (pop wlst-to)))
           (append wlst-to welm)
           (while (and wlst-from wlst-to)
             (let* ((w1 (pop wlst-from))
                    (w2 (pop wlst-to))
                    (b1 (window-buffer w1))
                    (b2 (window-buffer w2))
                    (s1 (window-start w1))
                    (s2 (window-start w2)))
               (set-window-buffer w1 b2)
               (set-window-buffer w2 b1)
               (set-window-start w1 s2)
               (set-window-start w2 s1)))))))

</pre></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lovecankill.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lovecankill.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lovecankill.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lovecankill.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lovecankill.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=4&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lovecankill.wordpress.com/2008/04/17/%e5%9c%a8-emacs-%e4%b8%ad%e4%ba%a4%e6%8f%9b-buffer-window/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f0d42272c2b85a0cfd95ad42a8c1ad83?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lovecankill</media:title>
		</media:content>
	</item>
		<item>
		<title>我的第一次</title>
		<link>http://lovecankill.wordpress.com/2007/04/20/%e6%88%91%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1/</link>
		<comments>http://lovecankill.wordpress.com/2007/04/20/%e6%88%91%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 08:33:08 +0000</pubDate>
		<dc:creator>lovecankill</dc:creator>
				<category><![CDATA[haskell]]></category>

		<guid isPermaLink="false">http://lovecankill.wordpress.com/2007/04/20/%e6%88%91%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1/</guid>
		<description><![CDATA[我用了 Haskell 小小的實做了 Unix 的 cat 指令 算是第一個有點用處的 Haskell 程式 代碼如下 {- &#160;&#160;Haskell implementation of cat(1) &#160;&#160;Copyright (c) Allen Lin, 2006. -} module Cat (catFile) where import IO import Text.Printf data CatOpts = NeedReverse &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; NeedLine &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; NeedTab &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#124; NeedEOL deriving Eq catFile :: FilePath -&#62; [CatOpts] -&#62; IO () catFile fp [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=3&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>我用了 Haskell 小小的實做了 Unix 的 cat 指令<br />
算是第一個有點用處的 Haskell 程式<br />
代碼如下</p>
<pre>
<code>
{-
&#160;&#160;Haskell implementation of cat(1)
&#160;&#160;Copyright (c) Allen Lin, 2006.
-}

module Cat (catFile) where

import IO
import Text.Printf

data CatOpts = NeedReverse 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | NeedLine 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | NeedTab 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | NeedEOL deriving Eq

catFile :: FilePath -&gt; [CatOpts] -&gt; IO ()
catFile fp opts = do
&#160;&#160;h &lt;- openFile fp ReadMode
&#160;&#160;catContent h opts 1
&#160;&#160;hClose h

catContent :: Handle -&gt; [CatOpts] -&gt; Int -&gt; IO ()
catContent h opts line = do 
&#160;&#160;eof &lt;- hIsEOF h
&#160;&#160;if eof then do 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;putNewLine
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return ()
&#160;&#160; else do
&#160;&#160;&#160;&#160;&#160;&#160; content &lt;- hGetLine h
&#160;&#160;&#160;&#160;&#160;&#160; putLineNumber line (NeedLine `elem` opts)
&#160;&#160;&#160;&#160;&#160;&#160; let content' = content ++ "\n" in mapM_ (\x -&gt; catContent2 x opts) content'
&#160;&#160;&#160;&#160;&#160;&#160; catContent h opts line'
&#160;&#160;&#160;&#160;&#160;&#160; where line' = incDecNum True line

catContent2 :: Char -&gt; [CatOpts] -&gt; IO ()
catContent2 c opts =
&#160;&#160;if is_needeol &amp;&amp; c == '\n' 
&#160;&#160;then do putStrLn "$"
&#160;&#160;else
&#160;&#160;&#160;&#160;&#160;&#160;if is_needtab &amp;&amp; c == '\t' 
&#160;&#160;&#160;&#160;&#160;&#160;then do putStr "^I"
&#160;&#160;&#160;&#160;&#160;&#160;else do putChar c
&#160;&#160;&#160;&#160;&#160;&#160;where is_needtab = NeedTab `elem` opts
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;is_needeol = NeedEOL `elem` opts

putNewLine :: IO ()
putNewLine = putStrLn ""

putLineNumber :: Int -&gt; Bool -&gt; IO ()
putLineNumber n b =
&#160;&#160;case b of
&#160;&#160;&#160;&#160;True&#160;&#160;-&gt; do putStr $ printf "%5d&#160;&#160;&#160;&#160; " n
&#160;&#160;&#160;&#160;_&#160;&#160;&#160;&#160; -&gt; do return ()

incDecNum :: Bool -&gt; Int -&gt; Int
incDecNum b n = 
&#160;&#160;&#160;&#160;case b of 
&#160;&#160;&#160;&#160;&#160;&#160;True&#160;&#160;&#160;&#160;&#160;&#160;-&gt; n + 1
&#160;&#160;&#160;&#160;&#160;&#160;otherwise -&gt; n - 1
</code>
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/lovecankill.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/lovecankill.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/lovecankill.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/lovecankill.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/lovecankill.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=lovecankill.wordpress.com&amp;blog=995752&amp;post=3&amp;subd=lovecankill&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://lovecankill.wordpress.com/2007/04/20/%e6%88%91%e7%9a%84%e7%ac%ac%e4%b8%80%e6%ac%a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f0d42272c2b85a0cfd95ad42a8c1ad83?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lovecankill</media:title>
		</media:content>
	</item>
	</channel>
</rss>
