<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>男单 618 &#187; 软件</title>
	<atom:link href="http://www.ai7.org/wp/html/category/%e8%bd%af%e4%bb%b6/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ai7.org/wp</link>
	<description>生活象筒装的卫生纸，开始的时候怎么扯都不觉得在转，后来转的越来越快。</description>
	<lastBuildDate>Sun, 11 Dec 2011 12:22:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Zim的TeX公式中使用中文</title>
		<link>http://www.ai7.org/wp/html/943.html</link>
		<comments>http://www.ai7.org/wp/html/943.html#comments</comments>
		<pubDate>Sun, 11 Dec 2011 12:19:23 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[LaTeX相关]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[zim]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=943</guid>
		<description><![CDATA[找到_Equation.tex模板文件，改成这样。 123456789101112131415161718\documentclass[12pt]{article} \pagestyle{empty} \usepackage{CJKutf8} \usepackage{amssymb} \usepackage{amsmath} \usepackage[usenames]{color} \begin{document} \begin{CJK}{UTF8}{gbsn} % No empty lines allowed in math block ! \begin{align*} [% equation -%] \end{align*} \end{CJK} \end{document} 插入时，用 123\end{align*} 这里是中文 \begin{align*} 来跳过align*环境。或者直接把模板文件中的align*环境去掉，但是这样在多数情况下不方便。 另外，如果要插入表格，也可以使用上面的方法跳过align*环境。<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">相关文章：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F759.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">Batch Commander–自动设置TeX文件的样式</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F595.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">TEX THE WORLD</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F443.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">tex4ht与bm包冲突</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F61.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">关于TeX商业化的讨论—在CTeX论坛上的回帖</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></description>
			<content:encoded><![CDATA[<p>找到_Equation.tex模板文件，改成这样。</p>
<div class="codecolorer-container latex vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="latex codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cdocumentclass"><span style="color: #800000;">documentclass</span></a><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">12pt</span><span style="color: #E02020; ">]{</span><span style="color: #2020C0; font-weight: normal;">article<span style="color: #E02020; ">}</span><br />
<span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cpagestyle"><span style="color: #800000;">pagestyle</span></a><span style="color: #E02020; ">{</span>empty<span style="color: #E02020; ">}</span><br />
<span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cusepackage"><span style="color: #800000;">usepackage</span></a><span style="color: #E02020; ">{</span>CJKutf8<span style="color: #E02020; ">}</span><br />
<br />
<span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cusepackage"><span style="color: #800000;">usepackage</span></a><span style="color: #E02020; ">{</span>amssymb<span style="color: #E02020; ">}</span><br />
<span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cusepackage"><span style="color: #800000;">usepackage</span></a><span style="color: #E02020; ">{</span>amsmath<span style="color: #E02020; ">}</span><br />
<span style="color: #E02020; ">\</span><a href="http://www.golatex.de/wiki/index.php?title=%5Cusepackage"><span style="color: #800000;">usepackage</span></a><span style="color: #E02020; ">[</span><span style="color: #C08020; font-weight: normal;">usenames</span><span style="color: #E02020; ">]{</span>color<span style="color: #E02020; ">}</span><br />
<br />
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">document</span><span style="color: #E02020; ">}</span><br />
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">CJK</span>}{UTF8}{gbsn</span><span style="color: #E02020; ">}</span><br />
<br />
<span style="color: #2C922C; font-style: italic;">% No empty lines allowed in math block !</span><br />
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">align*</span></span><span style="color: #E02020; ">}</span><br />
<span style="color: #E02020; ">[</span><span style="color: #2C922C; font-style: italic;">% equation -%]</span><br />
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">align*</span><span style="color: #E02020; ">}</span><br />
<br />
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">CJK</span><span style="color: #E02020; ">}</span><br />
<span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">document</span></span><span style="color: #E02020; ">}</span></div></td></tr></tbody></table></div>
<p>插入时，用</p>
<div class="codecolorer-container latex vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="latex codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #C00000; font-weight: normal;">\end</span><span style="color: #E02020; ">{</span><span style="color: #2020C0; font-weight: normal;"><span style="color: #0000D0; font-weight: normal;">align*</span><span style="color: #E02020; ">}</span><br />
这里是中文<br />
<span style="color: #C00000; font-weight: normal;">\begin</span><span style="color: #E02020; ">{</span><span style="color: #0000D0; font-weight: normal;">align*</span></span><span style="color: #E02020; ">}</span></div></td></tr></tbody></table></div>
<p>来跳过align*环境。或者直接把模板文件中的align*环境去掉，但是这样在多数情况下不方便。</p>
<p>另外，如果要插入表格，也可以使用上面的方法跳过align*环境。</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="2" border="0" width="100%" style="clear: both;">
    
    <tr>
        <td ><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">相关文章：</font></b></td>
    </tr>
    
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F759.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">Batch Commander–自动设置TeX文件的样式</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F595.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">TEX THE WORLD</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F443.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">tex4ht与bm包冲突</font>
                    </a>
                </td>
            </tr>
            <tr>
                <td style="margin: 0 !important; padding: 0 !important; line-height: 20px !important;">
                    <img border="0" src="http://static.wumii.com/images/widget/widget_solidPoint.gif">
                    <a target="_blank" style="text-decoration: none !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F61.html&from=http%3A%2F%2Fwww.ai7.org%2Fwp%2Fhtml%2F943.html">
                        <font size="-1" color="#333333" style="line-height: 1.65em; font-size: 12px !important;">关于TeX商业化的讨论—在CTeX论坛上的回帖</font>
                    </a>
                </td>
            </tr>
    
    <tr>
        <td  align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/943.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KDE回收站没有空间的解决方法</title>
		<link>http://www.ai7.org/wp/html/932.html</link>
		<comments>http://www.ai7.org/wp/html/932.html#comments</comments>
		<pubDate>Thu, 03 Nov 2011 02:24:33 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/932.html</guid>
		<description><![CDATA[症状：无法删除文件，删除文件时提示“回收站已到达其最大容量！ 请手动清理回收站。”用Dolphin打开回收站，没有任何文件，并且回收站所在的分区有足够空间。 一种可能的原因是：~/.local/share/Trash/metadata文件中Size选项所对应的数值太大。 解决方法：将~/.local/share/Trash/metadata文件备份后删除。]]></description>
			<content:encoded><![CDATA[<p>症状：无法删除文件，删除文件时提示“回收站已到达其最大容量！ 请手动清理回收站。”用Dolphin打开回收站，没有任何文件，并且回收站所在的分区有足够空间。</p>
<p>一种可能的原因是：~/.local/share/Trash/metadata文件中Size选项所对应的数值太大。</p>
<p>解决方法：将~/.local/share/Trash/metadata文件备份后删除。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/932.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python处理pdf文件的包</title>
		<link>http://www.ai7.org/wp/html/916.html</link>
		<comments>http://www.ai7.org/wp/html/916.html#comments</comments>
		<pubDate>Thu, 12 May 2011 10:56:08 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[pdf文件读写]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/916.html</guid>
		<description><![CDATA[pyPdf 纯Python的PDF处理工具。 主页：http://pybrary.net/pyPdf/。 主要功能： 读取文档信息（标题，作者，……） 逐页分割文件 逐页合并文件 裁剪页面 合并多个页面为一个页面 加密、解密PDF文件 ReportLab 强大的生成PDF文件的库。 主页：http://www.reportlab.com/software/opensource/rl-toolkit/。 主要功能： 创建专业的PDF文件 Real document layout engine (Platypus) （这个不知道怎么翻译，大概是很NB的页面布局引擎） 浮动对象，如段落，标题行，表格，图像，图形等 支持嵌入Type-1字体或TTF字体 支持亚洲，希伯来和阿拉伯字符 支持任何流行格式的位图图像 支持矢量图形 包括一个可重用的基本图形库 可扩展的widget库 Layed architecture, written in Python 包含简单示例和更复杂的工具 允许使用任何数据源 源代码完全公开 强大的社区支持 跨平台 PDFMiner 主要用于分析PDF文本内容的工具。 主页：http://www.unixuser.org/~euske/python/pdfminer/index.html 主要功能： 纯Python（2.4以上版本） 解析，分析和转换PDF文档 支持PDF-1.7标准（几乎完美支持） 支持CJK语言和竖向书写 支持多种字体格式（Type1，TrueType，Type3和CID） 基本的加密支持（RC4） PDF转HTML（一个简单的Web转换器） 摘要（TOC）抽取 标记抽取内容 重构原始布局 简单讲，如果只折腾现成的PDF文件，用pyPdf，如果要生成新内容的PDF文件用ReportLab，如果要分析现有PDF文件的内容，用PDFMiner。 不过，生成PDF方面，我更愿意使用LaTeX系列的工具，这样质量有保证，乱码之类的问题比较少。]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://pybrary.net/pyPdf/">pyPdf</a><br />
  纯Python的PDF处理工具。<br />
  主页：<a href="http://pybrary.net/pyPdf/">http://pybrary.net/pyPdf/</a>。<br />
  主要功能：
<ul>
<li>读取文档信息（标题，作者，……）</li>
<li>逐页分割文件</li>
<li>逐页合并文件</li>
<li>裁剪页面</li>
<li>合并多个页面为一个页面</li>
<li>加密、解密PDF文件</li>
</ul>
</li>
<li>
<p><a href="http://www.reportlab.com/software/opensource/rl-toolkit/">ReportLab</a><br />
  强大的生成PDF文件的库。<br />
  主页：<a href="http://www.reportlab.com/software/opensource/rl-toolkit/">http://www.reportlab.com/software/opensource/rl-toolkit/</a>。<br />
  主要功能：</p>
<ul>
<li>创建专业的PDF文件</li>
<li>Real document layout engine (Platypus) （这个不知道怎么翻译，大概是很NB的页面布局引擎）</li>
<li>浮动对象，如段落，标题行，表格，图像，图形等</li>
<li>支持嵌入Type-1字体或TTF字体</li>
<li>支持亚洲，希伯来和阿拉伯字符</li>
<li>支持任何流行格式的位图图像</li>
<li>支持矢量图形</li>
<li>包括一个可重用的基本图形库</li>
<li>可扩展的widget库</li>
<li>Layed architecture, written in Python</li>
<li>包含简单示例和更复杂的工具</li>
<li>允许使用任何数据源</li>
<li>源代码完全公开</li>
<li>强大的社区支持</li>
<li>跨平台</li>
</ul>
</li>
<li>
<p><a href="http://www.unixuser.org/~euske/python/pdfminer/index.html">PDFMiner</a><br />
  主要用于分析PDF文本内容的工具。<br />
  主页：<a href="http://www.unixuser.org/~euske/python/pdfminer/index.html">http://www.unixuser.org/~euske/python/pdfminer/index.html</a><br />
  主要功能：</p>
<ul>
<li>纯Python（2.4以上版本）</li>
<li>解析，分析和转换PDF文档</li>
<li>支持PDF-1.7标准（几乎完美支持）</li>
<li>支持CJK语言和竖向书写</li>
<li>支持多种字体格式（Type1，TrueType，Type3和CID）</li>
<li>基本的加密支持（RC4）</li>
<li>PDF转HTML（一个简单的Web转换器）</li>
<li>摘要（TOC）抽取</li>
<li>标记抽取内容</li>
<li>重构原始布局</li>
</ul>
</li>
</ul>
<p>简单讲，如果只折腾现成的PDF文件，用pyPdf，如果要生成新内容的PDF文件用ReportLab，如果要分析现有PDF文件的内容，用PDFMiner。</p>
<p>不过，生成PDF方面，我更愿意使用LaTeX系列的工具，这样质量有保证，乱码之类的问题比较少。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/916.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Email自动应答查询器</title>
		<link>http://www.ai7.org/wp/html/895.html</link>
		<comments>http://www.ai7.org/wp/html/895.html#comments</comments>
		<pubDate>Sat, 05 Mar 2011 15:38:27 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/895.html</guid>
		<description><![CDATA[标题不是特别准确，我想要的是这么个东西，比如考试完了，学生以学号1234为主题，发Email到abc这个邮箱，系统收到邮件后，在数据库中查询到成绩后，回复学生。 有没有这样的软件？ 或者有没有这样的Wordpress插件，可以查询指定数据表中的指定字段，匹配成功则返回对应的另一字段的值？]]></description>
			<content:encoded><![CDATA[<p>标题不是特别准确，我想要的是这么个东西，比如考试完了，学生以学号1234为主题，发Email到abc这个邮箱，系统收到邮件后，在数据库中查询到成绩后，回复学生。</p>
<p>有没有这样的软件？</p>
<p>或者有没有这样的Wordpress插件，可以查询指定数据表中的指定字段，匹配成功则返回对应的另一字段的值？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/895.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[转]R programming books (updated)</title>
		<link>http://www.ai7.org/wp/html/851.html</link>
		<comments>http://www.ai7.org/wp/html/851.html#comments</comments>
		<pubDate>Sat, 29 Jan 2011 04:31:45 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[转载]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=851</guid>
		<description><![CDATA[原文地址：R programming books (updated) &#124; (R news &#38; tutorials) R programming books (updated) via R-bloggers by csgillespie on 1/28/11 In a recent post, I asked for suggestions for introductory R computing books. In particular, I was looking for books that: Assume no prior knowledge of programming. Assume very little knowledge of statistics. For example, no <a href="http://www.ai7.org/wp/html/851.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>原文地址：<a href="http://www.r-bloggers.com/r-programming-books-updated/">R programming books (updated) | (R news &amp; tutorials)</a></p>
<div style="font-family: sans-serif; overflow: auto; width: 100%; margin: 0px 10px;">
<h2 style="margin: 0.25em 0 0 0;">
<div></div>
<div><a href="http://www.r-bloggers.com/r-programming-books-updated/">R programming books (updated)</a></div>
</h2>
<div style="margin-bottom: 0.5em;">via <a class="f" href="http://www.r-bloggers.com">R-bloggers</a> by csgillespie on 1/28/11</div>
<p><br style="display: none;" /></p>
<p>In a <a title="R programming books" href="http://csgillespie.wordpress.com/2010/12/21/introductory-r-programming-books/">recent post</a>, I asked for suggestions for introductory R computing books. In particular, I was looking for books that:</p>
<ul>
<li> Assume no prior knowledge of programming.</li>
<li>Assume very little knowledge of statistics. For example, no regression.</li>
<li>Are cheap, since they are for undergraduate students.</li>
</ul>
<p>Some of my <strong>cons</strong> aren’t really downsides as such. Rather, they just indicate that the books aren’t suitable for this particular audience. A prime example is “R in a Nutshell”.</p>
<p>I ended up recommending five books to the first year introductory R class.</p>
<h2>Recommended Books</h2>
<ul>
<li><a href="http://amzn.to/hbgSFY">A first course in statistical programming with R</a> (Braun &amp; Murdoch)
<ul>
<li><strong>Pros:</strong> I quite like this book (hence the reason I  put it on my list). It has a nice collection of exercises, it “looks  nice” and doesn’t assume knowledge of programming. It also doesn’t  assume (or try to teach) any statistics.</li>
<li><strong>Cons:</strong> When describing <strong>for</strong> loops and <strong>functions</strong> the examples aren’t very statistical. For example, it uses <a href="http://en.wikipedia.org/wiki/Fibonacci">Fibonacci </a>sequences in the <strong>while</strong> loop section and the <a href="http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes">sieve of Eratosthenes</a> for <strong>if</strong> statements.</li>
</ul>
</li>
<li><a href="http://amzn.to/euGZbq">An introduction to R</a> (Venables &amp; Smith)
<ul>
<li><strong>Pros:</strong> Simple, short and to the point. Free copies available. Money from the book goes to the R project.</li>
<li><strong>Cons</strong>: More a R reference guide than a textbook.</li>
</ul>
</li>
<li><a href="http://amzn.to/hycDUF">A Beginner´s Guide to R</a> by Zuur.
<ul>
<li><strong>Pros:</strong> Assumes not prior knowledge. Proceeds through           concepts slowly and carefully. <strong> </strong></li>
<li><strong>Cons:</strong> Proceeds through concepts <strong>very</strong> slowly           and carefully.</li>
</ul>
</li>
<li><a href="http://amzn.to/gr4yLt">R in a Nutshell</a> by Adler.
<ul>
<li>I completely agree with a <a href="http://blog.rtwilson.com/review-r-in-a-nutshell-by-joseph-adler/">recent review</a> by Robin Wilson: “Very comprehensive and very useful, but not good for a  beginner. Great book though – definitely has a place on my bookshelf.”</li>
</ul>
<ul>
<li><strong>Pros:</strong> An excellent reference.</li>
<li><strong>Cons:</strong> Only suitable for students with a previous computer background.</li>
</ul>
</li>
<li><a href="http://amzn.to/ee65zx">Introduction to Scientific Programming and Simulation Using R</a> by Jones, Maillardet and Robinson.<strong> </strong>
<ul>
<li><strong>Pros:</strong> A nice book that teaches R programming. Similar to the Braun &amp; Murdoch book.</li>
<li><strong>Cons:</strong> A bit pricey in comparison to the other books</li>
</ul>
</li>
</ul>
<h2>Books not being recommended</h2>
<p>These books were mentioned in the comments of the previous post.</p>
<ul>
<li><a href="http://amzn.to/gkJpFy">The Basics of S-PLUS</a> by Krause &amp; Olson.
<ul>
<li>Most students struggle with R. Introducing a similar, but slightly different language is too sadistic.</li>
</ul>
</li>
<li><a href="http://amzn.to/gVLlf7">Software for Data Analysis: Programming with R</a> by Chambers.
<ul>
<li>Assumed some previous statistical knowledge.</li>
</ul>
</li>
<li><a href="http://amzn.to/dW2RL3">Bayesian Computation with R</a> by Albert.
<ul>
<li>Not suitable for first year students who haven’t taken any previous statistics courses.</li>
</ul>
</li>
<li><a href="http://amzn.to/fwOfS9">R Graphics</a> by Paul Murrell
<ul>
<li>I know graphics are important, but a whole book for an undergraduate student might be too much. I did toy with the idea of recommending this book, but I thought that five recommendations were more than sufficient.</li>
</ul>
</li>
<li><a href="http://amzn.to/gK7035">ggplot2</a> by Hadley Wickham.
<ul>
<li>Great book, but our students don’t encounter ggplot2 in their undergraduate course.</li>
</ul>
</li>
</ul>
<h2>Online Resources</h2>
<ul>
<li><a href="http://ipsur.r-forge.r-project.org/book/">Introduction to Probability and Statistics</a> by Kerns
<ul>
<li>Suitable for a combined R and statistics course. But I don’t really do much stats in this module.</li>
</ul>
</li>
<li>The <a href="http://en.wikibooks.org/wiki/R_Programming">R Programming wikibook</a> (a work in progress).
<ul>
<li>Will give the students this link.</li>
</ul>
</li>
<li><a href="http://dyerlab.bio.vcu.edu/downloads/Dyer_Data_Analysis_Using_R.pdf">Biological Data Analysis Using R</a> by Rodney J. Dyer. Available under the CC license.
<ul>
<li>Nice resource. Possibly a little big for this course (I know that this is very picky, but I had to draw the line somewhere). Will probably use it for future courses.</li>
</ul>
</li>
<li>Hadley Wickham’s <a href="https://github.com/hadley/devtools/wiki/">devtools wiki</a> (a work in progress).
<ul>
<li>Assumes a good working knowledge of R</li>
</ul>
</li>
<li><a href="http://lib.stat.cmu.edu/S/Spoetry/Tutor/R_inferno.pdf">The R Inferno</a> by Patrick Burns
<ul>
<li>Good book, but too advanced for students who have never programmed before.</li>
</ul>
</li>
<li><a href="http://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_S.pdf">Introduction to S programming</a>
<ul>
<li>It’s in french – this may or may not be a good thing depending on your point of view <img src="http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif" alt=";)" /></li>
</ul>
</li>
</ul>
<table border="1">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/851.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vim高手？请看vimgolf.com</title>
		<link>http://www.ai7.org/wp/html/827.html</link>
		<comments>http://www.ai7.org/wp/html/827.html#comments</comments>
		<pubDate>Thu, 30 Dec 2010 01:41:02 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[vimgolf]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=827</guid>
		<description><![CDATA[vimgolf是一个在线比试vim技巧的网站。来看看题目有多变态，比如这一题，原文是 1234567891011this line doesn’t have indentation this line is indented with two spaces this one has four this other one has two this one is indented with two spaces this line has a four spaces indentation this line needs six spaces this line needs six spaces too this line is back to four spaces this <a href="http://www.ai7.org/wp/html/827.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://vimgolf.com">vimgolf</a>是一个在线比试vim技巧的网站。来看看题目有多变态，比如这一题，原文是</p>
<div class="codecolorer-container python vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">this line doesn’t have indentation<br />
this line <span style="color: #ff7700;font-weight:bold;">is</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
this one has four<br />
this other one has two<br />
this one <span style="color: #ff7700;font-weight:bold;">is</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
this line has a four spaces indentation<br />
this line needs six spaces<br />
this line needs six spaces too<br />
this line <span style="color: #ff7700;font-weight:bold;">is</span> back to four spaces<br />
this line <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">finally</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
this final line <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> indented</div></td></tr></tbody></table></div>
<p>要求按每一行中的指定的空格数缩进，也就是格式化成这样：</p>
<div class="codecolorer-container python vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br /></div></td><td><div class="python codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">this line doesn’t have indentation<br />
&nbsp; this line <span style="color: #ff7700;font-weight:bold;">is</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
&nbsp; &nbsp; this one has four<br />
&nbsp; this other one has two<br />
&nbsp; this one <span style="color: #ff7700;font-weight:bold;">is</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
&nbsp; &nbsp; this line has a four spaces indentation<br />
&nbsp; &nbsp; &nbsp; this line needs six spaces<br />
&nbsp; &nbsp; &nbsp; this line needs six spaces too<br />
&nbsp; &nbsp; this line <span style="color: #ff7700;font-weight:bold;">is</span> back to four spaces<br />
&nbsp; this line <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">finally</span> indented <span style="color: #ff7700;font-weight:bold;">with</span> two spaces<br />
this final line <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #ff7700;font-weight:bold;">not</span> indented</div></td></tr></tbody></table></div>
<p>目前已经有三位朋友提交了解答，按键最少的一位只用了25次按键就搞定了。<br />
如果你觉得你是vim高手，去挑战一下吧。</p>
<p>注：要提交结果，好象先要用twitter登录，得到一个数字ID，再用ruby装一个软件。我一直没装上，不知道是什么原因。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/827.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIM中的批量编辑（转载）</title>
		<link>http://www.ai7.org/wp/html/821.html</link>
		<comments>http://www.ai7.org/wp/html/821.html#comments</comments>
		<pubDate>Mon, 13 Dec 2010 09:34:13 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=821</guid>
		<description><![CDATA[原文地址：VIM中的批量编辑 VIM 中实现对文件的批量是通过同时打开多个文件实现的，即对 args 的操作。 在命令行下，通过： gvim a.txt b.txt c.txt 就可以打开多个文件，或者在 GVIM 中： :args *.txt 也可以打开多个文件。 之后，可以通过 :ls 或 :args 或 :buffers 来查看当前的 buffers 列表。 现在，要同时处理这些 buffers 中的各个文件，使用 argdo 就可以了。 :argdo %s/teh/the/ge &#124; update argdo 后面跟命令就可以了，它的作用就是把后面的命令应用到 arg list 中的各个文件上。 e 这个 flag 是表示忽略错误，你不希望因为一个意外而让整个处理过程停下来吧。 update 这个命令是当文件发化变化时保存文件，就和 write 一样。这里不用它，难道你想之后手动挨个保存这些文件？]]></description>
			<content:encoded><![CDATA[<p>原文地址：<a href="http://zys-free.com/wordpress/?p=221">VIM中的批量编辑</a></p>
<p>VIM 中实现对文件的批量是通过同时打开多个文件实现的，即对 args 的操作。</p>
<p>在命令行下，通过：</p>
<pre> gvim a.txt b.txt c.txt</pre>
<p>就可以打开多个文件，或者在 GVIM 中：</p>
<pre> <span>:</span>args *.txt</pre>
<p>也可以打开多个文件。</p>
<p>之后，可以通过 <tt>:ls</tt> 或 <tt>:args</tt> 或 <tt>:buffers</tt> 来查看当前的 <tt>buffers</tt> 列表。</p>
<p>现在，要同时处理这些 <tt>buffers</tt> 中的各个文件，使用 <tt>argdo</tt> 就可以了。</p>
<pre> <span>:</span><span>argdo</span> %s<span>/teh/</span><span>the</span>/ge <span>|</span> <span>update</span></pre>
<p><tt>argdo</tt> 后面跟命令就可以了，它的作用就是把后面的命令应用到 <tt>arg list</tt> 中的各个文件上。</p>
<p><tt>e</tt> 这个 <tt>flag</tt> 是表示忽略错误，你不希望因为一个意外而让整个处理过程停下来吧。</p>
<p><tt>update</tt> 这个命令是当文件发化变化时保存文件，就和 <tt>write</tt> 一样。这里不用它，难道你想之后手动挨个保存这些文件？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/821.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fcitx 4.0 郑码码表</title>
		<link>http://www.ai7.org/wp/html/799.html</link>
		<comments>http://www.ai7.org/wp/html/799.html#comments</comments>
		<pubDate>Fri, 19 Nov 2010 17:02:07 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[fcitx]]></category>
		<category><![CDATA[郑码]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=799</guid>
		<description><![CDATA[下载： 官方网站上那个zm.mb中，词序比较乱，很多词的编码是错的，比如“浏览”的编码应该是vskm，而不是vskd，组词规则也是错的。 我修改这个是以winzm为基础，并添加了fcitx 4.0中自带的wbx中的词组。 btw: 2005年前后，用pascal写过一个win码表转到scim码表的mb2scim，花了不少时间，这次用的是python，轻松+愉快。上次差不多400多行代码，这次不到60行，当然完成的功能略有不同。 另外，如果3.6用着没啥毛病的朋友，就不要折腾了，4.0似乎还不是特别稳定。]]></description>
			<content:encoded><![CDATA[<p>下载：<a href="http://www.ai7.org/wp/wp-content/plugins/download-monitor/download.php?id=1" title="Downloaded 227 times">Fcitx 4.0 郑码码表</a></p>
<p>官方网站上那个zm.mb中，词序比较乱，很多词的编码是错的，比如“浏览”的编码应该是vskm，而不是vskd，组词规则也是错的。</p>
<p>我修改这个是以winzm为基础，并添加了fcitx 4.0中自带的wbx中的词组。</p>
<p>btw: 2005年前后，用pascal写过一个win码表转到scim码表的mb2scim，花了不少时间，这次用的是python，轻松+愉快。上次差不多400多行代码，这次不到60行，当然完成的功能略有不同。<br />
另外，如果3.6用着没啥毛病的朋友，就不要折腾了，4.0似乎还不是特别稳定。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/799.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pdftk抽取PDF页面</title>
		<link>http://www.ai7.org/wp/html/797.html</link>
		<comments>http://www.ai7.org/wp/html/797.html#comments</comments>
		<pubDate>Sat, 06 Nov 2010 03:39:00 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[pdftk]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=797</guid>
		<description><![CDATA[pdftk input.pdf cat 15-28 output outfile.pdf]]></description>
			<content:encoded><![CDATA[<p>pdftk input.pdf cat 15-28 output outfile.pdf</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/797.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用pdftk修改PDF文件的文档信息</title>
		<link>http://www.ai7.org/wp/html/793.html</link>
		<comments>http://www.ai7.org/wp/html/793.html#comments</comments>
		<pubDate>Sat, 06 Nov 2010 03:30:12 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[pdftk]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=793</guid>
		<description><![CDATA[在Acrobat Reader中使用Ctrl+D，在Evince中使用Alt+Enter，都可以查看PDF文件的文档信息，包括作者，关键词，创建PDF所用的软件等信息。要删除或修改这一信息，可以使用pdftk的如下命令： pdftk in.pdf update_info in.info output out.pdf 其中in.info文件包含了你想要的文档信息，这个文件有特殊的语法规则，与下面命令输出的report.txt的语法规则是相同的。 pdftk in.pdf dump_data output report.txt 实际使用时，可以先用第二个命令把in.pdf文件中的文档信息提取到report.txt文件中。再把report.txt中对应的键值修改成你所需要的内容，然后使用第一个命令修改回去。 注意，dump_data出来的信息中汉字会变成unicode编码形式，但是导入时，信息文件in.info中可以使用汉字。]]></description>
			<content:encoded><![CDATA[<p>在Acrobat Reader中使用Ctrl+D，在Evince中使用Alt+Enter，都可以查看PDF文件的文档信息，包括作者，关键词，创建PDF所用的软件等信息。要删除或修改这一信息，可以使用pdftk的如下命令：</p>
<blockquote><p>pdftk in.pdf update_info in.info output out.pdf</p></blockquote>
<p>其中in.info文件包含了你想要的文档信息，这个文件有特殊的语法规则，与下面命令输出的report.txt的语法规则是相同的。</p>
<blockquote><p>pdftk in.pdf dump_data output report.txt</p></blockquote>
<p>实际使用时，可以先用第二个命令把in.pdf文件中的文档信息提取到report.txt文件中。再把report.txt中对应的键值修改成你所需要的内容，然后使用第一个命令修改回去。</p>
<p>注意，dump_data出来的信息中汉字会变成unicode编码形式，但是导入时，信息文件in.info中可以使用汉字。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/793.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一句话实现PDF文件减肥</title>
		<link>http://www.ai7.org/wp/html/785.html</link>
		<comments>http://www.ai7.org/wp/html/785.html#comments</comments>
		<pubDate>Tue, 19 Oct 2010 15:42:22 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[ghostscript]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=785</guid>
		<description><![CDATA[gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=&#8221;outfile.pdf&#8221; &#8220;infile.pdf&#8221; 其中infile.pdf和outfile.pdf分别是输入、输出文件名。 还可以将其写成一个脚本，比如叫compresspdf gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=&#8221;$2&#8243; &#8220;$1&#8243; 添加可执行权限，放入执行文件目录 compress infile.pdf outfile.pdf 注：参考了nautilus的PDF压缩脚本，参见http://www.ubuntuhome.com/compress-pdf.html]]></description>
			<content:encoded><![CDATA[<p>gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=&#8221;outfile.pdf&#8221; &#8220;infile.pdf&#8221;</p>
<p>其中infile.pdf和outfile.pdf分别是输入、输出文件名。</p>
<p>还可以将其写成一个脚本，比如叫compresspdf<br />
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=&#8221;$2&#8243; &#8220;$1&#8243;<br />
添加可执行权限，放入执行文件目录<br />
compress infile.pdf outfile.pdf</p>
<p>注：参考了nautilus的PDF压缩脚本，参见<a href="http://www.ubuntuhome.com/compress-pdf.html">http://www.ubuntuhome.com/compress-pdf.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/785.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>调用u.nu的api缩短网址</title>
		<link>http://www.ai7.org/wp/html/778.html</link>
		<comments>http://www.ai7.org/wp/html/778.html#comments</comments>
		<pubDate>Sun, 04 Jul 2010 12:13:20 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[u.nu]]></category>
		<category><![CDATA[缩短网址]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=778</guid>
		<description><![CDATA[Python语言: 调用u.nu的api缩短网址 #!/usr/bin/python #coding: utf-8 import sys import urllib2 api_address = &#39;http://u.nu/unu-api-simple?url=&#39; for org_url in sys.argv[1:]: &#160;&#160;&#160; request = urllib2.urlopen(api_address + urllib2.quote(org_url)) &#160;&#160;&#160; short_url = request.read() &#160;&#160;&#160; if short_url.startswith(&#39;http&#39;): &#160;&#160;&#160;&#160;&#160;&#160;&#160; print org_url, &#39;&#8211;&#62; &#39;, short_url &#160;&#160;&#160; else: &#160;&#160;&#160;&#160;&#160;&#160;&#160; print &#39;Error&#39;]]></description>
			<content:encoded><![CDATA[<div style="background:#fdfdfd;color:black;"><u>Python语言</u>: <a href="http://fayaa.com/code/view/11910/">调用u.nu的api缩短网址</a></div>
<div class="source" style="font-family: None; color: rgb(0, 0, 0); background-color: rgb(249, 247, 237); "> <span style="color: rgb(170, 170, 170); font-style: italic; ">#!/usr/bin/python</span><br /> <span style="color: rgb(170, 170, 170); font-style: italic; ">#coding: utf-8</span></p>
<p> <span style="color: rgb(0, 0, 0); ">import</span> <span style="color: rgb(0, 170, 170); text-decoration: underline; ">sys</span><br /> <span style="color: rgb(0, 0, 0); ">import</span> <span style="color: rgb(0, 170, 170); text-decoration: underline; ">urllib2</span></p>
<p> <span style="color: rgb(0, 0, 0); ">api_address</span> <span style="color: rgb(0, 0, 0); ">=</span> <span style="color: rgb(170, 85, 0); ">&#39;http://u.nu/unu-api-simple?url=&#39;</span></p>
<p> <span style="color: rgb(0, 0, 170); ">for</span> <span style="color: rgb(0, 0, 0); ">org_url</span> <span style="color: rgb(0, 0, 170); ">in</span> <span style="color: rgb(0, 0, 0); ">sys</span><span style="color: rgb(0, 0, 0); ">.</span><span style="color: rgb(0, 0, 0); ">argv</span><span style="color: rgb(0, 0, 0); ">[</span><span style="color: rgb(0, 153, 153); ">1</span><span style="color: rgb(0, 0, 0); ">:]:</span><br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 0); ">request</span> <span style="color: rgb(0, 0, 0); ">=</span> <span style="color: rgb(0, 0, 0); ">urllib2</span><span style="color: rgb(0, 0, 0); ">.</span><span style="color: rgb(0, 0, 0); ">urlopen</span>(<span style="color: rgb(0, 0, 0); ">api_address</span> <span style="color: rgb(0, 0, 0); ">+</span> <span style="color: rgb(0, 0, 0); ">urllib2</span><span style="color: rgb(0, 0, 0); ">.</span><span style="color: rgb(0, 0, 0); ">quote</span>(<span style="color: rgb(0, 0, 0); ">org_url</span>))<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 0); ">short_url</span> <span style="color: rgb(0, 0, 0); ">=</span> <span style="color: rgb(0, 0, 0); ">request</span><span style="color: rgb(0, 0, 0); ">.</span><span style="color: rgb(0, 0, 0); ">read</span>()<br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 170); ">if</span> <span style="color: rgb(0, 0, 0); ">short_url</span><span style="color: rgb(0, 0, 0); ">.</span><span style="color: rgb(0, 0, 0); ">startswith</span>(<span style="color: rgb(170, 85, 0); ">&#39;http&#39;</span><span style="color: rgb(0, 0, 0); ">):</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 170); ">print</span> <span style="color: rgb(0, 0, 0); ">org_url</span><span style="color: rgb(0, 0, 0); ">,</span> <span style="color: rgb(170, 85, 0); ">&#39;&#8211;&gt; &#39;</span><span style="color: rgb(0, 0, 0); ">,</span> <span style="color: rgb(0, 0, 0); ">short_url</span><br /> &nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 170); ">else</span><span style="color: rgb(0, 0, 0); ">:</span><br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0, 0, 170); ">print</span> <span style="color: rgb(170, 85, 0); ">&#39;Error&#39;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/778.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用lxml解析html文件</title>
		<link>http://www.ai7.org/wp/html/773.html</link>
		<comments>http://www.ai7.org/wp/html/773.html#comments</comments>
		<pubDate>Sat, 26 Jun 2010 16:00:15 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/773.html</guid>
		<description><![CDATA[之前一直搞错了，实际上只需要使用lxml.html模块，读入html文件后，直接调用xpath定位所需要的内容就行了，不再需要etree什么的了。具体看下面的例子： Python语言: 使用lxml解析html文件 01 #coding: utf-802 03 from lxml import *04 import lxml.html as H05 import urllib206 07 def getart(url):08 &#160;&#160;&#160; f = urllib2.urlopen(url)09 &#160;&#160;&#160; content = f.read()10 &#160;&#160;&#160; 11 &#160;&#160;&#160; art = []12 &#160;&#160;&#160; doc = H.document_fromstring(content)13 &#160;&#160;&#160; p = doc.xpath(&#8216;/html/body/div[2]/div[2]/div/div/ul/li/div[2]/p&#8217;)14 &#160;&#160;&#160; for i in p:15 &#160;&#160;&#160;&#160;&#160;&#160;&#160; tmp = i.text_content()16 &#160;&#160;&#160;&#160;&#160;&#160;&#160; tmp = tmp.encode(&#8216;utf-8&#8242;)17 <a href="http://www.ai7.org/wp/html/773.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>之前一直搞错了，实际上只需要使用lxml.html模块，读入html文件后，直接调用xpath定位所需要的内容就行了，不再需要etree什么的了。具体看下面的例子：<br /> 
<div style="background: none repeat scroll 0% 0% rgb(253, 253, 253); color: black;"><u>Python语言</u>: <a href="http://fayaa.com/code/view/11796/">使用lxml解析html文件</a></div>
<p> 
<div style="font-family: &quot;None&quot;,&quot;Courier New&quot;,&quot;monospace&quot;,&quot;Verdana&quot;;" class="source"><span class="lineno">01</span> <span class="_c">#coding: utf-8</span><span class="_"></span><br /><span class="lineno">02</span> <br /><span class="lineno">03</span> <span class="_kn">from</span><span class="_"> </span><span class="_nn">lxml</span><span class="_"> </span><span class="_kn">import</span><span class="_"> </span><span class="_o">*</span><span class="_"></span><br /><span class="lineno">04</span> <span class="_kn">import</span><span class="_"> </span><span class="_nn">lxml.html</span><span class="_"> </span><span class="_kn">as</span><span class="_"> </span><span class="_nn">H</span><span class="_"></span><br /><span class="lineno special">05</span> <span class="_kn">import</span><span class="_"> </span><span class="_nn">urllib2</span><span class="_"></span><br /><span class="lineno">06</span> <br /><span class="lineno">07</span> <span class="_k">def</span><span class="_"> </span><span class="_nf">getart</span><span class="_p">(</span><span class="_n">url</span><span class="_p">):</span><span class="_"></span><br /><span class="lineno">08</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">f</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">urllib2</span><span class="_o">.</span><span class="_n">urlopen</span><span class="_p">(</span><span class="_n">url</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">09</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">content</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">f</span><span class="_o">.</span><span class="_n">read</span><span class="_p">()</span><span class="_"></span><br /><span class="lineno special">10</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><br /><span class="lineno">11</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">art</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_p">[]</span><span class="_"></span><br /><span class="lineno">12</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">doc</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">H</span><span class="_o">.</span><span class="_n">document_fromstring</span><span class="_p">(</span><span class="_n">content</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">13</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">p</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">doc</span><span class="_o">.</span><span class="_n">xpath</span><span class="_p">(</span><span class="_s">&#8216;/html/body/div[2]/div[2]/div/div/ul/li/div[2]/p&#8217;</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">14</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_k">for</span><span class="_"> </span><span class="_n">i</span><span class="_"> </span><span class="_ow">in</span><span class="_"> </span><span class="_n">p</span><span class="_p">:</span><span class="_"></span><br /><span class="lineno special">15</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">tmp</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">i</span><span class="_o">.</span><span class="_n">text_content</span><span class="_p">()</span><span class="_"></span><br /><span class="lineno">16</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">tmp</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">tmp</span><span class="_o">.</span><span class="_n">encode</span><span class="_p">(</span><span class="_s">&#8216;utf-8&#8242;</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">17</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">tmp</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">tmp</span><span class="_o">.</span><span class="_n">replace</span><span class="_p">(</span><span class="_s">&#8216;</span><span class="_se">\r</span><span class="_s">&#8216;</span><span class="_p">,</span><span class="_"> </span><span class="_s">&#8216;</span><span class="_se">\n</span><span class="_s">&#8216;</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">18</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">art</span><span class="_o">.</span><span class="_n">append</span><span class="_p">(</span><span class="_n">tmp</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">19</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_k">return</span><span class="_"> </span><span class="_n">art</span><span class="_"></span><br /><span class="lineno special">20</span> <br /><span class="lineno">21</span> <span class="_k">if</span><span class="_"> </span><span class="_n">__name__</span><span class="_"> </span><span class="_o">==</span><span class="_"> </span><span class="_s">&#8216;__main__&#8217;</span><span class="_p">:</span><span class="_"></span><br /><span class="lineno">22</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">urls</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_p">[</span><span class="_s">'http://www.douban.com/group/topic/12018319/'</span><span class="_p">,</span><span class="_"></span><br /><span class="lineno">23</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_s">'http://www.douban.com/group/topic/12018319/?start=100'</span><span class="_p">]</span><span class="_"></span><br /><span class="lineno">24</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">outfile</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_nb">open</span><span class="_p">(</span><span class="_s">&#8216;zheda.txt&#8217;</span><span class="_p">,</span><span class="_"> </span><span class="_s">&#8216;w&#8217;</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno special">25</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_k">for</span><span class="_"> </span><span class="_n">url</span><span class="_"> </span><span class="_ow">in</span><span class="_"> </span><span class="_n">urls</span><span class="_p">:</span><span class="_"></span><br /><span class="lineno">26</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">art</span><span class="_"> </span><span class="_o">=</span><span class="_"> </span><span class="_n">getart</span><span class="_p">(</span><span class="_n">url</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">27</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_k">for</span><span class="_"> </span><span class="_n">item</span><span class="_"> </span><span class="_ow">in</span><span class="_"> </span><span class="_n">art</span><span class="_p">:</span><span class="_"></span><br /><span class="lineno">28</span> <span class="_">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span class="_n">outfile</span><span class="_o">.</span><span class="_n">write</span><span class="_p">(</span><span class="_n">item</span><span class="_o">+</span><span class="_s">&#8216;</span><span class="_se">\n</span><span class="_s">&#8216;</span><span class="_p">)</span><span class="_"></span><br /><span class="lineno">29</span> <span class="_">&nbsp;&nbsp;&nbsp; </span><span class="_n">outfile</span><span class="_o">.</span><span class="_n">close</span><span class="_p">()</span><span class="_"></span></div>
<p>附：浙大夜惊魂6月26日更新至101章<br />hotfile: <a href="http://hotfile.com/dl/50704792/39ca85e/626101.txt.html">http://hotfile.com/dl/50704792/39ca85e/626101.txt.html</a><br />xun6: <a href="http://www.xun6.com/file/8452e0f25/%E6%B5%99%E5%A4%A7%E5%A4%9C%E6%83%8A%E9%AD%82%EF%BC%886%E6%9C%8826%E6%97%A5%E6%9B%B4%E6%96%B0%E8%87%B3101%E7%AB%A0%EF%BC%89.txt.html"></a><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 文泉驿微米黑; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span class="Apple-style-span" style="font-family: Tahoma,Arial,Helvetica,sans-serif; font-size: 17px; line-height: 25px; text-align: left;"><span class="Apple-converted-space"> </span><a href="http://is.gd/d4Ym0" target="_blank" style="word-wrap: break-word; color: rgb(44, 98, 158); text-decoration: none;">http://is.gd/d4Ym0</a></span></span></p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d7e0929a-7936-84de-a0c2-1968317d78c0" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/773.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Firebug+XPather进行手工采集</title>
		<link>http://www.ai7.org/wp/html/771.html</link>
		<comments>http://www.ai7.org/wp/html/771.html#comments</comments>
		<pubDate>Sat, 26 Jun 2010 13:28:02 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/771.html</guid>
		<description><![CDATA[Firebug和XPather都是Firefox的插件。用Firebug查找页面内容的xpath路径，复制后，到XPather中执行，提取页面中其他内容，然后，在“Web Clipping”页中复制所有内容即可。 上面的方法对于提取连载的小说特别管用。]]></description>
			<content:encoded><![CDATA[<p>Firebug和XPather都是Firefox的插件。<br />用Firebug查找页面内容的xpath路径，复制后，到XPather中执行，提取页面中其他内容，然后，在“Web Clipping”页中复制所有内容即可。</p>
<p>上面的方法对于提取连载的小说特别管用。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=42ea5706-f0c7-88f4-b209-e9a4f65d5e3a" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/771.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pdf文件自动剪裁（自动切白边）</title>
		<link>http://www.ai7.org/wp/html/754.html</link>
		<comments>http://www.ai7.org/wp/html/754.html#comments</comments>
		<pubDate>Mon, 24 May 2010 16:43:52 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[切白边]]></category>
		<category><![CDATA[剪裁]]></category>
		<category><![CDATA[自动]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/754.html</guid>
		<description><![CDATA[可能用到的环境、工具：Ubuntu 10.04+TeXLive 2008+pdfcrop+CUPS打印驱动，用Windows的兄弟就不用看了，这些工具理论上在Windows下也有，但是还要另外装不少东西。 下面假设原文件（也就是打算切白边的文件）叫abc.pdf pdfcrop abc.pdf，默认会生成abc-crop.pdf文件，这个已经是切掉白边的了，要是你不嫌它大（或者它确实不大）的话，就完成了。 用阅读器（如evince）打开abc-crop.pdf，并通过CUPS打印到文件，打印时注意关闭所有和页面缩放有关的命令，并选中“使用文档的页面尺寸作为页面尺寸”。打印，完成。 说明： pdfcrop其实是TeXLive自带的。本质上是一个perl脚本。 pdfcrop要调用gs(ghostscript)确定每页的白边大小。对于空白页，会报错，忽略即可。 pdfcrop还可以在切的时候留若干像素，具体请&#8211;help。 pdfcrop要调用pdftex以生成切白边后的文件。 pdfcrop本质上（猜想，没有阅读源码）是先将abc.pdf展开成单页的pdf，调用gs切白边，再用tex文件直接调用pdf页面，最后用pdftex生成输出。 pdfcrop直接生成的文件一般是原文件的20倍以上（本人测试的几个文件均是如此），虚拟打印到新的文件后，基本可以恢复到与原文件同样数量级的尺寸。 测试都是使用的内嵌字体的中英文PDF。扫描版的没试，估计够呛。 5月27日更新： 使用这个脚本PDF压缩脚本-Compress PDF，代替上面的第2步。简单，效果不错。]]></description>
			<content:encoded><![CDATA[<p>可能用到的环境、工具：Ubuntu 10.04+TeXLive 2008+pdfcrop+CUPS打印驱动，用Windows的兄弟就不用看了，这些工具理论上在Windows下也有，但是还要另外装不少东西。</p>
<p>下面假设原文件（也就是打算切白边的文件）叫abc.pdf</p>
<ol>
<li>pdfcrop abc.pdf，默认会生成abc-crop.pdf文件，这个已经是切掉白边的了，要是你不嫌它大（或者它确实不大）的话，就完成了。</li>
<li>用阅读器（如evince）打开abc-crop.pdf，并通过CUPS打印到文件，打印时注意关闭所有和页面缩放有关的命令，并选中“使用文档的页面尺寸作为页面尺寸”。打印，完成。</li>
</ol>
<p>说明：</p>
<ol>
<li>pdfcrop其实是TeXLive自带的。本质上是一个perl脚本。</li>
<li>pdfcrop要调用gs(ghostscript)确定每页的白边大小。对于空白页，会报错，忽略即可。</li>
<li>pdfcrop还可以在切的时候留若干像素，具体请&#8211;help。</li>
<li>pdfcrop要调用pdftex以生成切白边后的文件。</li>
<li>pdfcrop本质上（猜想，没有阅读源码）是先将abc.pdf展开成单页的pdf，调用gs切白边，再用tex文件直接调用pdf页面，最后用pdftex生成输出。</li>
<li>pdfcrop直接生成的文件一般是原文件的20倍以上（本人测试的几个文件均是如此），虚拟打印到新的文件后，基本可以恢复到与原文件同样数量级的尺寸。</li>
<li>测试都是使用的内嵌字体的中英文PDF。扫描版的没试，估计够呛。</li>
</ol>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=e4f182aa-766f-85f9-a535-5542816210e4" alt="" /></div>
<p>5月27日更新：<br />
使用这个脚本<a href="http://www.ubuntuhome.com/compress-pdf.html">PDF压缩脚本-Compress PDF</a>，代替上面的第2步。简单，效果不错。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/754.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>搜索进程——新的搜索方式</title>
		<link>http://www.ai7.org/wp/html/740.html</link>
		<comments>http://www.ai7.org/wp/html/740.html#comments</comments>
		<pubDate>Tue, 27 Apr 2010 02:14:09 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=740</guid>
		<description><![CDATA[在使用搜索引擎查找资料时，很难一下子找到想要的东西，通常会尝试不同的关键词及其组合。 比如，查“关键词1”，得到若干页的结果，翻看了前5页，有一些有用的资料，打开另外的页面查看，多数是没有用的。输入“关键词2”继续搜索，又得到若干页的结果，但是某些内容已经在刚才搜索关键词1时得到的前5页结果中出现过，而这些内容我都已经浏览过了，确定有或者没有我要的资料。搜索引擎为什么不把这些资料隐藏掉？ 我希望Google能够提供一个我暂时称为“搜索进程”的功能。在同一个搜索进程中，无论搜索哪个关键词，都不显示之前用户之前已经查看过的条目。如果同一用户的两次搜索的间隔小于某个事先设定的值（如1小时），则认为是同一个搜索进程。用户也可以手工开启一个新的搜索进程。如果搜索引擎更聪明一点，能够根据两个关键词间的相关度，提醒用户是否开启新的进程的话，那就更好了。]]></description>
			<content:encoded><![CDATA[<p>在使用搜索引擎查找资料时，很难一下子找到想要的东西，通常会尝试不同的关键词及其组合。</p>
<p>比如，查“关键词1”，得到若干页的结果，翻看了前5页，有一些有用的资料，打开另外的页面查看，多数是没有用的。输入“关键词2”继续搜索，又得到若干页的结果，但是某些内容已经在刚才搜索关键词1时得到的前5页结果中出现过，而这些内容我都已经浏览过了，确定有或者没有我要的资料。搜索引擎为什么不把这些资料隐藏掉？</p>
<p>我希望Google能够提供一个我暂时称为“搜索进程”的功能。在同一个搜索进程中，无论搜索哪个关键词，都不显示之前用户之前已经查看过的条目。如果同一用户的两次搜索的间隔小于某个事先设定的值（如1小时），则认为是同一个搜索进程。用户也可以手工开启一个新的搜索进程。如果搜索引擎更聪明一点，能够根据两个关键词间的相关度，提醒用户是否开启新的进程的话，那就更好了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/740.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MySql数据库导出时指定编码</title>
		<link>http://www.ai7.org/wp/html/735.html</link>
		<comments>http://www.ai7.org/wp/html/735.html#comments</comments>
		<pubDate>Wed, 17 Mar 2010 14:55:14 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/735.html</guid>
		<description><![CDATA[导出低版本MySql数据库时，通常会遇到乱码的问题。应在导出时加上指定编码的参数，比如：mysqldump &#8211;default-character-set=latin1 -u 用户名 -p 数据库名 &#62; old.sql再用iconv等转码工具转换编码类型。]]></description>
			<content:encoded><![CDATA[<p>导出低版本MySql数据库时，通常会遇到乱码的问题。应在导出时加上指定编码的参数，比如：<br />mysqldump &#8211;default-character-set=latin1 -u 用户名 -p 数据库名 &gt; old.sql<br />再用iconv等转码工具转换编码类型。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/735.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rename-批量重命名命令</title>
		<link>http://www.ai7.org/wp/html/732.html</link>
		<comments>http://www.ai7.org/wp/html/732.html#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:41:32 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[LaTeX相关]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[rename]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/732.html</guid>
		<description><![CDATA[原来还很麻烦的用for循环（Ubuntu下批量重命名），其实只用rename就够了。比如，要把所有的文件名改为小写：rename &#8216;tr/A-Z/a-z/&#8217; *把所有文件的后缀由rm改为rmvbrename &#8216;s/.rm$/.rmvb/&#8217; *替换时，只匹配第一次找到的子串，如果要替换所有匹配到的子串，需要添加g，比如有以下文件：1.txt，11.txt，111.txt命令rename &#8216;s/1/a/&#8217; *.txt得到的结果是a.txt, a1.txt, a11.txt而，命令rename &#8216;s/1/a/g&#8217; *.txt得到的结果是a.txt, aa.txt, aaa.txt 2011-4-19补充： 一个文件名交换前后两部分的例子： rename &#8216;s/(.*)(2009\d*)/$2$1/&#8217; * 这个命令处理中文有问题，也可能是我没有找对参数。]]></description>
			<content:encoded><![CDATA[<p>原来还很麻烦的用for循环（<a href="http://www.ai7.org/wp/html/577.html">Ubuntu下批量重命名</a>），其实只用rename就够了。比如，要把所有的文件名改为小写：<br />rename &#8216;tr/A-Z/a-z/&#8217; *<br />把所有文件的后缀由rm改为rmvb<br />rename &#8216;s/.rm$/.rmvb/&#8217; *<br />替换时，只匹配第一次找到的子串，如果要替换所有匹配到的子串，需要添加g，比如有以下文件：<br />1.txt，11.txt，111.txt<br />命令<br />rename &#8216;s/1/a/&#8217; *.txt<br />得到的结果是<br />a.txt, a1.txt, a11.txt<br />而，命令<br />rename &#8216;s/1/a/g&#8217; *.txt<br />得到的结果是<br />a.txt, aa.txt, aaa.txt</p>
<p>2011-4-19补充：<br />
一个文件名交换前后两部分的例子：<br />
rename &#8216;s/(.*)(2009\d*)/$2$1/&#8217; *<br />
这个命令处理中文有问题，也可能是我没有找对参数。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/732.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Reader可以订阅任何网页——好消息？坏消息？</title>
		<link>http://www.ai7.org/wp/html/705.html</link>
		<comments>http://www.ai7.org/wp/html/705.html#comments</comments>
		<pubDate>Tue, 26 Jan 2010 14:03:39 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[Google Reader]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/705.html</guid>
		<description><![CDATA[之前，对于没有提供RSS输出的网站，我一直使用Page2RSS订阅网页的更新，现在Google Reader直接提供了这一功能。应该说是好消息，但是谁知道呢。]]></description>
			<content:encoded><![CDATA[<p>之前，对于没有提供RSS输出的网站，我一直使用Page2RSS订阅网页的更新，现在Google Reader直接提供了这一功能。应该说是好消息，但是谁知道呢。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=d006f6a8-5739-8b82-a3ca-c84f30369ced" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/705.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mysql乱码问题（备忘）</title>
		<link>http://www.ai7.org/wp/html/692.html</link>
		<comments>http://www.ai7.org/wp/html/692.html#comments</comments>
		<pubDate>Fri, 15 Jan 2010 17:52:41 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/692.html</guid>
		<description><![CDATA[升级网站的时候，php版本高了，mysql的版本也高了，再加上原来没经验，用的都是GBK，没用UTF8，数据库导过去经常乱码。 两次成功的经验如下。 先保证phpmyadmin中看到的字符是正确的，再在mysql_connect语句之后加一句mysql_query(&#8220;SET NAMES &#8216;GBK&#8217;&#8221;)，差不多就可以了。]]></description>
			<content:encoded><![CDATA[<p>升级网站的时候，php版本高了，mysql的版本也高了，再加上原来没经验，用的都是GBK，没用UTF8，数据库导过去经常乱码。<br />
两次成功的经验如下。<br />
先保证phpmyadmin中看到的字符是正确的，再在mysql_connect语句之后加一句mysql_query(&#8220;SET NAMES &#8216;GBK&#8217;&#8221;)，差不多就可以了。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=6c1d8054-ecef-80d0-a94b-9fc59df71b43" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/692.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sage 4.3今日发布</title>
		<link>http://www.ai7.org/wp/html/668.html</link>
		<comments>http://www.ai7.org/wp/html/668.html#comments</comments>
		<pubDate>Sat, 26 Dec 2009 12:56:56 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[Palm]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[sage]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/668.html</guid>
		<description><![CDATA[Sage 4.3今日发布，二进制版本已经可以下载。具体可以到主页查看：http://www.sagemath.org。还不清楚这次有哪些更新。]]></description>
			<content:encoded><![CDATA[<p>Sage 4.3今日发布，二进制版本已经可以下载。具体可以到主页查看：<a target="_blank" href="http://www.sagemath.org">http://www.sagemath.org</a>。还不清楚这次有哪些更新。</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=67ec8863-66a2-8a73-8732-5e1fda474f4a" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/668.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>看图不说话20091224</title>
		<link>http://www.ai7.org/wp/html/664.html</link>
		<comments>http://www.ai7.org/wp/html/664.html#comments</comments>
		<pubDate>Thu, 24 Dec 2009 13:39:50 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[maTHμ]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=664</guid>
		<description><![CDATA[==============================================]]></description>
			<content:encoded><![CDATA[<p><a href="http://img2.pict.com/a6/5e/e3/2288494/0/1.png"><img class="alignnone" title="1" src="http://img2.pict.com/a6/5e/e3/2288494/0/800/1.png" alt="" width="480" height="834" /></a></p>
<p style="text-align: center;">==============================================</p>
<p><a href="http://img2.pict.com/d7/34/81/2288497/0/2.png"><img class="alignleft" title="2" src="http://img2.pict.com/d7/34/81/2288497/0/800/2.png" alt="" width="480" height="1085" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/664.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>翻译Sage文档的准备工作</title>
		<link>http://www.ai7.org/wp/html/658.html</link>
		<comments>http://www.ai7.org/wp/html/658.html#comments</comments>
		<pubDate>Wed, 23 Dec 2009 09:10:59 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[软件]]></category>
		<category><![CDATA[sage]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=658</guid>
		<description><![CDATA[打算翻译一下Sage的文档。Sage的文档完全是用reStructuredTEXT写成的，由Sphinx管理，对应的翻译就行了，但是为了与原文档保持相同的风格，还是折腾了好久。这里记录一下。 环境是：Ubuntu+Sage 4.2.1+CTeXLive 2008。以翻译Sage Tutorial为例，需要做以下准备工作。（下面用$SAGE代替sage的主目录） 转到$SAGE/devel/sage-main/doc/目录； 在common目录中的builder.py文件中，找到 LANGUAGES = ['en', 'fr'] 修改为： LANGUAGES = ['en', 'fr', 'zh'] 新建zh子目录，并将en子目录下的tutorial目录复制到刚才新建的zh目录中 （如果是翻译其他文档，复制相应的目录）； 修改zh目录下的conf.py文件： 在 import sys, os 这一行后 添加 两行： reload(sys) sys.setdefaultencoding('utf8') 在conf.py文件最后添加： latex_preamble='\usepackage{ctex}' latex_premble+='\usepackage{ctex}\n\punctstyle{CCT}' 修改$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/texinputs/Makefile文件，将其中的“pdflatex”全部替换为“xelatex”（共有5处）； 将$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/writers/latex.py中的“\\usepackage[utf8]{inputenc}”中的“utf8”修改为“latin1”，即“\\usepackage[latin1]{inputenc}”。 如果上述操作正常的话，就可以开始翻译了。将zh/tutorial下的所有.rst 文件翻译为中文后，即可进行编译。编译的方法如下: 转到$SAGE目录； 查看所有文档列表： ./sage -docbuild -D 此时应该可以看到“zh/tutorial”选项； 编译： ./sage -docbuild zh/tutorial html ./sage -docbuild zh/tutorial pdf 编译结果会在编译信息最后一行提示。 2010年6月21日更新： 以上是基于Sage 4.3所做的修改，今天下载了4.4.3，情况有些变化： <a href="http://www.ai7.org/wp/html/658.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>打算翻译一下<a href="http://www.sagemath.org" target="_blank">Sage</a>的文档。Sage的文档完全是用reStructuredTEXT写成的，由Sphinx管理，对应的翻译就行了，但是为了与原文档保持相同的风格，还是折腾了好久。这里记录一下。</p>
<p>环境是：Ubuntu+Sage 4.2.1+CTeXLive 2008。以翻译Sage Tutorial为例，需要做以下准备工作。（下面用$SAGE代替sage的主目录）</p>
<div>
<ol>
<li>转到$SAGE/devel/sage-main/doc/目录；</li>
<li>在common目录中的builder.py文件中，找到
<pre>LANGUAGES = ['en', 'fr']</pre>
<p>修改为：</p>
<pre>LANGUAGES = ['en', 'fr', 'zh']</pre>
</li>
<li>新建zh子目录，并将en子目录下的tutorial目录复制到刚才新建的zh目录中 （如果是翻译其他文档，复制相应的目录）；</li>
<li>修改zh目录下的conf.py文件：<br />
<blockquote>
<ul>
<li>在
<pre>import sys, os</pre>
<p>这一行后 <strong>添加</strong> 两行：</p>
<pre>reload(sys)
sys.setdefaultencoding('utf8')</pre>
</li>
<li>在conf.py文件最后添加：
<pre><span style="text-decoration: line-through;">latex_preamble='\usepackage{ctex}'</span></pre>
<pre>latex_premble+='\usepackage{ctex}\n\punctstyle{CCT}'</pre>
</li>
</ul>
</blockquote>
</li>
<li>修改$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/texinputs/Makefile文件，将其中的“pdflatex”全部替换为“xelatex”（共有5处）；</li>
<li>将$SAGE/local/lib/python2.6/site-packages/Sphinx-0.6.3-py2.6.egg/sphinx/writers/latex.py中的“\\usepackage[utf8]{inputenc}”中的“utf8”修改为“latin1”，即“\\usepackage[latin1]{inputenc}”。</li>
</ol>
<p>如果上述操作正常的话，就可以开始翻译了。将zh/tutorial下的所有.rst 文件翻译为中文后，即可进行编译。编译的方法如下:</p>
<ol>
<li>转到$SAGE目录；</li>
<li>查看所有文档列表：
<pre>./sage -docbuild -D</pre>
<p>此时应该可以看到“zh/tutorial”选项；</li>
<li>编译：
<pre>./sage -docbuild zh/tutorial html

./sage -docbuild zh/tutorial pdf</pre>
<p>编译结果会在编译信息最后一行提示。</li>
</ol>
</div>
<p><font color='red'>2010年6月21日更新：</font><br />
以上是基于Sage 4.3所做的修改，今天下载了4.4.3，情况有些变化：</p>
<ul>
<li>以上的第4、6步完全不需要了，因为相关的配置转移到其他文件中去了</li>
<li>修改$SAGE/devel/sage-main/doc/common/conf.py文件中两个地方：
<ol>
<li>
latex_elements['inputenc'] = &#8216;\\usepackage[utf8x]{inputenc}&#8217;<br />
改为<br />
latex_elements['inputenc'] = &#8216;\\usepackage[latin1]{inputenc}&#8217;
</li>
<li>latex_elements['preamble']那一行下面再<font color='red'>添加</font>一行：<br />
latex_elements['preamble'] += &#8216;\usepackage{ctex}\n\punctstyle{CCT}\n&#8217;
</li>
</ol>
</li>
</ul>
<p><font color='red'>2011年6月7日更新：</font><br />
以下修改针对sage 4.7</p>
<ul>
<li>原第2步改为修改相同目录下的build_options.py文件中的对应选项。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/658.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用grep在子目录中指定的文件类型中查找</title>
		<link>http://www.ai7.org/wp/html/653.html</link>
		<comments>http://www.ai7.org/wp/html/653.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 16:08:01 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[grep]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/html/653.html</guid>
		<description><![CDATA[grep -r abcd *.py 这样的命令得不到你期待的结果，而 grep -r abcd * 这样得到的结果又太多，仍然不是你想要的。 正解是： find . -name *.py&#124;xargs grep asdf 注：这是一个困惑我很久的问题，今天在 这里看到 一种解决方案 。 有人在留言中给出另外一种方法 find . -iname ‘*.cc’ -exec grep -nH ‘{}’ \; 但是看上去比较复杂，我不喜欢。]]></description>
			<content:encoded><![CDATA[<blockquote><p>grep -r abcd  *.py</p></blockquote>
<p>这样的命令得不到你期待的结果，而</p>
<blockquote><p>grep -r abcd *</p></blockquote>
<p>这样得到的结果又太多，仍然不是你想要的。</p>
<p>正解是：</p>
<blockquote><p>find . -name *.py|xargs grep asdf</p></blockquote>
<p>注：这是一个困惑我很久的问题，今天在 这里看到 <a class="reference external" href="http://www.joyloft.net/?p=1219">一种解决方案</a> 。 有人在留言中给出另外一种方法</p>
<blockquote><p>find . -iname ‘*.cc’ -exec grep -nH ‘{}’ \;</p></blockquote>
<p>但是看上去比较复杂，我不喜欢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/653.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>reStructuredTEXT输出为LaTeX以及公式的问题</title>
		<link>http://www.ai7.org/wp/html/646.html</link>
		<comments>http://www.ai7.org/wp/html/646.html#comments</comments>
		<pubDate>Sun, 20 Dec 2009 14:36:50 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[reStructuredTEXT]]></category>
		<category><![CDATA[公式]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=646</guid>
		<description><![CDATA[中文的rst文件，输出为LaTeX文件： 在home目录下编辑.docutils文件，内容如下： [latex2e writer] documentclass: article documentoptions: 12pt a4paper output-encoding: utf-8 stylesheet: /home/username/docutils.tex 前几行没什么可说的，最后一行所指定文件的内容如下： \usepackage[slantfont,boldfont,CJKaddspaces,CJKchecksingle]{xeCJK} \CJKlanguage{zh-cn} \setmainfont{Times New Roman} \setCJKmainfont{Adobe Song Std} \usepackage{CJKfntef} 我这是想用xelatex，如果是用CCT或者CTEX，语句相对少些。大家自己改吧。 公式的话，在文件头添加 .. role:: raw-math(raw) :format: latex html 行内公式这样写： If :raw-math:`$x=5 \times 3$` then :raw-math:`$x$` is 注意，冒号后面没空格！ 独立公式这样写： .. raw:: latex html $$ W \approx \sum{f(x_k) \Delta x} $$ $$ W = <a href="http://www.ai7.org/wp/html/646.html"> read more <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>中文的rst文件，输出为LaTeX文件：</p>
<p>在home目录下编辑.docutils文件，内容如下：</p>
<p>[latex2e writer]<br />
documentclass: article<br />
documentoptions: 12pt a4paper<br />
output-encoding: utf-8<br />
stylesheet: /home/username/docutils.tex</p>
<p>前几行没什么可说的，最后一行所指定文件的内容如下：</p>
<p>\usepackage[slantfont,boldfont,CJKaddspaces,CJKchecksingle]{xeCJK}<br />
\CJKlanguage{zh-cn}<br />
\setmainfont{Times New Roman}<br />
\setCJKmainfont{Adobe Song Std}<br />
\usepackage{CJKfntef}</p>
<p>我这是想用xelatex，如果是用CCT或者CTEX，语句相对少些。大家自己改吧。</p>
<p>公式的话，在文件头添加</p>
<pre class="literal-block">.. role:: raw-math(raw)
    :format: latex html</pre>
<pre class="literal-block">行内公式这样写：</pre>
<pre>If :raw-math:`$x=5 \times 3$` then :raw-math:`$x$` is</pre>
<pre>注意，冒号后面没空格！</pre>
<pre>独立公式这样写：</pre>
<pre>.. raw:: latex html

    $$ W \approx \sum{f(x_k) \Delta x} $$
    $$ W = \int_{a}^{b}{f(x) dx} $$</pre>
<pre>参考源：</pre>
<ol>
<li><a href="http://docutils.sourceforge.net/docs/user/config.html">Docutils Configuration</a>: http://docutils.sourceforge.net/docs/user/config.html</li>
<li><a href="http://www.programmerq.net/rsttricks.html#math-and-equations">reStructured Text tips and tricks</a>: http://www.programmerq.net/rsttricks.html</li>
<li><a href="http://kalug.linux.org.tw/~lloyd/bblog/archives/2009/11/09/%5Btip%5D_python-docutils:_rst2latex_create_chinese_pdf/">[tip] python-docutils: rst2latex create chinese pdf</a>（繁体中文）: http://kalug.linux.org.tw/~lloyd/bblog/archives/2009/11/09/%5Btip%5D_python-docutils:_rst2latex_create_chinese_pdf/</li>
</ol>
<p>注：</p>
<p>如果是使用<a href="http://sphinx.pocoo.org/" target="_blank">Sphinx</a>，那么对于公式的支持就不用这么麻烦了，可以直接使用:math:和.. math::这样的命令，因为<a href="http://sphinx.pocoo.org/" target="_blank">Sphinx</a>支持rST扩展，用上面的方法，反而会出很多问题。</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">1 [latex2e writer]</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">2 documentclass: article</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">3 documentoptions: 12pt,a4paper</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">4 output-encoding: utf-8</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">5 stylesheet: /home/mzy/docutils.tex</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">~</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">&#8211; 可视 行 &#8212;                                                 5,1          全部</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/646.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagemagick 合并两个图像</title>
		<link>http://www.ai7.org/wp/html/635.html</link>
		<comments>http://www.ai7.org/wp/html/635.html#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:22:05 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[imagemagick]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=635</guid>
		<description><![CDATA[composite基本用法示例： composite -gravity southwest 1.png 2.jpg 3.jpg gravity原意是重力，这里可以理解为对齐的方式。上面命令中中左下角对齐。1.png是前景图，2.jpg是背景图，3.jpg是输出结果。 btw: 有人说GraphicsMagick效率比Imagemagick效率更高，不知道真假。]]></description>
			<content:encoded><![CDATA[<p>composite基本用法示例：</p>
<p>composite -gravity southwest 1.png 2.jpg 3.jpg</p>
<p>gravity原意是重力，这里可以理解为对齐的方式。上面命令中中左下角对齐。1.png是前景图，2.jpg是背景图，3.jpg是输出结果。</p>
<p>btw: 有人说GraphicsMagick效率比Imagemagick效率更高，不知道真假。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/635.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>纪念Opera Mini</title>
		<link>http://www.ai7.org/wp/html/627.html</link>
		<comments>http://www.ai7.org/wp/html/627.html#comments</comments>
		<pubDate>Sat, 21 Nov 2009 16:39:53 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[其他]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=627</guid>
		<description><![CDATA[（无正文）]]></description>
			<content:encoded><![CDATA[<p>（无正文）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/627.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Imagemagick将PDF文件转为图片</title>
		<link>http://www.ai7.org/wp/html/623.html</link>
		<comments>http://www.ai7.org/wp/html/623.html#comments</comments>
		<pubDate>Sat, 21 Nov 2009 15:05:28 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[软件]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=623</guid>
		<description><![CDATA[convert -density 150  aaa.pdf aaa.png -density 参数指定的是DPI，也就是分辩率。一般屏幕显示用72就足够了，150适用于大多数场合，300以上的分辩率就很高了。不清楚最高可以到多少。当然了，这些都只在原PDF是矢量的情况下才有比较好的效果，如果原PDF是点阵的，比如扫描的图书，那么更大的DPI造成的结果就是颗粒变大。 如果PDF有多页，那么上述命令会将所有的页都转出来，存成多个文件。如果只想转其中某几页，可以在PDF文件名后加页码范围，象这样： convert -density 150  aaa.pdf[0-3,20-25] aaa.png 注意，convert都是从0计数的，也就是说Imagemagick把PDF文件的第一页叫作第0页。不管上面哪种情况，只要是转换多页，Imagemagick都会自动在原文件名中加序号，以0开始，连续编号，形如aaa-0.png、aaa-1.png、aaa-2.png……，而与原页码没有任何联系。 当然了，转换的时候，还可以指定-resize这些参数。]]></description>
			<content:encoded><![CDATA[<p>convert -density 150  aaa.pdf aaa.png</p>
<p>-density 参数指定的是DPI，也就是分辩率。一般屏幕显示用72就足够了，150适用于大多数场合，300以上的分辩率就很高了。不清楚最高可以到多少。当然了，这些都只在原PDF是矢量的情况下才有比较好的效果，如果原PDF是点阵的，比如扫描的图书，那么更大的DPI造成的结果就是颗粒变大。</p>
<p>如果PDF有多页，那么上述命令会将所有的页都转出来，存成多个文件。如果只想转其中某几页，可以在PDF文件名后加页码范围，象这样：</p>
<p>convert -density 150  aaa.pdf[0-3,20-25] aaa.png</p>
<p>注意，convert都是从0计数的，也就是说Imagemagick把PDF文件的第一页叫作第0页。不管上面哪种情况，只要是转换多页，Imagemagick都会自动在原文件名中加序号，以0开始，连续编号，形如aaa-0.png、aaa-1.png、aaa-2.png……，而与原页码没有任何联系。</p>
<p>当然了，转换的时候，还可以指定-resize这些参数。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/623.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VIM编辑文件实例</title>
		<link>http://www.ai7.org/wp/html/617.html</link>
		<comments>http://www.ai7.org/wp/html/617.html#comments</comments>
		<pubDate>Thu, 19 Nov 2009 17:15:33 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=617</guid>
		<description><![CDATA[假设有以下文件 1234567 甲甲大学 张三 李四 王五 2222222 乙乙大学 张三三 李四四 王五五 3333333 丙丙大学 张三四 李四五 王五六 …… 简单讲，每个队的信息被分成了5行，报名号、学校、队员1、队员2、队员3。我们主要的工作是要删除多余的回车符，将每一队的信息集中到一行。 删除多余的空白：“:%s/ //g”； 因为总共是1430行，也就是286个组，这个数记下来，下面要用。 合并每组的5行：在normal模式下，光标停在报名号这一行，直接输入“5J”，注意，是大写的J，也就是shift+j。可以看到，每一组的5行信息已经合并成一行了，并且以空格分隔。其中，5表示执行后面的命令5次，J表示合并两行。这一步是基础，并不需要，按“u”，退回到第2步的状态，并按“gg”，将光标停在第一行。 录制宏：开始录制以a为名字的宏，“qa”，之后依次按下面的键，“5Jjq”，其中5J的作用已经解释了，j跳到第二行，q结束录制宏。 这时候你的光标应该在第二行，并且是normal模式，依次按下面的键，“285@a”，其中@就是shift+2，@a的意思是执行宏a，也就是执行@a共285次。这时，每组的信息已经集中到一行了。 其实我们的任务基本上已经完成了，下面是先转成csv格式，再导入Excel，还是直接转成html表格，都是很容易的事情了。下面的命令就不再解释了。 :%s/ /&#60;\td&#62;&#60;td&#62;/g :%s/^/&#60;tr&#62;&#60;td&#62;/g :%s/$/&#60;\/td&#62;&#60;\/tr&#62;/g 文件最前面加上&#60;html&#62;&#60;body&#62;&#60;table&#62;，文件最后面加上&#60;/table&#62;&#60;/body&#62;&#60;/html&#62;，大功告成。（表格加线，加标题这些自己看着办吧） btw： 当你不了解一种工具（特别是像VIM这种强悍的工具）时，你可能根本想不到活儿还可以这么干，而且干的这么漂亮。]]></description>
			<content:encoded><![CDATA[<p>假设有以下文件</p>
<p>1234567<br />
甲甲大学<br />
张三<br />
李四<br />
王五<br />
2222222<br />
乙乙大学<br />
张三三<br />
李四四<br />
王五五<br />
3333333<br />
丙丙大学<br />
张三四<br />
李四五<br />
王五六<br />
……</p>
<p>简单讲，每个队的信息被分成了5行，报名号、学校、队员1、队员2、队员3。我们主要的工作是要删除多余的回车符，将每一队的信息集中到一行。</p>
<ol>
<li>删除多余的空白：“:%s/ //g”；</li>
<li>因为总共是1430行，也就是286个组，这个数记下来，下面要用。</li>
<li>合并每组的5行：在normal模式下，光标停在报名号这一行，直接输入“5J”，注意，是大写的J，也就是shift+j。可以看到，每一组的5行信息已经合并成一行了，并且以空格分隔。其中，5表示执行后面的命令5次，J表示合并两行。这一步是基础，并不需要，按“u”，退回到第2步的状态，并按“gg”，将光标停在第一行。</li>
<li>录制宏：开始录制以a为名字的宏，“qa”，之后依次按下面的键，“5Jjq”，其中5J的作用已经解释了，j跳到第二行，q结束录制宏。</li>
<li>这时候你的光标应该在第二行，并且是normal模式，依次按下面的键，“285@a”，其中@就是shift+2，@a的意思是执行宏a，也就是执行@a共285次。这时，每组的信息已经集中到一行了。</li>
<li>其实我们的任务基本上已经完成了，下面是先转成csv格式，再导入Excel，还是直接转成html表格，都是很容易的事情了。下面的命令就不再解释了。</li>
<li>:%s/ /&lt;\td&gt;&lt;td&gt;/g</li>
<li>:%s/^/&lt;tr&gt;&lt;td&gt;/g</li>
<li>:%s/$/&lt;\/td&gt;&lt;\/tr&gt;/g</li>
<li>文件最前面加上&lt;html&gt;&lt;body&gt;&lt;table&gt;，文件最后面加上&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;，大功告成。（表格加线，加标题这些自己看着办吧）</li>
</ol>
<p>btw：</p>
<p>当你不了解一种工具（特别是像VIM这种强悍的工具）时，你可能根本想不到活儿还可以这么干，而且干的这么漂亮。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/617.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RapidShare</title>
		<link>http://www.ai7.org/wp/html/614.html</link>
		<comments>http://www.ai7.org/wp/html/614.html#comments</comments>
		<pubDate>Thu, 19 Nov 2009 16:03:29 +0000</pubDate>
		<dc:creator>amao</dc:creator>
				<category><![CDATA[软件]]></category>
		<category><![CDATA[RapidShare]]></category>

		<guid isPermaLink="false">http://www.ai7.org/wp/?p=614</guid>
		<description><![CDATA[RapidShare上好东西比较多，但是对免费用户的限制也比较多。倒计时还可以找软件跳过去，但流量限制不好办。不知道ADSL断线再拨号的方式是否可行。试了几个在线代理都不能正常下载。最后发现下面两种方式可行： http://fanyi.cn.yahoo.com/ Opera的Turbo 再加上自己本身IP可以下一部分，应该够了。 btw：不要成为下载狂]]></description>
			<content:encoded><![CDATA[<p>RapidShare上好东西比较多，但是对免费用户的限制也比较多。倒计时还可以找软件跳过去，但流量限制不好办。不知道ADSL断线再拨号的方式是否可行。试了几个在线代理都不能正常下载。最后发现下面两种方式可行：</p>
<ol>
<li>http://fanyi.cn.yahoo.com/</li>
<li>Opera的Turbo</li>
</ol>
<p>再加上自己本身IP可以下一部分，应该够了。</p>
<p>btw：<a href="http://www.ai7.org/wp/html/537.html" target="_blank">不要成为下载狂</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ai7.org/wp/html/614.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

