<?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>阅微堂 &#187; IT技术</title>
	<atom:link href="http://yueweitang.org/blog/category/it/feed" rel="self" type="application/rss+xml" />
	<link>http://yueweitang.org/blog</link>
	<description>zhiqiang's personal blog</description>
	<lastBuildDate>Mon, 22 Jun 2009 15:32:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9-rare</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>添加Google Friend Connect模块</title>
		<link>http://yueweitang.org/blog/posts/use-google-friend-connect.html</link>
		<comments>http://yueweitang.org/blog/posts/use-google-friend-connect.html#comments</comments>
		<pubDate>Sat, 23 May 2009 04:29:27 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[IT技术]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Friend Connect]]></category>

		<guid isPermaLink="false">http://yueweitang.org/blog/?p=931</guid>
		<description><![CDATA[见网页的最下方，有一个工具栏之类的东西。使用GFC的网友赶快加入吧。
Google Friend Connect这玩意儿已经出来很久了，当初刚面世的时候很多blog都把加了它尝了新鲜，但是现在我看当初加入的网站很多都把它撤了下来，我猜多数人是嫌它会拖慢载入网页载入速度，而且本身又没啥用。
由于通过JS添加的，它拖慢网站速度是必然的。我这次把代码添加在网页内容的最后，最大限...]]></description>
			<content:encoded><![CDATA[<p>见网页的最下方，有一个工具栏之类的东西。使用GFC的网友赶快加入吧。</p>
<p><a href="http://www.google.com/friendconnect/">Google Friend Connect</a>这玩意儿已经出来很久了，当初刚面世的时候很多blog都把加了它尝了新鲜，但是现在我看当初加入的网站很多都把它撤了下来，我猜多数人是嫌它会拖慢载入网页载入速度，而且本身又没啥用。</p>
<p>由于通过JS添加的，它拖慢网站速度是必然的。我这次把代码添加在网页内容的最后，最大限度降低它的影响。</p>
<p>多数人在blog都只添加了member gadgets，我这次添加的是social bar，上面集成了一些gadgets，包括member gadgets，还有comment widget，所以功能上要强大一些，而且可以预想不久之后可能能够在这个bar上自定义一些widget，包括投票啥的，到时候作用就大了，所以先把它加上预先弄些人气。</p>
<div><h2>相关文章</h2><ul><li><a href="http://yueweitang.org/blog/posts/google-is-better-than-baidu-at-yueweitang.html">Google更懂阅微堂</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/local-mirror-of-picasaweb-using-api.html">用Web Picasa API搭建站内相册</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/googles-crazy-face-questions.html">Google的疯狂面试题</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/google-2007-summer-intern-recruitment-and-campus-recruitment-full-time.html">Google 2007暑期实习生招聘及Full Time校园招聘</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/gmail-calendar-google-and-several-small-skills.html">Gmail, Calendar, Google等几个小技巧</a><br/>...</li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://yueweitang.org/blog">阅微堂</a>, 2009. | <a href="http://yueweitang.org/blog/posts/use-google-friend-connect.html">&#38142;&#25509;</a> | <a href="http://yueweitang.org/blog/posts/use-google-friend-connect.html#comments">7 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://yueweitang.org/blog/posts/use-google-friend-connect.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>swap: matlab中交换两个变量</title>
		<link>http://yueweitang.org/blog/posts/swap-variables-in-matlab.html</link>
		<comments>http://yueweitang.org/blog/posts/swap-variables-in-matlab.html#comments</comments>
		<pubDate>Sun, 10 May 2009 11:30:04 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[IT技术]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[swap]]></category>
		<category><![CDATA[函数包]]></category>

		<guid isPermaLink="false">http://yueweitang.org/blog/?p=920</guid>
		<description><![CDATA[matlab程序效率低下，其中一个原因就是它的参数无法引用，每次都是传值。这不但导致效率问题，要实现某些功能，也需要一些特殊的手段。比如最简单的，如果交换两个变量的值，也就是在C/C++里的函数void swap(int&#38; a, int&#38; b)，在C/C++里实现很容易，但在matlab里，你会吗？
下面这个解决方法很巧妙，因为它的实现很有参考价值（来源，可以下载.m版本），附在下面欣赏一下...]]></description>
			<content:encoded><![CDATA[<p>matlab程序效率低下，其中一个原因就是它的参数无法引用，每次都是传值。这不但导致效率问题，要实现某些功能，也需要一些特殊的手段。比如最简单的，如果交换两个变量的值，也就是在C/C++里的函数void swap(int&amp; a, int&amp; b)，在C/C++里实现很容易，但在matlab里，你会吗？</p>
<p>下面这个解决方法很巧妙，因为它的实现很有参考价值（<a href="http://www.mathworks.com/matlabcentral/fileexchange/12239" target="_blank">来源</a>，可以下载.m版本），附在下面欣赏一下。</p>
<div id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:bffd3859-64db-474b-853f-7894dfd844c6" class="wlWriterEditableSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color:#FFFFFF;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;overflow: auto;"><span style="color: #0000FF;">function</span><span style="color: #000000;"> swap(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B)
</span><span style="color: #000000;">%</span><span style="color: #000000;"> SWAP </span><span style="color: #000000;">-</span><span style="color: #000000;"> swap contents of two variables
</span><span style="color: #000000;">%</span><span style="color: #000000;">   SWAP(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B) puts the contents of variable A into variable B and vice versa</span><span style="color: #000000;">.</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">   You can </span><span style="color: #0000FF;">use</span><span style="color: #000000;"> either </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> syntax </span><span style="color: #000000;">'</span><span style="color: #000000;">swap(A,B)</span><span style="color: #000000;">'</span><span style="color: #000000;"> or command syntax </span><span style="color: #000000;">'</span><span style="color: #000000;">swap A B</span><span style="color: #000000;">'</span><span style="color: #000000;">.</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">   Example</span><span style="color: #000000;">:</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">     A </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">:</span><span style="color: #000000;">4</span><span style="color: #000000;"> ; B </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">Hello</span><span style="color: #000000;">'</span><span style="color: #000000;"> ;
</span><span style="color: #000000;">%</span><span style="color: #000000;">     swap(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B) ;
</span><span style="color: #000000;">%</span><span style="color: #000000;">     A </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">-&gt;</span><span style="color: #000000;"> Hello
</span><span style="color: #000000;">%</span><span style="color: #000000;">     B </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">-&gt;</span><span style="color: #000000;"> </span><span style="color: #000000;">1</span><span style="color: #000000;">  </span><span style="color: #000000;">2</span><span style="color: #000000;">  </span><span style="color: #000000;">3</span><span style="color: #000000;">  </span><span style="color: #000000;">4</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">     SWAP(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B) is a convenient easy short</span><span style="color: #000000;">-</span><span style="color: #000000;">cut </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> other (series of)
</span><span style="color: #000000;">%</span><span style="color: #000000;">     commands that have the same effect</span><span style="color: #000000;">,</span><span style="color: #000000;"> e</span><span style="color: #000000;">.</span><span style="color: #000000;">g</span><span style="color: #000000;">.,</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">       temp</span><span style="color: #000000;">=</span><span style="color: #000000;">A ; A</span><span style="color: #000000;">=</span><span style="color: #000000;">B ; B</span><span style="color: #000000;">=</span><span style="color: #000000;">temp ; clear temp ;
</span><span style="color: #000000;">%</span><span style="color: #000000;">       [B</span><span style="color: #000000;">,</span><span style="color: #000000;">A] </span><span style="color: #000000;">=</span><span style="color: #000000;"> deal(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B) ;
</span><span style="color: #000000;">%</span><span style="color: #000000;">     The advantage over these two methods is that using SWAP one does not
</span><span style="color: #000000;">%</span><span style="color: #000000;">     have to </span><span style="color: #0000FF;">declare</span><span style="color: #000000;"> intermediate variables or worry about output</span><span style="color: #000000;">.</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">
</span><span style="color: #000000;">%</span><span style="color: #000000;">     See also DEAL

</span><span style="color: #000000;">%</span><span style="color: #000000;"> Tested in Matlab R13
</span><span style="color: #000000;">%</span><span style="color: #000000;"> version </span><span style="color: #000000;">1.1</span><span style="color: #000000;"> (sep </span><span style="color: #000000;">2006</span><span style="color: #000000;">)
</span><span style="color: #000000;">%</span><span style="color: #000000;"> (c) Jos van der Geest
</span><span style="color: #000000;">%</span><span style="color: #000000;"> email</span><span style="color: #000000;">:</span><span style="color: #000000;"> jos@jasen</span><span style="color: #000000;">.</span><span style="color: #000000;">nl

</span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #000000;">1.1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Use</span><span style="color: #000000;"> </span><span style="color: #000000;">&lt;</span><span style="color: #000000;">deal</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"> to swap (insight from Urs Schwarz)
</span><span style="color: #000000;">%</span><span style="color: #000000;">     Added command syntax functionality (suggested by Duane Hanselman)
</span><span style="color: #000000;">%</span><span style="color: #000000;">     Modified help section 

error(nargchk(</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">nargin)) ;

</span><span style="color: #0000FF;">if</span><span style="color: #000000;"> ischar(A) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> ischar(B)</span><span style="color: #000000;">,</span><span style="color: #000000;">
    </span><span style="color: #000000;">%</span><span style="color: #000000;"> command syntax</span><span style="color: #000000;">:</span><span style="color: #000000;"> SWAP VAR1 VAR2
    evalstr </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #008080;">sprintf</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">[%s,%s] = deal(%s,%s) ;</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">B</span><span style="color: #000000;">,</span><span style="color: #000000;">A</span><span style="color: #000000;">,</span><span style="color: #000000;">A</span><span style="color: #000000;">,</span><span style="color: #000000;">B) ;
</span><span style="color: #0000FF;">elseif</span><span style="color: #000000;"> </span><span style="color: #000000;">~</span><span style="color: #000000;">isempty(inputname(</span><span style="color: #000000;">1</span><span style="color: #000000;">)) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> </span><span style="color: #000000;">~</span><span style="color: #000000;">isempty(inputname(</span><span style="color: #000000;">2</span><span style="color: #000000;">))</span><span style="color: #000000;">,</span><span style="color: #000000;">
    </span><span style="color: #000000;">%</span><span style="color: #000000;"> </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> syntax</span><span style="color: #000000;">:</span><span style="color: #000000;"> SWAP(VAR1</span><span style="color: #000000;">,</span><span style="color: #000000;">VAR2)
    evalstr </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #008080;">sprintf</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">[%s,%s] = deal(%s,%s) ;</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">inputname(</span><span style="color: #000000;">2</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">inputname(</span><span style="color: #000000;">1</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">inputname(</span><span style="color: #000000;">1</span><span style="color: #000000;">)</span><span style="color: #000000;">,</span><span style="color: #000000;">inputname(</span><span style="color: #000000;">2</span><span style="color: #000000;">)) ;
</span><span style="color: #0000FF;">else</span><span style="color: #000000;">
    </span><span style="color: #000000;">%</span><span style="color: #000000;"> No valid command syntax</span><span style="color: #000000;">,</span><span style="color: #000000;"> force error
    evalstr </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">'</span><span style="color: #000000;">[:)</span><span style="color: #000000;">'</span><span style="color: #000000;"> ;
</span><span style="color: #008080;">end</span><span style="color: #000000;">
evalin(</span><span style="color: #000000;">'</span><span style="color: #000000;">caller</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">evalstr</span><span style="color: #000000;">,</span><span style="color: #000000;">'</span><span style="color: #000000;">error(</span><span style="color: #000000;">''</span><span style="color: #000000;">Requires two (string names of) existing variables</span><span style="color: #000000;">''</span><span style="color: #000000;">)</span><span style="color: #000000;">'</span><span style="color: #000000;">) ; </span></pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p>另外附matlab参数传递的方式（<a href="http://cssa.dartmouth.edu/forum/viewtopic.php?f=2&amp;t=1508" target="_blank">来源</a>）：</p>
<blockquote><p>matlab使用的是一种叫作&quot;copy-on-write&quot;的矩阵拷贝构造函数，假如你定义了函数</p>
<div id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:e5edc4a2-bd4b-43e4-80b3-fc2760276af7" class="wlWriterEditableSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<pre style="background-color:#FFFFFF;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;overflow: auto;"><span style="color: #0000FF;">function</span><span style="color: #000000;"> myfun(A</span><span style="color: #000000;">,</span><span style="color: #000000;">B)
</span><span style="color: #0000FF;">do</span><span style="color: #000000;"> something
</span></pre>
<p><!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --></div>
<p>并在主程序中调用了myfun(Amat,Bmat)，此时程序并不是把Amat/Bmat的内容全部复制给A和B，而是新建两个局部变量A和B，这两个变量的数据部分通过两个指针分别指向Amat和Bmat数据段进行共享数据，并把Amat/Bmat中的一个叫作refcnt(reference count)的变量加一。这样避免了拷贝大量数据的开销。</p>
<p>在myfun中，如果你只读取A中的数据，此时，使用A完全等价于使用Amat中的数据， 但如果你需要修改A中的数据，此时matlab先检查A(Amat)的refcnt，如果这个数大于1,则说明除了A,还有其他矩阵也同时共享这个数据，为了保证这次修改仅对于A有效，这时候matlab才会在内存中复制原来Amat的数据内容给A，然后修改A中的数据。此时A已与Amat分离。</p>
<p>大多数C++矩阵类都是通过refcnt的机制来进行复制的。</p>
<p>如果有大量参数传递，可以考虑写c mex/fortran mex，也可以使用global，还可以用evalin(WS,...)。</p></blockquote>
<div><h2>相关文章</h2><ul><li><a href="http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html">officedoc: matlab读取XLS文件的最佳函数</a><br/>...</li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://yueweitang.org/blog">阅微堂</a>, 2009. | <a href="http://yueweitang.org/blog/posts/swap-variables-in-matlab.html">&#38142;&#25509;</a> | <a href="http://yueweitang.org/blog/posts/swap-variables-in-matlab.html#comments">5 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://yueweitang.org/blog/posts/swap-variables-in-matlab.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>officedoc: matlab读取XLS文件的最佳函数</title>
		<link>http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html</link>
		<comments>http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html#comments</comments>
		<pubDate>Fri, 08 May 2009 10:56:27 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[IT技术]]></category>
		<category><![CDATA[matlab]]></category>
		<category><![CDATA[officedoc]]></category>
		<category><![CDATA[xls]]></category>
		<category><![CDATA[函数包]]></category>

		<guid isPermaLink="false">http://yueweitang.org/blog/?p=917</guid>
		<description><![CDATA[office的表格文件也就是xls文件本质上就是一个二维矩阵，二维矩阵是用来保存数据的最佳方式，所以在日常工作中，我们从其它地方获取的数据通常都被保存为xls格式，但处理数据时，我们却需要把xls文件的数据导入到matlab里进行处理。
如果你只处理一个文件并且只做一次的话，你可以手动来拷贝粘贴，这花费不了你太多时间。如果有很多xls文件，或者你的xls文件的内容可能...]]></description>
			<content:encoded><![CDATA[<p>office的表格文件也就是xls文件本质上就是一个二维矩阵，二维矩阵是用来保存数据的最佳方式，所以在日常工作中，我们从其它地方获取的数据通常都被保存为xls格式，但处理数据时，我们却需要把xls文件的数据导入到matlab里进行处理。</p>
<p>如果你只处理一个文件并且只做一次的话，你可以手动来拷贝粘贴，这花费不了你太多时间。如果有很多xls文件，或者你的xls文件的内容可能随时被修改，那么下面的方法可以派上用场。</p>
<p>matlab自身提供了大量的函数，包括读取office文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。</p>
<p>xlsread对于纯数据的xls文件支持很完美，也就是说当xls文件里的每个格子都是“数”时，xlsread会直接返回一个实数矩阵。但是通常我们拿到xls文件并不是这样，它的表头多半是描述性文字，它的数据也有可能是文字，有些位置的数据还有可能是缺失的。xlsread对这样的文件读取无能为力，或者说需要大量的时间去协调数据的位置信息。要是有一个函数，能够按照原有的顺序直接读取所有的单位格数据就好了。当然，这时候返回的矩阵就不能是一个数值矩阵了，它将会是一个cell矩阵，里面的每个元素类型可能不一样。</p>
<p>matlab本身并不提供这个功能，但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去<a href="http://www.ymasoftware.com/">OfficeDoc官方网站</a>上去下载，解压缩后放到工作路径上即可。使用方法可以查询help officedoc。officedoc是收费函数包，但有免费版本，而且其免费版本可以实现上面我们所说的效果（收费版本主要是可以用来修改office文件）。</p>
<p>btw，再罗嗦一句，officedoc完美地支持中文。</p>
<p>btw2，officedoc不支持新的office 2007的格式。</p>
<p>btw3，虽然官方函数xlsread不支持把xls文件读入cell矩阵，但xlswrite可以将cell矩阵写入xls文件。</p>
<div><h2>相关文章</h2><ul><li><a href="http://yueweitang.org/blog/posts/swap-variables-in-matlab.html">swap: matlab中交换两个变量</a><br/>...</li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://yueweitang.org/blog">阅微堂</a>, 2009. | <a href="http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html">&#38142;&#25509;</a> | <a href="http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html#comments">0&#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://yueweitang.org/blog/posts/officedoc-read-xls-in-matlab.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome和Gmail的User Scripts可以用了</title>
		<link>http://yueweitang.org/blog/posts/enable-userscripts-chrome-gmail.html</link>
		<comments>http://yueweitang.org/blog/posts/enable-userscripts-chrome-gmail.html#comments</comments>
		<pubDate>Fri, 24 Apr 2009 06:32:19 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[IT技术]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[user scripts]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/posts/enable-userscripts-chrome-gmail.html</guid>
		<description><![CDATA[虽然老早就说可以用这个玩意儿了，我之前一直没有成功，直到最近。
我主要使用下面这个脚本，用来移除Gmail浏览信件内容时的右侧广告栏。这样在我的1024分辨率的机器上，即使把Gmail Chats移到右侧栏时，也有主够的信件内容显示区域。

需要使用最新版的Chrome 2 beta。
下载脚本Gmail移除侧栏脚本
然后把脚本放入目录 C:\Documents and Settings\{username}\Local Settings\Application Data\Google\C...]]></description>
			<content:encoded><![CDATA[<p>虽然老早就说可以用这个玩意儿了，我<a href="http://zhiqiang.org/blog/posts/great-gmail.html" target="_blank">之前一直没有成功</a>，直到最近。</p>
<p>我主要使用下面这个脚本，用来移除Gmail浏览信件内容时的右侧广告栏。这样在我的1024分辨率的机器上，即使把Gmail Chats移到右侧栏时，也有主够的信件内容显示区域。</p>
<ol>
<li>需要使用<a href="http://www.google.com/intl/en/landing/chrome/beta/" target="_blank">最新版的Chrome 2 beta</a>。</li>
<li>下载脚本<a href="http://userstyles.org/styles/11768/" target="_blank">Gmail移除侧栏脚本</a></li>
<li>然后把脚本放入目录 C:\Documents and Settings\{username}\Local Settings\Application Data\Google\Chrome\User Data\Default\User Scripts\ 下。</li>
<li>添加到chrome快捷方式的属性的target最后，比如这样的&quot;C:\Documents and Settings\{username}\Local Settings\Application Data\Google\Chrome\Application\chrome.exe&quot; --enable-user-scripts。 </li>
</ol>
<p>效果：</p>
<p><img height="413" src="http://userstyles.org/style_screenshots/11768_after.png" width="640" /> </p>
<p>另外有个<a href="http://www.adsweep.org/" target="_blank">广告过滤脚本</a>也不错。</p>
<div><h2>相关文章</h2><ul><li><a href="http://yueweitang.org/blog/posts/great-gmail.html">伟大的GMAIL</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/guide-for-google-apps.html">Google Apps申请指南(CN域名亦可申请)</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/gmail-calendar-google-and-several-small-skills.html">Gmail, Calendar, Google等几个小技巧</a><br/>...</li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://yueweitang.org/blog">阅微堂</a>, 2009. | <a href="http://yueweitang.org/blog/posts/enable-userscripts-chrome-gmail.html">&#38142;&#25509;</a> | <a href="http://yueweitang.org/blog/posts/enable-userscripts-chrome-gmail.html#comments">8 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://yueweitang.org/blog/posts/enable-userscripts-chrome-gmail.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>我的SkyDrive帐号被封了</title>
		<link>http://yueweitang.org/blog/posts/my-skydrive-is-disabled.html</link>
		<comments>http://yueweitang.org/blog/posts/my-skydrive-is-disabled.html#comments</comments>
		<pubDate>Fri, 17 Apr 2009 06:36:20 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[IT技术]]></category>
		<category><![CDATA[SkyDrive]]></category>
		<category><![CDATA[下载]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/posts/my-skydrive-is-disabled.html</guid>
		<description><![CDATA[阅微堂以前一直使用Skydrive提供下载服务。但最近我的Skydrive帐号被封了，登录后显示如下信息： 
 
这样一来，以前提供的下载链接全部失效了～而且修改新链接都要到原文章里面去修改，非常之麻烦，而且还不保证有重复的。
看来要找一个成熟的管理下载文件的解决方案，使得以后遇到这种情况时可以迅速更改下载源。目前考虑的一个方案是使用插件WP-DownloadManager。
相关文...]]></description>
			<content:encoded><![CDATA[<p>阅微堂以前一直<a href="http://zhiqiang.org/blog/posts/skydrive-download.html" target="_blank">使用Skydrive提供下载服务</a>。但最近我的Skydrive帐号被封了，登录后显示如下信息： </p>
<p><a><u><font color="#ff0000"></font></u><img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="188" alt="image" src="http://zhiqiang.org/blog/wp-content/uploads/image-thumb.png" width="549" border="0" /></a> </p>
<p>这样一来，以前提供的下载链接全部失效了～而且修改新链接都要到原文章里面去修改，非常之麻烦，而且还不保证有重复的。</p>
<p>看来要找一个成熟的管理下载文件的解决方案，使得以后遇到这种情况时可以迅速更改下载源。目前考虑的一个方案是使用插件<a href="http://lesterchan.net/portfolio/programming/php/" target="_blank">WP-DownloadManager</a>。</p>
<div><h2>相关文章</h2><ul><li><a href="http://yueweitang.org/blog/posts/skydrive-download.html">改用SkyDrive提供下载</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/currency-war-pdf-version-of-download.html">货币战争（附PDF和TXT版下载）</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/download-ender-game-series-pdf-ebook.html">《安德的游戏》PDF电子书下载</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/free-door-phproxy.html">phproxy &amp; free door (附下载)</a><br/>...</li><li><a href="http://yueweitang.org/blog/posts/xinsong-download-ebook.html">最爱新宋（附PDF电子书下载）</a><br/>...</li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://yueweitang.org/blog">阅微堂</a>, 2009. | <a href="http://yueweitang.org/blog/posts/my-skydrive-is-disabled.html">&#38142;&#25509;</a> | <a href="http://yueweitang.org/blog/posts/my-skydrive-is-disabled.html#comments">15 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://yueweitang.org/blog/posts/my-skydrive-is-disabled.html/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
