<?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>JayXie&#039;s blog</title>
	<atom:link href="http://jayxie.com/feed" rel="self" type="application/rss+xml" />
	<link>http://jayxie.com</link>
	<description>Around emacs, linux, etc.</description>
	<lastBuildDate>Sat, 15 May 2010 13:37:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Maemo的开发门槛还是有点高</title>
		<link>http://jayxie.com/2010/05/15/maemo%e7%9a%84%e5%bc%80%e5%8f%91%e9%97%a8%e6%a7%9b%e8%bf%98%e6%98%af%e6%9c%89%e7%82%b9%e9%ab%98.html</link>
		<comments>http://jayxie.com/2010/05/15/maemo%e7%9a%84%e5%bc%80%e5%8f%91%e9%97%a8%e6%a7%9b%e8%bf%98%e6%98%af%e6%9c%89%e7%82%b9%e9%ab%98.html#comments</comments>
		<pubDate>Sat, 15 May 2010 13:36:41 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[MobileDev]]></category>

		<guid isPermaLink="false">http://jayxie.com/2010/05/15/maemo%e7%9a%84%e5%bc%80%e5%8f%91%e9%97%a8%e6%a7%9b%e8%bf%98%e6%98%af%e6%9c%89%e7%82%b9%e9%ab%98.html</guid>
		<description><![CDATA[
Maemo 5 的sdk是我目前装过的最费劲的一个手机开发sdk，先不说步骤要分好几步，单是去nokia网站上接受一个什么条款然后装上nokia-binaries这个我就一直到很后来很后来才发现不装跑不了能在Xephyr里显示的运行环境，不过话说虽然我装上了，但我现在还是没跑起来……
不过开始看Qt on maemo后，装了个madde + qt creator 2.0 beta，手机上装个mad-developer，wifi连接，好用多了。但缺点也有啊，就是比如QtMobility，想整到madde里就麻烦了些，我现在的做法是先在scratchbox里装上libqtm-dev，然后把一堆so和include拷到madde里，还没试验是否真的可用。
回过头来再看看android的界面开发，不管是gtk还是qt，不管是maemo还是symbian，不管在界面开发上还是整个程序的开发上都要更费事些，所以这门槛就高了许多，开发成本也就跟着上来了，开发人员们也就懒得为你折腾了。
那么放弃gtk放弃qt放弃html+css来一套全新的就像android那样做？这也不见得是件好事，因为你迫使大量有可能进入这个领域的开发人员放弃自己以前熟悉的来适应你来学习一套全新的开发方式。对于资深一些的开发人员来说，这是一个很不爽的事情。
想做平台，你就得伺候好两类人，一类是用户，他们需要漂亮的界面和好用的程序；一类是开发者，他们要简单和熟悉的开发方式和强大的创造空间。

]]></description>
			<content:encoded><![CDATA[<p>Maemo 5 的sdk是我目前装过的最费劲的一个手机开发sdk，先不说步骤要分好几步，单是去nokia网站上接受一个什么条款然后装上nokia-binaries这个我就一直到很后来很后来才发现不装跑不了能在Xephyr里显示的运行环境，不过话说虽然我装上了，但我现在还是没跑起来……</p>
<p>不过开始看Qt on maemo后，装了个madde + qt creator 2.0 beta，手机上装个mad-developer，wifi连接，好用多了。但缺点也有啊，就是比如QtMobility，想整到madde里就麻烦了些，我现在的做法是先在scratchbox里装上libqtm-dev，然后把一堆so和include拷到madde里，还没试验是否真的可用。</p>
<p>回过头来再看看android的界面开发，不管是gtk还是qt，不管是maemo还是symbian，不管在界面开发上还是整个程序的开发上都要更费事些，所以这门槛就高了许多，开发成本也就跟着上来了，开发人员们也就懒得为你折腾了。</p>
<p>那么放弃gtk放弃qt放弃html+css来一套全新的就像android那样做？这也不见得是件好事，因为你迫使大量有可能进入这个领域的开发人员放弃自己以前熟悉的来适应你来学习一套全新的开发方式。对于资深一些的开发人员来说，这是一个很不爽的事情。</p>
<p>想做平台，你就得伺候好两类人，一类是用户，他们需要漂亮的界面和好用的程序；一类是开发者，他们要简单和熟悉的开发方式和强大的创造空间。</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/05/15/maemo%e7%9a%84%e5%bc%80%e5%8f%91%e9%97%a8%e6%a7%9b%e8%bf%98%e6%98%af%e6%9c%89%e7%82%b9%e9%ab%98.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>第一个maemo开发经历</title>
		<link>http://jayxie.com/2010/05/07/%e7%ac%ac%e4%b8%80%e4%b8%aamaemo%e5%bc%80%e5%8f%91%e7%bb%8f%e5%8e%86.html</link>
		<comments>http://jayxie.com/2010/05/07/%e7%ac%ac%e4%b8%80%e4%b8%aamaemo%e5%bc%80%e5%8f%91%e7%bb%8f%e5%8e%86.html#comments</comments>
		<pubDate>Fri, 07 May 2010 14:34:34 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[MobileDev]]></category>

		<guid isPermaLink="false">http://jayxie.com/2010/05/07/%e7%ac%ac%e4%b8%80%e4%b8%aamaemo%e5%bc%80%e5%8f%91%e7%bb%8f%e5%8e%86.html</guid>
		<description><![CDATA[
今天给erminig提了个patch 加了个定时同步功能 不得不说 小场景下python很好用 改界面都不用任何多余的操作 改完保存就能测试 也没装sdk 直接在手机上vi python做界面 c做service 似乎也是一种模式

]]></description>
			<content:encoded><![CDATA[<p>今天给erminig提了个patch 加了个定时同步功能 不得不说 小场景下python很好用 改界面都不用任何多余的操作 改完保存就能测试 也没装sdk 直接在手机上vi python做界面 c做service 似乎也是一种模式</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/05/07/%e7%ac%ac%e4%b8%80%e4%b8%aamaemo%e5%bc%80%e5%8f%91%e7%bb%8f%e5%8e%86.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>列举网页提速的几个原则和方法</title>
		<link>http://jayxie.com/2010/04/14/%e5%88%97%e4%b8%be%e7%bd%91%e9%a1%b5%e6%8f%90%e9%80%9f%e7%9a%84%e5%87%a0%e4%b8%aa%e5%8e%9f%e5%88%99%e5%92%8c%e6%96%b9%e6%b3%95.html</link>
		<comments>http://jayxie.com/2010/04/14/%e5%88%97%e4%b8%be%e7%bd%91%e9%a1%b5%e6%8f%90%e9%80%9f%e7%9a%84%e5%87%a0%e4%b8%aa%e5%8e%9f%e5%88%99%e5%92%8c%e6%96%b9%e6%b3%95.html#comments</comments>
		<pubDate>Wed, 14 Apr 2010 15:15:55 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[WebTech]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=334</guid>
		<description><![CDATA[
这两天在帮ld的discuz站做优化，不得不说，discuz在这方面还很不够，列一些原则和方法出来，供参考
提速通常从两方面入手
传输提速

下载提速

减少建立链接的次数

keep-alive 旨在减少多次握手带来的开销 此外 404这样的错误会打断keep-alive 恐怕没多少人注意过这个问题吧

减少文件数 js,css的合并 多个图片合成一张 旨在减少http header

合理使用expire



减少数据量

gzip

混淆精减js 精减css html 要知道 一个两千行的html 光是把换行和每行头的缩进去掉就至少是两三k!



减少服务端处理时间

利用服务端缓存减少服务端io时间 比如squid memcachd





上传提速

把资源类文件放在cookie free的域名上，减少不必要的上行数据




显示提速

减少dom层次

减少页面中间的js


discuz现在最让我头疼的就是资源图片太过零碎和dom嵌套层次太深

]]></description>
			<content:encoded><![CDATA[<p>这两天在帮ld的discuz站做优化，不得不说，discuz在这方面还很不够，列一些原则和方法出来，供参考</p>
<p>提速通常从两方面入手</p>
<h1>传输提速</h1>
<ul>
<li>下载提速
<ul>
<li>减少建立链接的次数
<ul>
<li>keep-alive 旨在减少多次握手带来的开销 此外 404这样的错误会打断keep-alive 恐怕没多少人注意过这个问题吧
</li>
<li>减少文件数 js,css的合并 多个图片合成一张 旨在减少http header
</li>
<li>合理使用expire
</li>
</ul>
</li>
<li>减少数据量
<ul>
<li>gzip
</li>
<li>混淆精减js 精减css html 要知道 一个两千行的html 光是把换行和每行头的缩进去掉就至少是两三k!
</li>
</ul>
</li>
<li>减少服务端处理时间
<ul>
<li>利用服务端缓存减少服务端io时间 比如squid memcachd
</li>
</ul>
</li>
</ul>
</li>
<li>上传提速
<ul>
<li>把资源类文件放在cookie free的域名上，减少不必要的上行数据
</li>
</ul>
</li>
</ul>
<h1>显示提速</h1>
<ul>
<li>减少dom层次
</li>
<li>减少页面中间的js
</li>
</ul>
<p>discuz现在最让我头疼的就是资源图片太过零碎和dom嵌套层次太深</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/04/14/%e5%88%97%e4%b8%be%e7%bd%91%e9%a1%b5%e6%8f%90%e9%80%9f%e7%9a%84%e5%87%a0%e4%b8%aa%e5%8e%9f%e5%88%99%e5%92%8c%e6%96%b9%e6%b3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>理想中的“ipad”</title>
		<link>http://jayxie.com/2010/04/03/%e7%90%86%e6%83%b3%e4%b8%ad%e7%9a%84%e2%80%9cipad%e2%80%9d.html</link>
		<comments>http://jayxie.com/2010/04/03/%e7%90%86%e6%83%b3%e4%b8%ad%e7%9a%84%e2%80%9cipad%e2%80%9d.html#comments</comments>
		<pubDate>Sat, 03 Apr 2010 01:30:31 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[自言自语]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=287</guid>
		<description><![CDATA[
令天仔细看了下ipad的相关文章，发现和我想要的还是有点差距，我想要的是这么一个东西：

便携 这个满足了

待机长 这个也满足了 arm似乎已经成为低功耗的同义词了 而目前用了arm或者待机能和ipad一拼的只有xda了 大屏？平板？似乎都还没出现哦

联网 只满足了wifi和3g 像我这种有线控只要在桌子旁能用有线就坚决不用无线的或许有一天能有合适的外设来满足吧

实体键盘 对于我来说这就是高效工作的代名词 打字要快 大量的一键到位的组合快捷键是提高工作效率的唯一方式 好在这个也满足了

emacs 这点最重要 也正是我放弃ipad的原因 至少目前没有任何ipad甚至itouch上能跑emacs的消息 我需要的是一个能让我随时随地工作 工作之余才是娱乐的工具 而不是一个随时随地娱乐 娱乐之余才是工作而且不是高效工作的这么一个玩具


于是，我只能继续等待，嗯，不对，我还有一个选择，就是放下手机，起床，打开我那近3公斤的笔记本：)

]]></description>
			<content:encoded><![CDATA[<p>令天仔细看了下ipad的相关文章，发现和我想要的还是有点差距，我想要的是这么一个东西：</p>
<ul>
<li>便携 这个满足了
</li>
<li>待机长 这个也满足了 arm似乎已经成为低功耗的同义词了 而目前用了arm或者待机能和ipad一拼的只有xda了 大屏？平板？似乎都还没出现哦
</li>
<li>联网 只满足了wifi和3g 像我这种有线控只要在桌子旁能用有线就坚决不用无线的或许有一天能有合适的外设来满足吧
</li>
<li>实体键盘 对于我来说这就是高效工作的代名词 打字要快 大量的一键到位的组合快捷键是提高工作效率的唯一方式 好在这个也满足了
</li>
<li>emacs 这点最重要 也正是我放弃ipad的原因 至少目前没有任何ipad甚至itouch上能跑emacs的消息 我需要的是一个能让我随时随地工作 工作之余才是娱乐的工具 而不是一个随时随地娱乐 娱乐之余才是工作而且不是高效工作的这么一个玩具
</li>
</ul>
<p>于是，我只能继续等待，嗯，不对，我还有一个选择，就是放下手机，起床，打开我那近3公斤的笔记本：)</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/04/03/%e7%90%86%e6%83%b3%e4%b8%ad%e7%9a%84%e2%80%9cipad%e2%80%9d.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>以正合，以奇胜</title>
		<link>http://jayxie.com/2010/03/28/%e4%bb%a5%e6%ad%a3%e5%90%88%ef%bc%8c%e4%bb%a5%e5%a5%87%e8%83%9c.html</link>
		<comments>http://jayxie.com/2010/03/28/%e4%bb%a5%e6%ad%a3%e5%90%88%ef%bc%8c%e4%bb%a5%e5%a5%87%e8%83%9c.html#comments</comments>
		<pubDate>Sun, 28 Mar 2010 05:25:00 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[工作手札]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=284</guid>
		<description><![CDATA[
两个产品的交锋比作兵事一点也不过分。蓝海红海长尾，都是得好的诠释。十则围之，五则战之，不若则避之。这些说的是要不要打，在哪和谁打，而怎么打呢？这就是文题所说，以正合，以奇胜。
何谓正合，当头炮马来跳，这就是正合。好比大家都来做输入法，你没拼音，没词组，出词慢，词库少，这能行吗？不行。这就是以正合。当然，你若一心一意去做五笔，这是另外一个战场，暂且不提。把核心的东西做好，做好了你能围别人，做不好那就等着被围吧。这就是以正合。说到这，潜台词就出来了，正合完了，就该是奇胜了。
何谓奇胜，火烧连营，暗度陈仓，这些都是奇胜。再拿输入法来说，前有紫光后有微软，左有智能ABC右有拼音加加，搜狗怎么杀出血路的？互联网词库，皮肤，这就是奇胜。你有别人没有的，同时又是用户喜欢的，这就是奇胜。
然而，往往我们只记住了奇胜，却忘了背后的正合。远的不说，为何会有长征，为何会有星火燎原，图的是正合，只打对的不打贵的，打的起贵咱再打贵的。同样咱们做产品也不能一心想着出奇招，一招定天下。不去练内功，不去练基本招，别说定天下，来个人一招你都接不下。做事业也同样是这样，不能只想学别人一夜暴富，忘了学人家那么多年的苦功。
而如果只正合呢？那就是官渡赤壁的翻版，只不过你翻版的是败方。所以我们做产品，正合之余必需奇胜，两手抓两手都要硬才行。

]]></description>
			<content:encoded><![CDATA[<p>两个产品的交锋比作兵事一点也不过分。蓝海红海长尾，都是得好的诠释。十则围之，五则战之，不若则避之。这些说的是要不要打，在哪和谁打，而怎么打呢？这就是文题所说，以正合，以奇胜。</p>
<p>何谓正合，当头炮马来跳，这就是正合。好比大家都来做输入法，你没拼音，没词组，出词慢，词库少，这能行吗？不行。这就是以正合。当然，你若一心一意去做五笔，这是另外一个战场，暂且不提。把核心的东西做好，做好了你能围别人，做不好那就等着被围吧。这就是以正合。说到这，潜台词就出来了，正合完了，就该是奇胜了。</p>
<p>何谓奇胜，火烧连营，暗度陈仓，这些都是奇胜。再拿输入法来说，前有紫光后有微软，左有智能ABC右有拼音加加，搜狗怎么杀出血路的？互联网词库，皮肤，这就是奇胜。你有别人没有的，同时又是用户喜欢的，这就是奇胜。</p>
<p>然而，往往我们只记住了奇胜，却忘了背后的正合。远的不说，为何会有长征，为何会有星火燎原，图的是正合，只打对的不打贵的，打的起贵咱再打贵的。同样咱们做产品也不能一心想着出奇招，一招定天下。不去练内功，不去练基本招，别说定天下，来个人一招你都接不下。做事业也同样是这样，不能只想学别人一夜暴富，忘了学人家那么多年的苦功。</p>
<p>而如果只正合呢？那就是官渡赤壁的翻版，只不过你翻版的是败方。所以我们做产品，正合之余必需奇胜，两手抓两手都要硬才行。</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/03/28/%e4%bb%a5%e6%ad%a3%e5%90%88%ef%bc%8c%e4%bb%a5%e5%a5%87%e8%83%9c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转战移动互联网</title>
		<link>http://jayxie.com/2010/02/24/%e8%bd%ac%e6%88%98%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91.html</link>
		<comments>http://jayxie.com/2010/02/24/%e8%bd%ac%e6%88%98%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91.html#comments</comments>
		<pubDate>Wed, 24 Feb 2010 06:08:25 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=253</guid>
		<description><![CDATA[
随着android平台的成熟，智能手机混战再起。且不论3G的渗透速度，移动互联网的崛起是必然的趋势。趋势就不多废话了，总之，已经投身到手机和互联网应用的战场了，这里只单纯谈谈这段时间对几大移动平台的体会。

Symbian，老牌，市场占有率足够高足够傻瓜培养了足够的用户习惯，开发和GUI设计门槛相对而言有点高。

IPhone，这个系统没涉足没法评论，只单纯的从其一贯的作风来看，IPhone和Android/WM最终会和MacOS和Linux/Windows的关系靠近。

Android，火，真的很火，看各大手机厂商的动作就知道了，平台的理念有很多优秀之处

WM? 我宁愿忘记这个系统，UI比起上述几个系统来说要糟糕的多，开发平台多但多的不精，如果某种东西例如silverlight在WM上能够成熟到Dalvik在android上的程度的话。

MTK?BB? 等下，我才刚入门呢。



闲话搁下不提，最近在研究Android，写下对它的一些看法。
Android基于linux，这个没有意外，但是Android抛开了xwindow，也没有试图采用某种流行的GUI解决方案，而是把一个叫Dalvik的东西推上了舞台。
Dalvik是个虚拟机？没错，但它不仅仅是个虚拟机，Google在Dalvik里加入了手机需要的API，加入了进程管理，更关键的是，它把GUI彻底的做进了Dalvik。所以，完全可以这样认为，Android就两层：Linux，Dalvik。
那么，想做界面开发？不好意思，你只有JAVA可选。对广大的其他语言开发者来讲，这是个坏消息，但对Android来说，这却是个好消息。开发语言的单纯性会让基础平台的积累迅速且有效，开发将会更简单更快捷，同样，应用的丰富也会更迅速。
唔，如果Dalvik里的GUI接口是能够从C里调用的话，QT/GTK的移植应该并不是难事，届时，广大其他语言开发者就真的开心了。

]]></description>
			<content:encoded><![CDATA[<p>随着android平台的成熟，智能手机混战再起。且不论3G的渗透速度，移动互联网的崛起是必然的趋势。趋势就不多废话了，总之，已经投身到手机和互联网应用的战场了，这里只单纯谈谈这段时间对几大移动平台的体会。</p>
<ul>
<li>Symbian，老牌，市场占有率足够高足够傻瓜培养了足够的用户习惯，开发和GUI设计门槛相对而言有点高。
</li>
<li>IPhone，这个系统没涉足没法评论，只单纯的从其一贯的作风来看，IPhone和Android/WM最终会和MacOS和Linux/Windows的关系靠近。
</li>
<li>Android，火，真的很火，看各大手机厂商的动作就知道了，平台的理念有很多优秀之处
</li>
<li>WM? 我宁愿忘记这个系统，UI比起上述几个系统来说要糟糕的多，开发平台多但多的不精，如果某种东西例如silverlight在WM上能够成熟到Dalvik在android上的程度的话。
</li>
<li>MTK?BB? 等下，我才刚入门呢。
</li>
</ul>
<hr/>
<p>闲话搁下不提，最近在研究Android，写下对它的一些看法。</p>
<p>Android基于linux，这个没有意外，但是Android抛开了xwindow，也没有试图采用某种流行的GUI解决方案，而是把一个叫Dalvik的东西推上了舞台。</p>
<p>Dalvik是个虚拟机？没错，但它不仅仅是个虚拟机，Google在Dalvik里加入了手机需要的API，加入了进程管理，更关键的是，它把GUI彻底的做进了Dalvik。所以，完全可以这样认为，Android就两层：Linux，Dalvik。</p>
<p>那么，想做界面开发？不好意思，你只有JAVA可选。对广大的其他语言开发者来讲，这是个坏消息，但对Android来说，这却是个好消息。开发语言的单纯性会让基础平台的积累迅速且有效，开发将会更简单更快捷，同样，应用的丰富也会更迅速。</p>
<p>唔，如果Dalvik里的GUI接口是能够从C里调用的话，QT/GTK的移植应该并不是难事，届时，广大其他语言开发者就真的开心了。</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2010/02/24/%e8%bd%ac%e6%88%98%e7%a7%bb%e5%8a%a8%e4%ba%92%e8%81%94%e7%bd%91.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>export org-mode file in command line</title>
		<link>http://jayxie.com/2009/01/19/export-org-mode-file-in-command-line.html</link>
		<comments>http://jayxie.com/2009/01/19/export-org-mode-file-in-command-line.html#comments</comments>
		<pubDate>Mon, 19 Jan 2009 05:48:07 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[Emacs]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=199</guid>
		<description><![CDATA[
see <a href="http://thread.gmane.org/gmane.emacs.orgmode/7675">http://thread.gmane.org/gmane.emacs.orgmode/7675</a> for more informations
以下是我用来export单个文件的命令
生成html

emacs --batch --eval '(progn (setq user-full-name &#34;Your Name&#34;)(setq user-mail-address &#34;Your Mail Address&#34;)(find-file &#34;/path/to/file.org&#34;)(org-export-as-html 3))'

生成txt

emacs --batch --eval '(progn (setq user-full-name &#34;Your Name&#34;)(setq user-mail-address &#34;Your Mail Address&#34;)(find-file &#34;/path/to/file.org&#34;)(org-export-as-ascii 3))'


]]></description>
			<content:encoded><![CDATA[<p>see <a href="http://thread.gmane.org/gmane.emacs.orgmode/7675">http://thread.gmane.org/gmane.emacs.orgmode/7675</a> for more informations</p>
<p>以下是我用来export单个文件的命令</p>
<p>生成html</p>
<pre class="brush: bash;">
emacs --batch --eval '(progn (setq user-full-name &quot;Your Name&quot;)(setq user-mail-address &quot;Your Mail Address&quot;)(find-file &quot;/path/to/file.org&quot;)(org-export-as-html 3))'
</pre>
<p>生成txt</p>
<pre class="brush: bash;">
emacs --batch --eval '(progn (setq user-full-name &quot;Your Name&quot;)(setq user-mail-address &quot;Your Mail Address&quot;)(find-file &quot;/path/to/file.org&quot;)(org-export-as-ascii 3))'
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2009/01/19/export-org-mode-file-in-command-line.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下通过USB用WM6手机的GPRS上网</title>
		<link>http://jayxie.com/2009/01/18/linux%e4%b8%8b%e9%80%9a%e8%bf%87usb%e7%94%a8wm6%e6%89%8b%e6%9c%ba%e7%9a%84gprs%e4%b8%8a%e7%bd%91.html</link>
		<comments>http://jayxie.com/2009/01/18/linux%e4%b8%8b%e9%80%9a%e8%bf%87usb%e7%94%a8wm6%e6%89%8b%e6%9c%ba%e7%9a%84gprs%e4%b8%8a%e7%bd%91.html#comments</comments>
		<pubDate>Sun, 18 Jan 2009 14:59:45 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=196</guid>
		<description><![CDATA[
From <a href="http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux">http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux</a>
但并不是一定得用Hermes这个机器，我用的是Dopod D600，所谓的GENE，按照文中所述编译安装了usb-rndis-lite后，在手机上用Internet共享拨号连接后，NetworkManager就找到了一个新的网络设备，这时候就连接成功了

]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux">http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux</a></p>
<p>但并不是一定得用Hermes这个机器，我用的是Dopod D600，所谓的GENE，按照文中所述编译安装了usb-rndis-lite后，在手机上用Internet共享拨号连接后，NetworkManager就找到了一个新的网络设备，这时候就连接成功了</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2009/01/18/linux%e4%b8%8b%e9%80%9a%e8%bf%87usb%e7%94%a8wm6%e6%89%8b%e6%9c%ba%e7%9a%84gprs%e4%b8%8a%e7%bd%91.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>a google chrome like color schema for sawfish using mxflat theme</title>
		<link>http://jayxie.com/2009/01/06/a-google-chrome-like-color-schem-for-sawfish-using-mx-flat-theme.html</link>
		<comments>http://jayxie.com/2009/01/06/a-google-chrome-like-color-schem-for-sawfish-using-mx-flat-theme.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 02:39:46 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=176</guid>
		<description><![CDATA[
mxflat theme can be found in sawfish-themes package in both ubuntu and debian.
I made a google chrome like color schema using this theme with settings below.
This is the sample image, the browser is swiftfox with chromifox theme.

Also you can make a shadow~


Here is the auto-generated configuration with sawfish-ui.

(custom-set-typed-variable (quote mxflat:fake-shadow) (quote ()) (quote boolean))
(custom-set-typed-variable (quote <a href="http://jayxie.com/2009/01/06/a-google-chrome-like-color-schem-for-sawfish-using-mx-flat-theme.html" class="more-link">More &#62;</a>
]]></description>
			<content:encoded><![CDATA[<p>mxflat theme can be found in sawfish-themes package in both ubuntu and debian.</p>
<p>I made a google chrome like color schema using this theme with settings below.</p>
<p>This is the sample image, the browser is swiftfox with chromifox theme.<br />
<a href="http://jayxie.com/wp-content/uploads/2009/01/sawfish-mxflat-chrome.png"><img src="http://jayxie.com/wp-content/uploads/2009/01/sawfish-mxflat-chrome-300x163.png" alt="sawfish-mxflat-chrome" title="sawfish-mxflat-chrome" width="300" height="163" class="alignnone size-medium wp-image-177" /></a></p>
<p>Also you can make a shadow~<br />
<a href="http://jayxie.com/wp-content/uploads/2009/01/sawfish-mxflat-chrome-shadow.png"><img src="http://jayxie.com/wp-content/uploads/2009/01/sawfish-mxflat-chrome-shadow-300x197.png" alt="sawfish-mxflat-chrome-shadow" title="sawfish-mxflat-chrome-shadow" width="300" height="197" class="alignnone size-medium wp-image-178" /></a></p>
<p><span id="more-176"></span></p>
<p>Here is the auto-generated configuration with sawfish-ui.</p>
<pre class="brush: cl;">
(custom-set-typed-variable (quote mxflat:fake-shadow) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:shadow-width) (quote 4) (quote (number 0 100)))
(custom-set-typed-variable (quote mxflat:shadow-light-distance) (quote 3) (quote (number 1 100)))
(custom-set-typed-variable (quote default-frame-style) (quote mxflat) (quote frame-style))
(custom-set-typed-variable (quote mxflat:show-corners) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:border-width-unmaximized) (quote 1) (quote (number 0 1000)))
(custom-set-typed-variable (quote mxflat:border-width-maximized) (quote 1) (quote (number 0 1000)))
(custom-set-typed-variable (quote mxflat:border-color-unfocused) (quote &quot;#587f84dcba8b&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:border-color-focused) (quote &quot;#42427c7bc2c1&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:border-offset) (quote 0) (quote (number -1000 1000)))
(custom-set-typed-variable (quote mxflat:titlebar-gradient-bgcolors) (quote (&quot;#605fa09ff0ef&quot; &quot;#3ac276ebbf1a&quot;)) (quote (list color &quot;titlebar background colors&quot;)))
(custom-set-typed-variable (quote mxflat:title-gradient) (quote t) (quote boolean))
(custom-set-typed-variable (quote mxflat:titlebar-bgcolor-unfocused) (quote &quot;#605fa09ff0ef&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:titlebar-bgcolor-focused) (quote &quot;#49488f8fe3e2&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:text-color-unfocused) (quote &quot;#ffffffffffff&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:customize-border-colors) (quote t) (quote boolean))
(custom-set-typed-variable (quote mxflat:text-color-focused) (quote &quot;#ffffffffffff&quot;) (quote color))
(custom-set-typed-variable (quote mxflat:custom-border-focused) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:keep-borders-when-shaded) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:border-width-titlebar-contents) (quote 0) (quote (number 0 1000)))
(custom-set-typed-variable (quote mxflat:decoration-mode) (quote normal) (quote symbol))
(custom-set-typed-variable (quote mxflat:title-font) (quote (&quot;Pango&quot; . &quot;Tahoma 8&quot;)) (quote font))
(custom-set-typed-variable (quote mxflat:title-height) (quote 14) (quote (number 9 1000)))
(custom-set-typed-variable (quote mxflat:color-brightness) (quote 90) (quote (number 0 100)))
(custom-set-typed-variable (quote mxflat:color-hue) (quote 0) (quote (number 0 360)))
(custom-set-typed-variable (quote mxflat:titlebar-gradient-bgcolors-reverse) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:gradient-scale) (quote 3) (quote (number 1 20)))
(custom-set-typed-variable (quote mxflat:titlebar-gradient-color-mode) (quote custom) (quote symbol))
(custom-set-typed-variable (quote mxflat:customize-title-position) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:custom-title) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:customize-extended-text-colors) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:gradient-direction) (quote vertical) (quote symbol))
(custom-set-typed-variable (quote mxflat:custom-button-colors) (quote ()) (quote boolean))
(custom-set-typed-variable (quote mxflat:fake-shadow-focused-only) (quote ()) (quote boolean))
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2009/01/06/a-google-chrome-like-color-schem-for-sawfish-using-mx-flat-theme.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>segment fault when dump-emacs</title>
		<link>http://jayxie.com/2008/12/01/segment-fault-when-dump-emacs.html</link>
		<comments>http://jayxie.com/2008/12/01/segment-fault-when-dump-emacs.html#comments</comments>
		<pubDate>Mon, 01 Dec 2008 04:15:38 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[Emacs]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=173</guid>
		<description><![CDATA[
dump-emacs 是个好东西，不过最近老是dump失败
gdb了一下 发现挂在unexec那
google之至<a href="http://bugs.gentoo.org/show_bug.cgi?id=221281#c6">http://bugs.gentoo.org/show_bug.cgi?id=221281#c6</a>

The breakage is caused by the &#8220;randomize brk()&#8221; patch.
See the LKML, <a href="http://lkml.org/lkml/2007/10/23/435:">http://lkml.org/lkml/2007/10/23/435:</a>

This is known to break older versions of some emacs variants, whose
dumper code assumed that the last variable declared in the program is
equal to the start of the dynamically allocated memory region.
The corresponding kernel parameter is accessible via
/proc/sys/kernel/randomize_va_space, the breakage occurs if <a href="http://jayxie.com/2008/12/01/segment-fault-when-dump-emacs.html" class="more-link">More &#62;</a>
]]></description>
			<content:encoded><![CDATA[<p>dump-emacs 是个好东西，不过最近老是dump失败<br />
gdb了一下 发现挂在unexec那<br />
google之至<a href="http://bugs.gentoo.org/show_bug.cgi?id=221281#c6">http://bugs.gentoo.org/show_bug.cgi?id=221281#c6</a></p>
<blockquote><p>
The breakage is caused by the &#8220;randomize brk()&#8221; patch.<br />
See the LKML, <a href="http://lkml.org/lkml/2007/10/23/435">http://lkml.org/lkml/2007/10/23/435</a>:</p>
<blockquote><p>
This is known to break older versions of some emacs variants, whose<br />
dumper code assumed that the last variable declared in the program is<br />
equal to the start of the dynamically allocated memory region.</p></blockquote>
<p>The corresponding kernel parameter is accessible via<br />
/proc/sys/kernel/randomize_va_space, the breakage occurs if its value is 2.
</p></blockquote>
<p>结论为执行下sysctl -w kernel.randomize_va_space=0再dump即可</p>
<p>shell里这么写</p>
<pre class="brush: bash;">
#!/bin/bash
MYEMACS=/home/x/bin/emacs-dump
EMACS=/home/x/bin/emacs
cat &gt; /tmp/dump-emacs.el &lt;&lt;EOF
(load &quot;/home/x/.emacs&quot;)
(dump-emacs &quot;$MYEMACS&quot; &quot;$EMACS&quot;)
EOF

OLD_VASPACE=`sysctl kernel.randomize_va_space|tr -d &quot; &quot;`
sudo sysctl -w kernel.randomize_va_space=0
$EMACS --batch --load /tmp/dump-emacs.el
sudo sysctl -w &quot;$OLD_VASPACE&quot;
</pre>
<p>即可</p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2008/12/01/segment-fault-when-dump-emacs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用tcpreplay对网络程序进行压力测试</title>
		<link>http://jayxie.com/2008/10/16/use-tcpreplay-on-benchmarking.html</link>
		<comments>http://jayxie.com/2008/10/16/use-tcpreplay-on-benchmarking.html#comments</comments>
		<pubDate>Thu, 16 Oct 2008 08:52:54 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=161</guid>
		<description><![CDATA[
以前tcpdump用的比较多，主要用在诊断的时候。tcpreplay则是把tcpdump记录下来的包原样发回去
这样tcpreplay就可以用来以极快的速度复现记录下来的数据从而实现压力测试，好处在于数据比较真实

先是在实际环境中用tcpdump记录数据用于复现
例如记录发往某ip某端口的报文一百万个

tcpdump 'dst aa.aa.aa.aa and dst port xxx' -c 1000000 -w log.pcap

假设这些报文要在机器bb.bb.bb.bb上复现然后发给cc.cc.cc.cc，从bb.bb.bb.bb发往cc.cc.cc.cc的源mac地址为bb:bb:bb:bb:bb:bb 目的mac地址为cc:cc:cc:cc:cc:cc
首先tcpprep预处理下

tcpprep -p --pcap=log.pcap --cachefile=input.cache

先修改mac地址使之有效

tcprewrite --enet-dmac=&#34;cc:cc:cc:cc:cc:cc&#34; --enet-smac=&#34;bb:bb:bb:bb:bb:bb&#34; --infile=log.pcap --outfile=pcap.tmp

然后修改ip地址使之有效

tcprewrite --cachefile=input.cache --endpoints=&#34;cc.cc.cc.cc:bb.bb.bb.bb&#34; --infile=pcap.tmp --outfile=replay.pcap

然后就可以用来复现了 -l参数是说循环多少次 -p参数是说每秒发多少个包 -i是说从那个网卡发

tcpreplay -l 10 -p 1000 -i eth0 replay.pcap


]]></description>
			<content:encoded><![CDATA[<p>以前tcpdump用的比较多，主要用在诊断的时候。tcpreplay则是把tcpdump记录下来的包原样发回去</p>
<p>这样tcpreplay就可以用来以极快的速度复现记录下来的数据从而实现压力测试，好处在于数据比较真实<br />
<span id="more-161"></span><br />
先是在实际环境中用tcpdump记录数据用于复现<br />
例如记录发往某ip某端口的报文一百万个</p>
<pre class="brush: ruby;">
tcpdump 'dst aa.aa.aa.aa and dst port xxx' -c 1000000 -w log.pcap
</pre>
<p>假设这些报文要在机器bb.bb.bb.bb上复现然后发给cc.cc.cc.cc，从bb.bb.bb.bb发往cc.cc.cc.cc的源mac地址为bb:bb:bb:bb:bb:bb 目的mac地址为cc:cc:cc:cc:cc:cc</p>
<p>首先tcpprep预处理下</p>
<pre class="brush: ruby;">
tcpprep -p --pcap=log.pcap --cachefile=input.cache
</pre>
<p>先修改mac地址使之有效</p>
<pre class="brush: ruby;">
tcprewrite --enet-dmac=&quot;cc:cc:cc:cc:cc:cc&quot; --enet-smac=&quot;bb:bb:bb:bb:bb:bb&quot; --infile=log.pcap --outfile=pcap.tmp
</pre>
<p>然后修改ip地址使之有效</p>
<pre class="brush: ruby;">
tcprewrite --cachefile=input.cache --endpoints=&quot;cc.cc.cc.cc:bb.bb.bb.bb&quot; --infile=pcap.tmp --outfile=replay.pcap
</pre>
<p>然后就可以用来复现了 -l参数是说循环多少次 -p参数是说每秒发多少个包 -i是说从那个网卡发</p>
<pre class="brush: ruby;">
tcpreplay -l 10 -p 1000 -i eth0 replay.pcap
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2008/10/16/use-tcpreplay-on-benchmarking.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jump-or-exec in emacs</title>
		<link>http://jayxie.com/2008/10/06/jump-or-exec-in-emacs.html</link>
		<comments>http://jayxie.com/2008/10/06/jump-or-exec-in-emacs.html#comments</comments>
		<pubDate>Mon, 06 Oct 2008 14:05:14 +0000</pubDate>
		<dc:creator>Jay Xie</dc:creator>
				<category><![CDATA[Emacs]]></category>

		<guid isPermaLink="false">http://jayxie.com/?p=150</guid>
		<description><![CDATA[
去年的时候发在水木里的
类似sawfish下的jump-or-exec
用于查找名为buffer-name的buffer，如果不存在则调用func，如果存在的话切换到这个buffer，如果这个buffer就是当前的buffer且给出了可选参数onfocused的话就把这个buffer作为参数来调用onfocused
因为不会用正则匹配查找buffer，所以只能全匹配。
代码在 <a href="http://www.emacswiki.org/cgi-bin/wiki/jump-or-exec.el">http://www.emacswiki.org/cgi-bin/wiki/jump-or-exec.el</a>

]]></description>
			<content:encoded><![CDATA[<p>去年的时候发在水木里的</p>
<p>类似sawfish下的jump-or-exec</p>
<p>用于查找名为buffer-name的buffer，如果不存在则调用func，如果存在的话切换到这个buffer，如果这个buffer就是当前的buffer且给出了可选参数onfocused的话就把这个buffer作为参数来调用onfocused</p>
<p>因为不会用正则匹配查找buffer，所以只能全匹配。</p>
<p>代码在 <a href="http://www.emacswiki.org/cgi-bin/wiki/jump-or-exec.el">http://www.emacswiki.org/cgi-bin/wiki/jump-or-exec.el</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jayxie.com/2008/10/06/jump-or-exec-in-emacs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
