<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>iPUNKID</title>
	
	<link>http://blog.punkid.org</link>
	<description>To ∞ and Beyond</description>
	<lastBuildDate>Sun, 22 Apr 2012 11:56:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/punkid" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="punkid" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/punkid" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fpunkid" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>Once Upon a Time in Xiamen</title>
		<link>http://blog.punkid.org/2012/04/22/once-upon-a-time-in-xiamen/</link>
		<comments>http://blog.punkid.org/2012/04/22/once-upon-a-time-in-xiamen/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 10:02:57 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Fotoblog]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[厦门]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=452</guid>
		<description><![CDATA[五一节前奉命去厦门出差，在厦门待了三天，真是有点舍不得走，这个城市实在是太舒服、太适合居住了。 随行没有携带笔记本电脑和相机，只带了Galaxy Tab 8.9平板和HTC Sensation手机。出乎意料的是，头一次拿HTC Sensation认真的拍照，效果大大超过我的预期，尤其是微距的表现。部分照片直接用HTC内置的相片特效简单处理下就OK了。 厦门大学 上次来厦门居然没来厦门大学，这次过来一定要补上。我只想说，厦大这哪是学府，整一地质公园。虽然学生公寓的条件貌似不咋滴，但是整体环境相当的贴近大自然。 尝试Android ICS的全景拍摄功能 自行车是大学生活不可或缺的一部分 最满意的一张微距，未经任何处理 七天酒店 住的七天位于思明北路，据说是旗舰店，位置非常的好，交通方便。关键是旁边就有85&#176;C面包坊，每天的早餐基本都靠它了。 这家七天跟以前住的都不一样，客人入住客房会经过天桥。 酒店里还有庭院，绿树成荫。 酒店静物拍摄 每天回到酒店，我就把椅子搬到阳台上，对着庭院呼吸新鲜空气。 酒店有无线网络覆盖，拿着平板上上网。 海、鼓浪屿 本来周五打算去鼓浪屿的，中午打车去海边吃了个饭，发现厦门的海滩人少，于是重点就变成了在海边转悠。 接近傍晚才坐轮渡去了鼓浪屿，已经来过一次了，没啥预期，而且刚上岸就下雨，结果变成了在DQ待两个小时，用招行信用卡刷积分免费吃了个暴风雪。 思明南路 周六本来是随同事去南普陀的，一路打的到南普陀门口发现人太多，再者我这人缺乏信仰。在的士上发现思明南路整条街都是古色古香的，遂决定自己一个人边沿路返回边拍拍照。 铁路公园，长长的人行道，我走了好久都没走到尽头。 看多了港片的人多会有这种阶梯情结吧。]]></description>
			<content:encoded><![CDATA[<p>五一节前奉命去厦门出差，在厦门待了三天，真是有点舍不得走，这个城市实在是太舒服、太适合居住了。</p>
<p>随行没有携带笔记本电脑和相机，只带了Galaxy Tab 8.9平板和HTC Sensation手机。出乎意料的是，头一次拿HTC Sensation认真的拍照，效果大大超过我的预期，尤其是微距的表现。部分照片直接用HTC内置的相片特效简单处理下就OK了。</p>
<h3>厦门大学</h3>
<p>上次来厦门居然没来厦门大学，这次过来一定要补上。我只想说，厦大这哪是学府，整一地质公园。虽然学生公寓的条件貌似不咋滴，但是整体环境相当的贴近大自然。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0232.jpg" alt="IMAG0232" width="780" height="187" /></p>
<figcaption>尝试Android ICS的全景拍摄功能</figcaption>
</figure>
<p><span id="more-452"></span></p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0302-1.jpg" alt="IMAG0302-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0304-1.jpg" alt="IMAG0304-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0242-1.jpg" alt="IMAG0242-1" width="780" height="440" /></p>
<figcaption>自行车是大学生活不可或缺的一部分</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0286-1.jpg" alt="IMAG0286-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0251.jpg" alt="IMAG0251" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0257.jpg" alt="IMAG0257" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0267.jpg" alt="IMAG0267" width="780" height="440" /></p>
<figcaption>最满意的一张微距，未经任何处理</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0262.jpg" alt="IMAG0262" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0263.jpg" alt="IMAG0263" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0265.jpg" alt="IMAG0265" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0266.jpg" alt="IMAG0266" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0273.jpg" alt="IMAG0273" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0274.jpg" alt="IMAG0274" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0277-1.jpg" alt="IMAG0277-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0279.jpg" alt="IMAG0279" width="780" height="440" /><br />
</figure>
<h3>七天酒店</h3>
<p>住的七天位于思明北路，据说是旗舰店，位置非常的好，交通方便。关键是旁边就有85&deg;C面包坊，每天的早餐基本都靠它了。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0333.jpg" alt="IMAG0333" width="780" height="440" /></p>
<figcaption>这家七天跟以前住的都不一样，客人入住客房会经过天桥。</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0335.jpg" alt="IMAG0335" width="780" height="440" /></p>
<figcaption>酒店里还有庭院，绿树成荫。</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0330.jpg" alt="IMAG0330" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0316.jpg" alt="IMAG0316" width="780" height="440" /></p>
<figcaption>酒店静物拍摄</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0325.jpg" alt="IMAG0325" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0331.jpg" alt="IMAG0331" width="780" height="440" /></p>
<figcaption>每天回到酒店，我就把椅子搬到阳台上，对着庭院呼吸新鲜空气。</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0323.jpg" alt="IMAG0323" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0426.jpg" alt="IMAG0426" width="780" height="440" /></p>
<figcaption>酒店有无线网络覆盖，拿着平板上上网。</figcaption>
</figure>
<h3>海、鼓浪屿</h3>
<p>本来周五打算去鼓浪屿的，中午打车去海边吃了个饭，发现厦门的海滩人少，于是重点就变成了在海边转悠。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0340.jpg" alt="IMAG0340" width="780" height="208" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0349.jpg" alt="IMAG0349" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0352.jpg" alt="IMAG0352" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0355-1.jpg" alt="IMAG0355-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0371.jpg" alt="IMAG0371" width="780" height="187" /></p>
<figcaption>接近傍晚才坐轮渡去了鼓浪屿，已经来过一次了，没啥预期，而且刚上岸就下雨，结果变成了在DQ待两个小时，用招行信用卡刷积分免费吃了个暴风雪。</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0362.jpg" alt="IMAG0362" width="780" height="440" /><br />
</figure>
<h3>思明南路</h3>
<p>周六本来是随同事去南普陀的，一路打的到南普陀门口发现人太多，再者我这人缺乏信仰。在的士上发现思明南路整条街都是古色古香的，遂决定自己一个人边沿路返回边拍拍照。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0376-1.jpg" alt="IMAG0376-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0377.jpg" alt="IMAG0377" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0380-1.jpg" alt="IMAG0380-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0382-1.jpg" alt="IMAG0382-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0388-1.jpg" alt="IMAG0388-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0397.jpg" alt="IMAG0397" width="780" height="440" /></p>
<figcaption>铁路公园，长长的人行道，我走了好久都没走到尽头。</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0403-1.jpg" alt="IMAG0403-1" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0408.jpg" alt="IMAG0408" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0421.jpg" alt="IMAG0421" width="780" height="440" /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/04/IMAG0419-1.jpg" alt="IMAG0419-1" width="780" height="460" /></p>
<figcaption>看多了港片的人多会有这种阶梯情结吧。</figcaption>
</figure>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=3kMahJ86tGU:RDDcv-6eWX0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=3kMahJ86tGU:RDDcv-6eWX0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=3kMahJ86tGU:RDDcv-6eWX0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=3kMahJ86tGU:RDDcv-6eWX0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2012/04/22/once-upon-a-time-in-xiamen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>入手beats by dr.dre solo</title>
		<link>http://blog.punkid.org/2012/03/11/beats-by-dr-dre-solo/</link>
		<comments>http://blog.punkid.org/2012/03/11/beats-by-dr-dre-solo/#comments</comments>
		<pubDate>Sun, 11 Mar 2012 13:32:07 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Gadget]]></category>
		<category><![CDATA[Beats]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[iPod]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=423</guid>
		<description><![CDATA[想当年存个一整年买iPod Nano只为感受华丽的Cover Flow； 没日没夜地下歌只为填满160G的硬盘； 极尽蛋疼般地整理mp3的ID3信息只为满足自身洁癖症 &#8230; 我有多久没认真听过歌了，iPad Nano已经被尘封N久，每天上下班途中靠着HTC Sensation上的虾米音乐随便听两首歌就把耳朵给喂饱了。但是作为Gadget狂，还是忍不住把大热的装逼之物Monster beats by dr.dre solo耳机给败了回来。 骚红的B字头、Dr.Dre的品牌号召力加上讨巧的外型，毫无疑问甚得我等装逼人士之所爱。 音质就不用抱太高期望了，bass很足，但是解析力不行，在iPod上听还行，拿HTC Sensation和MacBook Air听就明显觉得声音有点浊了。你要说这货值不值180美刀？肯定不值，音质比起BOSE, B&#038;W这些殿堂级的自然差远了，比较同级别的Sennheiser、AKG这些也差了不止一个级别。好在我也不是金耳朵，不然我还得再花个几千买个好的音源。 外黑内红的包装还是很骚的 by dr.dre就是号召力 HTC Sensation with beats audio HTC内置的beats音效无非是个软件层的包装而已 重新给iPod Nano充上电 装逼三件套 Gallery]]></description>
			<content:encoded><![CDATA[<p>想当年存个一整年买iPod Nano只为感受华丽的Cover Flow；<br />
没日没夜地下歌只为填满160G的硬盘；<br />
极尽蛋疼般地整理mp3的ID3信息只为满足自身洁癖症<br />
&#8230;</p>
<p>我有多久没认真听过歌了，iPad Nano已经被尘封N久，每天上下班途中靠着HTC Sensation上的虾米音乐随便听两首歌就把耳朵给喂饱了。但是作为Gadget狂，还是忍不住把大热的装逼之物Monster beats by dr.dre solo耳机给败了回来。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090067.jpg" alt="" title="P1090067" width="780" height="439" /></p>
<figcaption>骚红的B字头、Dr.Dre的品牌号召力加上讨巧的外型，毫无疑问甚得我等装逼人士之所爱。</figcaption>
</figure>
<p>音质就不用抱太高期望了，bass很足，但是解析力不行，在iPod上听还行，拿HTC Sensation和MacBook Air听就明显觉得声音有点浊了。你要说这货值不值180美刀？肯定不值，音质比起BOSE, B&#038;W这些殿堂级的自然差远了，比较同级别的Sennheiser、AKG这些也差了不止一个级别。好在我也不是金耳朵，不然我还得再花个几千买个好的音源。<br />
<span id="more-423"></span></p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090065.jpg" alt="P1090065" width="780" height="439"  /></p>
<figcaption>外黑内红的包装还是很骚的</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090066.jpg" alt="P1090066" width="780" height="439"  /></p>
<figcaption>by dr.dre就是号召力</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090064.jpg" alt="P1090064" width="780" height="439"  /></p>
<figcaption>HTC Sensation with beats audio</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090054.jpg" alt="P1090054" width="780" height="439"  /></p>
<figcaption>HTC内置的beats音效无非是个软件层的包装而已</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090048.jpg" alt="P1090048" width="780" height="439"  /></p>
<figcaption>重新给iPod Nano充上电</figcaption>
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090077.jpg" alt="P1090077" width="780" height="439"  /></p>
<figcaption>装逼三件套</figcaption>
</figure>
<h3>Gallery</h3>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090055.jpg" alt="P1090055" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090062.jpg" alt="P1090062" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090050.jpg" alt="P1090050" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090044.jpg" alt="P1090044" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090079.jpg" alt="P1090079" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090080.jpg" alt="P1090080" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090081.jpg" alt="P1090081" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090082.jpg" alt="P1090082" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090073.jpg" alt="P1090073" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090072.jpg" alt="P1090072" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090070.jpg" alt="P1090070" width="780" height="439"  /><br />
</figure>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/03/P1090068.jpg" alt="P1090068" width="780" height="439"  /><br />
</figure>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=YZQi_oi2tB8:lbdaJIvr5ao:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=YZQi_oi2tB8:lbdaJIvr5ao:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=YZQi_oi2tB8:lbdaJIvr5ao:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=YZQi_oi2tB8:lbdaJIvr5ao:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2012/03/11/beats-by-dr-dre-solo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Goodbye, TWENTY ELEVEN</title>
		<link>http://blog.punkid.org/2012/01/27/goodbye-twenty-eleven/</link>
		<comments>http://blog.punkid.org/2012/01/27/goodbye-twenty-eleven/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 13:38:57 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Gadget]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Site Log]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[neuvetica]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=394</guid>
		<description><![CDATA[博客荒废一年多了，11年只是在四月份发了篇技术文就再无更新。不得不说在微博已经逐步取代了没落的博客和RSS，140字的快速消费微时代让人类已经无法在长篇大论了。忙了一年的工作，期间数次想更新下博客或者换个新的主题都因为“力不从心”而放弃了。趁着过年，总算勤奋了下来，把主题给换了，也就是现在看到的：NEUVETICA主题。 NEUVETICA Neuvetica 首页 Neuvetica 内容页 顾名思义，这个主题用的主字体是大名鼎鼎的Helvetica（其实第二字体是Arial），主色换成了明黄色(#FEF200)。此配色灵感完全是因为最近买了双Native Fitzsimmons的潮鞋，于是乎今年特粉这颜色，连新买的卫衣都特意选了明黄色。 Native Fitzsimmons &#8211; Crayon Yellow 主题还是一如既往地完全用HTML5和CSS3写的，支持基本的Vimperator操作。所以IE依旧被无情地忽略了，但是加入了手持设备支持，在HTC Sensation和Galaxy Tab 8.9这两款手机和平板设备上分别测试优化过了。尤其是平板设备上阅读，个人觉得比在电脑上看更舒服 :D 另外，主题完全去除了Tag, Category, Trackback/Pingback这些过时的2.0玩意儿，完完全全的集中于内容本身。评论启用了豆瓣和新浪微博支持。 主题是3天时间做出来的，细节上的小问题还是以后慢慢改好了。 顺带介绍下之前随大流弄的个人mini主页，请移步至http://i.punkid.org，一天一配色，Android上支持滑动切换配色。 http://i.punkid.org 工作 2011年总算是工作上定性的一年，稳定下来之后收入也有了增长，幸得领导重视，赋予了我很大的自由在金融业这个无聊约束的圈子里去实践我的理念。同仁基本都是同龄人，做起事来比较齐心，工作一年多以后才领悟到当初在简历上瞎编的“团队精神”是什么。 至于2012年，还是希望能在事业上有更大的突破，因为今年考虑要买个代步工具了，莫非这就叫野心？ 城市 因为工作缘故，一年下来出差无数，深圳、广州、厦门、福州、杭州、重庆、北京都留下了脚步。虽然每次都抱怨出差无非就是路上、车上、会上、床上。但是出差毕竟还是件长见识的事儿。 厦门是值得去休养的地方，城市既干净又安静，马路上没有扬起的灰尘，没有拥堵的车辆，太适合去休假了。当然鼓浪屿太坑爹了，千万别去！ 深圳、北京无感，都是已经去过的城市了。 福州的鱼丸还是比较地道的。 杭州的自行车文化深得吾爱。 广州真不愧是美食城市，我对粤菜无限好感。叉烧、白切鸡、烧鹅这些都是大爱的菜啊，真是羡慕老广州人一边饮茶一边食菜一眨眼一天就过去了的生活。 要感受重庆的山城地貌最好就是打个的士到处逛一下，话说成都的哥都是跑山道赛的啊！ 收获 收入上有了基础就开始狂买自己想要的东西。一年下来，收了Acer Aspire R3700, Seagate GoFlex Desk 2TB, HTC Sensation，Galaxy Tab 8.9，还有最重要的Macbook Air 13&#8242;。用了Mac之后就再也用不惯PC本了，虽然现在有了Ultrabook，但是Mac的触摸板体验是无法比拟的。 Mac系统也比我预想中上手多了，因为其unix本质，我之前在Gentoo上写的一些小脚本可以直接移植到Mac上继续用。我依然在Mac上用着VIM, awk/sed, Python这些开源利器。 HTC手机是早就想买的了，我确实对iOS无好感，但是Android原生系统在可用性上明显不如iOS，而HTC自家的Sense UI补足了Android的缺陷。为什么不买Samsung的手机？Sense UI就是最重要的原因。我好生后悔买的Samsung [...]]]></description>
			<content:encoded><![CDATA[<p>博客荒废一年多了，11年只是在四月份发了篇技术文就再无更新。不得不说在微博已经逐步取代了没落的博客和RSS，140字的快速消费微时代让人类已经无法在长篇大论了。忙了一年的工作，期间数次想更新下博客或者换个新的主题都因为“力不从心”而放弃了。趁着过年，总算勤奋了下来，把主题给换了，也就是现在看到的：NEUVETICA主题。</p>
<h3>NEUVETICA</h3>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/01/Neuvetica-1.png" alt="Neuvetica-1" width="780" height="516" /><br />
<figcaption>Neuvetica 首页</figcaption>
</figure>
<p><span id="more-394"></span></p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/01/Neuvetica.png" alt="Neuvetica-1" width="780" height="516" /><br />
<figcaption>Neuvetica 内容页</figcaption>
</figure>
<p>顾名思义，这个主题用的主字体是大名鼎鼎的Helvetica（其实第二字体是Arial），主色换成了明黄色(#FEF200)。此配色灵感完全是因为最近买了双Native Fitzsimmons的潮鞋，于是乎今年特粉这颜色，连新买的卫衣都特意选了明黄色。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/01/native.jpg" alt="Native Fizsimmons" width="750" height="667" /><br />
<figcaption>Native Fitzsimmons &#8211; Crayon Yellow</figcaption>
</figure>
<p>主题还是一如既往地完全用<abbr title="Hypertext Markup Language">HTML</abbr>5和<abbr title="Cascading Style Sheets">CSS</abbr>3写的，支持基本的Vimperator操作。所以IE依旧被无情地忽略了，但是加入了手持设备支持，在HTC Sensation和Galaxy Tab 8.9这两款手机和平板设备上分别测试优化过了。尤其是平板设备上阅读，个人觉得比在电脑上看更舒服 :D</p>
<p>另外，主题完全去除了Tag, Category, Trackback/Pingback这些过时的2.0玩意儿，完完全全的集中于内容本身。评论启用了豆瓣和新浪微博支持。</p>
<p>主题是3天时间做出来的，细节上的小问题还是以后慢慢改好了。</p>
<p>顺带介绍下之前随大流弄的个人mini主页，请移步至<a href="http://i.punkid.org" title="iPUNKID">http://i.punkid.org</a>，一天一配色，Android上支持滑动切换配色。</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/01/colorful.jpg" alt="iPUNKID" width="780" height="176" /><br />
<figcaption><a href="http://i.punkid.org" title="iPUNKID">http://i.punkid.org</a></figcaption>
</figure>
<h3>工作</h3>
<p>2011年总算是工作上定性的一年，稳定下来之后收入也有了增长，幸得领导重视，赋予了我很大的自由在金融业这个无聊约束的圈子里去实践我的理念。同仁基本都是同龄人，做起事来比较齐心，工作一年多以后才领悟到当初在简历上瞎编的“团队精神”是什么。</p>
<p>至于2012年，还是希望能在事业上有更大的突破，因为今年考虑要买个代步工具了，莫非这就叫野心？</p>
<h3>城市</h3>
<p>因为工作缘故，一年下来出差无数，深圳、广州、厦门、福州、杭州、重庆、北京都留下了脚步。虽然每次都抱怨出差无非就是路上、车上、会上、床上。但是出差毕竟还是件长见识的事儿。</p>
<p>厦门是值得去休养的地方，城市既干净又安静，马路上没有扬起的灰尘，没有拥堵的车辆，太适合去休假了。当然鼓浪屿太坑爹了，千万别去！</p>
<p>深圳、北京无感，都是已经去过的城市了。</p>
<p>福州的鱼丸还是比较地道的。</p>
<p>杭州的自行车文化深得吾爱。</p>
<p>广州真不愧是美食城市，我对粤菜无限好感。叉烧、白切鸡、烧鹅这些都是大爱的菜啊，真是羡慕老广州人一边饮茶一边食菜一眨眼一天就过去了的生活。</p>
<p>要感受重庆的山城地貌最好就是打个的士到处逛一下，话说成都的哥都是跑山道赛的啊！</p>
<h3>收获</h3>
<p>收入上有了基础就开始狂买自己想要的东西。一年下来，收了Acer Aspire R3700, Seagate GoFlex Desk 2TB, HTC Sensation，Galaxy Tab 8.9，还有最重要的Macbook Air 13&#8242;。用了Mac之后就再也用不惯PC本了，虽然现在有了Ultrabook，但是Mac的触摸板体验是无法比拟的。</p>
<p>Mac系统也比我预想中上手多了，因为其unix本质，我之前在Gentoo上写的一些小脚本可以直接移植到Mac上继续用。我依然在Mac上用着VIM, awk/sed, Python这些开源利器。</p>
<p>HTC手机是早就想买的了，我确实对iOS无好感，但是Android原生系统在可用性上明显不如iOS，而HTC自家的Sense UI补足了Android的缺陷。为什么不买Samsung的手机？Sense UI就是最重要的原因。我好生后悔买的Samsung Galaxy Tab 8.9，Samsung的TouchWiz UI实在是太差了。</p>
<p>2011年的支付宝年度账单无情地暴露了我败家本性，今年真要存钱，争取入手代步工具！</p>
<figure>
<img src="http://blog.punkid.org/wp-content/uploads/2012/01/alipay.jpg" alt="alipay" width="780" height="286" /><br />
<figcaption>恐怖的支付宝年度账单</figcaption>
</figure>
<h3>END</h3>
<p>祝各位春节快乐，2012年愿更进一步。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=5K2T2pc6cIE:0QoAIkuSIB0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=5K2T2pc6cIE:0QoAIkuSIB0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=5K2T2pc6cIE:0QoAIkuSIB0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=5K2T2pc6cIE:0QoAIkuSIB0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2012/01/27/goodbye-twenty-eleven/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>打造基于Ubuntu+XBMC的家庭媒体中心</title>
		<link>http://blog.punkid.org/2011/04/03/build-home-media-center-on-an-ubuntu-system-with-xbmc/</link>
		<comments>http://blog.punkid.org/2011/04/03/build-home-media-center-on-an-ubuntu-system-with-xbmc/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 11:44:50 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Gadget]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[HTPC]]></category>
		<category><![CDATA[Ion]]></category>
		<category><![CDATA[Revo-3700]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=371</guid>
		<description><![CDATA[作为一名高清爱好者，一直想配置一台HTPC放家里实现高清播放外加家庭服务器功能。Nvidia的Ion平台自然是高清平台的硬件首选，而家庭媒体中心的软件端则首先考虑开发的已经很成熟的开源利器XBMC。XBMC本身支持多种平台（Linux, Mac OS X, Windows &#8230;），从驱动程序和配置方面来说，自然是基于Windows搭建最省事，但最终选择Linux的原因是：ssh。Linux的ssh让我可以很方便地通过其他电脑，甚至手机操作我的家庭媒体中心主机。 因此，我最终在硬件上选择了Acer Aspire R3700，基于Ion平台的超小型主机，配置如下： CPU：Intel Atom™ D525 内存：2G DDR3 800Mhz 硬盘：320G Sata 显卡：Nvidia G320 网络：WLAN 802.11b/g/n 接口：USB接口6个、HDMI输出、多合一读卡槽 &#8230; 除了买的主机自带了鼠标键盘之外，我还选购了HDMI高清线以及MCE遥控器。 系统方面选择了安装配置简便的Ubuntu 10.10系统（我开始是打算使用Gentoo的，但是编译着编译着我就崩溃鸟）。使用Ubuntu要实现的功能如下： 实现XBMC完全管理影音库，并通过HDMI输出到家里46吋的电视机 通过无线网络连接家庭路由器，尽量摆脱网线的束缚 开启sshd，通过其他电脑或者手机ssh到家庭媒体主机进行系统维护操作 开启transmission-daemon，利用该主机进行高清下载，并可远程控制Bittorrent下载 实现开机自动进入媒体中心，用遥控器进行媒体播放操作，避免使用键鼠的可能 系统安装 因为Acer Aspire R3700本身不内置光驱，安装系统可以通过制作LiveUSB进行U盘引导安装。我制作了LiveUSB到一张SD卡上，直接放入机器的内置读卡器进行引导安装的。具体如何制作LiveUSB以及安装Ubuntu系统就不冗述了，可参考Ubuntu的LiveUSB制作教程：Installation From USB Stick Quick。 注：我在系统设置时添加了一个名为xbmc的普通账户，系统主机名为HAL。下文均使用此用户名和主机名代替。 分区上我新建了一个220G的空白分区挂载在/library目录下，用于存放高清电影文件，文件格式上采用了xfs，采用如下命令进行格式化： sudo mkfs.xfs -l size=64m -d agcount=4 -i attr=2,maxpct=5 -L library /dev/sdx 在/etc/fstab中添加/library分区挂载行： /dev/sdb5 /library [...]]]></description>
			<content:encoded><![CDATA[<p>作为一名高清爱好者，一直想配置一台HTPC放家里实现高清播放外加家庭服务器功能。Nvidia的Ion平台自然是高清平台的硬件首选，而家庭媒体中心的软件端则首先考虑开发的已经很成熟的开源利器<a href="http://xbmc.org/" title="XBMC">XBMC</a>。XBMC本身支持多种平台（Linux, Mac OS X, Windows &#8230;），从驱动程序和配置方面来说，自然是基于Windows搭建最省事，但最终选择Linux的原因是：<strong>ssh</strong>。Linux的ssh让我可以很方便地通过其他电脑，甚至手机操作我的家庭媒体中心主机。</p>
<p>因此，我最终在硬件上选择了Acer Aspire R3700，基于Ion平台的超小型主机，配置如下：</p>
<ul>
<li>CPU：Intel Atom™ D525</li>
<li>内存：2G DDR3 800Mhz</li>
<li>硬盘：320G Sata</li>
<li>显卡：Nvidia G320</li>
<li>网络：WLAN 802.11b/g/n</li>
<li>接口：USB接口6个、HDMI输出、多合一读卡槽</li>
<li>&#8230;</li>
</ul>
<p>除了买的主机自带了鼠标键盘之外，我还选购了HDMI高清线以及MCE遥控器。</p>
<p>系统方面选择了安装配置简便的Ubuntu 10.10系统（我开始是打算使用Gentoo的，但是编译着编译着我就崩溃鸟）。使用Ubuntu要实现的功能如下：</p>
<ol>
<li>实现XBMC完全管理影音库，并通过HDMI输出到家里46吋的电视机</li>
<li>通过无线网络连接家庭路由器，尽量摆脱网线的束缚</li>
<li>开启sshd，通过其他电脑或者手机ssh到家庭媒体主机进行系统维护操作</li>
<li>开启transmission-daemon，利用该主机进行高清下载，并可远程控制Bittorrent下载</li>
<li>实现开机自动进入媒体中心，用遥控器进行媒体播放操作，避免使用键鼠的可能</li>
</ol>
<p><span id="more-371"></span></p>
<h3>系统安装</h3>
<p>因为Acer Aspire R3700本身不内置光驱，安装系统可以通过制作LiveUSB进行U盘引导安装。我制作了LiveUSB到一张SD卡上，直接放入机器的内置读卡器进行引导安装的。具体如何制作LiveUSB以及安装Ubuntu系统就不冗述了，可参考Ubuntu的LiveUSB制作教程：<a href="https://help.ubuntu.com/community/Installation/FromUSBStickQuick" title="Installation From USB Stick Quick">Installation From USB Stick Quick</a>。</p>
<p>注：我在系统设置时添加了一个名为xbmc的普通账户，系统主机名为HAL。下文均使用此用户名和主机名代替。</p>
<p>分区上我新建了一个220G的空白分区挂载在<code>/library</code>目录下，用于存放高清电影文件，文件格式上采用了xfs，采用如下命令进行格式化：</p>
<pre lang="bash">
sudo mkfs.xfs -l size=64m -d agcount=4 -i attr=2,maxpct=5 -L library /dev/sdx
</pre>
<p>在<code>/etc/fstab</code>中添加<code>/library</code>分区挂载行：</p>
<pre lang="bash">
/dev/sdb5	/library	xfs	noatime,nodiratime,allocsize=512m	0	2
</pre>
<p>其中<code>allocsize=512m</code>的作用是每次写入文件时xfs分区会预先分配512Mb的空间供一次写入，以减少文件碎片。对于动辄数G的高清文件来说，512Mb不算大支。</p>
<h3>系统调试</h3>
<h4>删除冗余组件</h4>
<p>安装好系统之后首先运行<code>sudo apt-get update</code>更新源。然后删除一些不必要的自带软件，如Openoffice, Evolution Mail, Brasero等。具体看个人需要删除，例如要删除Openoffice，运行<code>sudo apt-get autoclean openoffice.org</code>进行完全清理。</p>
<h4>解决RaLink RT3090网卡驱动问题</h4>
<p>Ubuntu 10.10自带的无线网卡RaLink RT3090驱动存在不能正常关机的问题，需要安装第三方源的编译包，运行如下命令：</p>
<pre lang="bash">
## 添加第三方驱动源
sudo add-apt-repository ppa:markus-tisoft/rt3090

## 更新源信息并安装第三方无线网卡驱动
sudo apt-get update
sudo apt-get install rt3090-dkms
</pre>
<p>编辑<code>/etc/modprobe.d/blacklist.conf</code>文件，添加如下几行，将系统自带驱动模块加入黑名单：</p>
<pre lang="bash">
# blacklist other Ralink modules in favour of 3090 DKMS mod
blacklist rt2860sta
blacklist rt2870sta
blacklist rt2800pci
blacklist rt2800usb
blacklist rt2x00lib
blacklist rt2x00pci
blacklist rt2x00usb
</pre>
<h4>安装NVidia驱动</h4>
<p>为了充分发挥Ion平台的高清硬解效能，安装NVidia的私有驱动是必须的。运行<code>sudo apt-get install nvidia-current</code>安装好驱动程序。安装好的XBMC会出现明显的CPU占用率过高的问题，解决的办法时安装好NVidia的驱动之后，编辑<code>/etc/X11/xorg.conf</code>文件，加入<code>NoFlip</code>设置：</p>
<pre lang="xorg_conf">
Section "Device"
	Identifier		"Device0"
	Driver			"nvidia"
	VendorName	"NVIDIA Corporation"
	BoardName		"ION"
	Option		"NoFlip" "1" # 加入此行
EndSection
</pre>
<h4>调试HDMI的音频输出</h4>
<p>Ubuntu下调试音频的HDMI输出有点复杂，具体我参考了<a href="http://wiki.xbmc.org/index.php?title=HOW-TO_set_up_HDMI_audio_on_nVidia_GeForce_G210,_GT220,_or_GT240" title="HOW-TO set up HDMI audio on nVidia GeForce G210, GT220, or GT240">HOW-TO set up HDMI audio on nVidia GeForce G210, GT220, or GT240</a>进行调试，这里简述下我的调试过程：</p>
<ol>
<li>运行<code>alsamixer</code>，F6切换到HDA NVidia声卡输出，打开Master, PCM, Front, Mic, S/PDIF, S/PDIF Def。</li>
<li>编辑<code>/etc/modprobe.d/sound.conf</code>，加入以下这行:
<pre lang="bash">
options snd-hda-intel enable_msi=0 probe_mask=0xffff,0xfff2
</pre>
</li>
<li>编辑<code>/etc/pulse/default.pa</code>，加入以下这行:
<pre lang="bash">
load-module module-alsa-sink device=hw:1,3
</pre>
</li>
<li>编辑<code>/etc/asound.conf</code>，加入以下几行:
<pre lang="bash">
#pcm.!default hdmi:Nvidia

pcm.dmixer {
	type dmix
	ipc_key 1024
	ipc_key_add_uid false
	ipc_perm 0660
	slave {
		pcm "hw:1,3"
		rate 48000
		channels 2
		period_time 0
		period_size 1024
		buffer_time 0
		buffer_size 4096
	}
}

pcm.!default {
	type plug
	slave.pcm "dmixer"
}
</pre>
</li>
</ol>
<h4>开启iptables+ssh</h4>
<p>由于本机是通过无线路由连接，最好先在路由器上映射好相应端口并绑定一个固定IP以方便维护，在此不再冗述。既然系统已经搭建好了，可以去掉键鼠通过开启sshd服务进行远程操作维护。为了更安全的系统，iptables+sshguard也是不可或缺的。</p>
<p>运行命令安装iptables, ssh和sshguard：</p>
<pre lang="bash">
sudo apt-get install iptables openssh-server sshguard
</pre>
<p>修改<code>/etc/ssh/sshd_config</code>：</p>
<pre lang="bash">
Port 2727 # 将默认的22端口修改为任意其他端口，例如2727。
</pre>
<p>然后是设置iptables规则，编辑<code>/etc/iptables</code> （没有可新建）：</p>
<pre lang="bash">
# Generated by iptables-save v1.4.7 on Sat May 22 20:03:22 2010
*raw
:PREROUTING ACCEPT [21639:19095836]
:OUTPUT ACCEPT [22904:4573912]
COMMIT
# Completed on Sat May 22 20:03:22 2010
# Generated by iptables-save v1.4.7 on Sat May 22 20:03:22 2010
*filter
:INPUT DROP [7:2223]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [9409:1846937]
:sshguard - [0:0]

-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

# 设置内网IP权限访问，默认允许
-A INPUT -s 192.168.1.100/32 -j ACCEPT
-A INPUT -s 192.168.1.101/32 -j ACCEPT

# 打开transmission-daemon端口6666，其中9091是transmission web的端口
-A INPUT -p tcp -m tcp --dport 6666 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9091 -j ACCEPT

# 允许路由器的UPnP
#-A INPUT -s 192.168.1.1 -j ACCEPT

# 设置sshd端口号（2727）的访问，先经sshguard判断访问是否异常
-A INPUT -p tcp -m tcp --dport 2727 -j sshguard
-A INPUT -p tcp -m tcp --dport 2727 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags RST RST -j DROP

COMMIT
# Completed on Sat May 22 20:03:22 2010
</pre>
<p>然后直接运行<code>sudo iptables-restore &lt; /etc/iptables</code>导入iptables设置。悲剧的是，Ubuntu不会自动保存iptables设置，所以必须在开机时载入设置，编辑<code>/etc/network/interfaces</code>文件，在末尾加入以下两行：</p>
<pre lang="bash">
pre-up iptables-restore &lt; /etc/iptables
post-down iptables-save &gt; /etc/iptables
</pre>
<p>运行<code>sudo apt-get install rcconf</code>并通过<code>rcconf</code>将ssh加入系统启动自运行进程。然后重启电脑，就可以通过其他主机来进行操作、维护了。</p>
<h3>安装XBMC及相关组件</h3>
<h4>安装XBMC</h4>
<p>要获得XBMC之前，我们先需要添加第三方源，运行如下命令完成XBMC安装：</p>
<pre lang="bash">
sudo add-apt-repository ppa:team-xbmc
sudo apt-get update
sudo apt-get install xbmc xbmc-standalone
</pre>
<p>首次运行XBMC会发现中文无法识别的问题，需要做的是拷贝一个中文字体进来，例如我喜欢使用Google制造的Droid Sans Fallback字体，运行:</p>
<pre lang="bash">
sudo cp DroidSansFallback.ttf /usr/share/xbmc/media/Fonts/arial.ttf
sed -e "s/language&gt;english&lt;\/language/language&gt;Chinese (Simple)&lt;\/language/" -i ~/.xbmc/userdata/guisettings.xml
sed -e "s/font&gt;Default&lt;\/font/font&gt;Arial&lt;\/font/" -i ~/.xbmc/userdata/guisettings.xml
</pre>
<h4>安装Lirc实现遥控播放XBMC</h4>
<p>作为HTPC的一部分，脱离键鼠使用遥控器进行影院播放控制自然是必不可少，我使用的是<a href="http://wiki.xbmc.org/index.php?title=Remote_Control_Reviews#Microsoft_Media_Center_Remote_Control" title="Microsoft Media Center Remote Control">Microsoft Media Center的遥控器</a>，通过USB外接一个红外线接收器就可以了。</p>
<p>要让遥控器工作，首先得安装lirc，运行<code>sudo apt-get install lirc</code>完成安装，首次安装完成会弹出遥控器的终端配置界面：</p>
<ul>
<li>在Remote Control Configuration中选择Windows Media Center Transceivers/Remotes (all)</li>
<li>在IR transmitter, if present中均选择Microsoft Windows Media Center V2 (usb) : Direct TV Receiver</li>
</ul>
<p>然后将lircd加入系统自启动进程，重启计算机，在终端中运行<code>irw</code>，摁遥控器的方向键进行测试，如果终端内能正确识别遥控器操作说明遥控器准备就绪了。如果无法识别的话，需要<code>sudo dpkg-reconfigure lirc</code>重启进行配置，或者就是遥控器的电池电力不足（我就是因为这个傻逼原因瞎折腾了系统两个多小时）。</p>
<h4>安装Transmission-daemon</h4>
<p>作为高清下载机，实现Bittorrent下载的远程管理是必不可少的，首选Transmission这个跨平台的Bittorrent下载利器，尤其是它的daemon模式，支持web远程操作，而且web端的操作针对iPhone等手持设备做了UI优化。运行<code>sudo apt-get install transmission-daemon</code>安装。按照<a href="https://trac.transmissionbt.com/wiki/EditConfigFiles" title="EditConfigFiles – Transmission">网站上的设置</a>说明更改settings.json文件配置。</p>
<p>由于transmission-daemon默认使用的是debian-transmission用户名运行，需要将其改为我的用户名xbmc进行更好的管理。修改<code>/etc/init.d/transmission-daemon</code>文件：</p>
<pre lang="bash">
#USER=debian-transmission #注释此行，修改为自定义的用户名
USER=xbmc
</pre>
<h4>安装XBMC插件</h4>
<p>XBMC的强大之处在于可以通过插件进行无限扩展，我安装了Getlib, 7176, TheMovieDb几个电影类的削刮器以根据文件名自动获取电影的封面和制作信息。剧集方面安装了TheTVDb的削刮器，另外还可以安装<a href="http://code.google.com/p/xbmc-addons-chinese/" title="xbmc-addons-chinese">xbmc-addons-chinese</a>里的扩展，添加Youku等在线视频播放，更好地扩展网络电视功能。</p>
<p>此外，在XBMC下可安装Transmission的插件，便可通过XBMC监控Transmission下载，例图：</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot009.png" alt="Transmission Via XBMC" width="700" height="438" class="no-margin" /></p>
<h4>安装XBMC皮肤: Aeon Nox</h4>
<p>XBMC下最漂亮的皮肤莫过于Aeon系列，Aeon下面有Aeon65, Aeon MQ2和Aeon Nox三个mod。个人更偏向于使用<a href="http://forum.xbmc.org/showthread.php?t=89151" title="Aeon Nox">Aeon Nox</a>，系统资源占用少于前二者且皮肤功能异常强大，整个UI也非常漂亮（见下文“截图欣赏”）。</p>
<p>安装方法很简单，去XBMC的扩展库里找到Aeon Nox安装就行了，下载过程可能有点慢，毕竟这个皮肤解压后的体积高达60MB。不过皮肤安装后的问题是缺少中文字体支持，解决方法是:</p>
<p>复制一个中文字体到<code>~/.xbmc/addons/skin.aeon.nox/fonts</code>目录，并重命名为Arial.ttf（简单起见）。</p>
<p>然后修改<code>~/.xbmc/addons/skin.aeon.nox/720p/Font.xml</code>文件，将<code>filename</code>中的字体全部替换为Arial.ttf。</p>
<h3>优化系统设置</h3>
<p>为了更好地实现HTPC的流畅体验，还需要对安装后的系统进行一些优化。</p>
<ol>
<li><strong>设置开机免密码自动登录XBMC账户</strong><br />
在System -&gt; Administration -&gt; Login Screen Settings中点击Unlock，设置XBMC账户为自动登录。</li>
<li><strong>设置XBMC关机功能</strong><br />
在XBMC的系统设置中的省电模式里，将自动关机功能中的选项设置为关机，这样既可通过摁遥控器上的关机键实现关机。</li>
</ol>
<p>整个系统优化完之后，就可以在GDM中选择默认登录xbmc-standalone环境，而不进入Gnome桌面环境，以节省不必要的系统资源占用。</p>
<h3>截图欣赏</h3>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot011.png" alt="screenshot011" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot0011.png" alt="screenshot001" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot000.png" alt="screenshot000" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot014.png" alt="Movie Up" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot0001.png" alt="screenshot000" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot0012.png" alt="screenshot001" width="700" height="437" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot0031.png" alt="screenshot003" width="700" height="438" class="no-margin" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2011/04/screenshot005.png" alt="screenshot005" width="700" height="438" class="no-margin" /></p>
<h3>参考:</h3>
<ol>
<li><a href="http://wiki.xbmc.org/index.php?title=HOW-TO_perform_a_miminal_Ubuntu_and_XBMC_install_on_a_Asus_EeeBox_PC_EB1501" title="HOW-TO perform a miminal Ubuntu and XBMC install on a Asus EeeBox PC EB1501">HOW-TO perform a miminal Ubuntu and XBMC install on a Asus EeeBox PC EB1501</a></li>
<li><a href="http://wiki.xbmc.org/index.php?title=HOW-TO_set_up_HDMI_audio_on_nVidia_GeForce_G210,_GT220,_or_GT240" title="HOW-TO set up HDMI audio on nVidia GeForce G210, GT220, or GT240">HOW-TO set up HDMI audio on nVidia GeForce G210, GT220, or GT240</a></li>
<li><a href="http://ubuntuforums.org/showthread.php?t=1670681" title="Setting up Ubuntu 10.10 on Revo 3700 - HDMI Audio, XBMC, HD Video on IPlayer/Youtube">Setting up Ubuntu 10.10 on Revo 3700</a></li>
<li><a href="http://forum.ubuntu.org.cn/viewtopic.php?t=184521" title="XBMC 10.04 ＋ 高清硬解的中文设置">XBMC 10.04 ＋ 高清硬解的中文设置</a></li>
</ol>
<h3>End</h3>
<p>写在最后，我已经为我的HTPC新添置了一块Seagate的GoFlex Desk 2TB移动硬盘以满足我下高清的需求，Acer的R3700主机连续运行几天既不会有噪音也没有发热的现象。电脑之间，电脑与手机之间通过无线网络进行互联，一定要用上801.11n的无线路由器才能满足无线网络之间的数据高速传输。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=GxGU5RCB2KM:dHElIoG-hOU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=GxGU5RCB2KM:dHElIoG-hOU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=GxGU5RCB2KM:dHElIoG-hOU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=GxGU5RCB2KM:dHElIoG-hOU:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2011/04/03/build-home-media-center-on-an-ubuntu-system-with-xbmc/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>用Remuco实现手机遥控MPD播放</title>
		<link>http://blog.punkid.org/2010/07/04/remote-control-mpd-via-remuco-with-your-smartphone/</link>
		<comments>http://blog.punkid.org/2010/07/04/remote-control-mpd-via-remuco-with-your-smartphone/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 07:51:43 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Gadget]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[E71]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mpd]]></category>
		<category><![CDATA[remuco]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=364</guid>
		<description><![CDATA[自从Amarok和Gwenview这两款qt3.5时代的经典K软跨入了qt4的2.0时代，我就彻底放弃了qt4下的所有软件，连KDE4都给mask了，为了能够继续用上Amarok 1.4，死守着kde-sunset overlay，无奈愈发觉得Amarok 1.4的内存占用率还是太高了，于是全面转向了MPD (Music Player Daemon) + ncmpcpp，还是字符界面加上强大的键盘快捷键操作最顺服，最省心。 既然MPD是纯粹的C/S理念，为MPD找个手机client端也应该不难。于是找到了Remuco这款软件，它能够通过蓝牙或者Wifi的方式遥控Linux下的大部分媒体播放器，包括Amarok, Audacious, Banshee, Exaile, MPD, MPlayer, Rhythmbox, Songbird, Totem, TVtime, VLC和XMMS2。而且由于本身基于java，理论上支持java且有蓝牙或者Wifi设备的手机都能安装并使用它，从它的List of client devices successfully used with Remuco上看，实验成功的手机还是蛮多的。我在我的诺记非阉割版的E71上也成功实现了，下面是我在Gentoo Linux和E71上的实现过程： （P.S: 这绝对是我最后一台诺记，别在BS我们这种没文化的弱鸡鸭用户了。我们都知道，有钱有文化的才用iPhone，Android手机。） 首先是保证你装了MPD，并且能够顺利运行，MPD默认使用的端口是6600，没有特殊需求的话，最好还是不要改。 然后是去Remuco的Googlecode上下载源码包。源码包包含两个部分，一个是主机上的server实现，另一个是手机用的客户端。一般来说我们都可以找到已经编译好的Remuco二进制包，在Gentoo下Sunrise overlay里也有ebuild，或者直接下载ebuild文件放到自己的本地overlay里吧，最近的版本是remuco-0.9.3-r2.ebuild。 因为我只需要开启remuco对MPD的支持，所以我只启用了mpd一个USE: # echo "net-wireless/remuco mpd" &#62;&#62; /etc/portage/package.use # emerge remuco 然后运行remuco-mpd, 如果你发现运行失败的话（请查看~/.cache/remuco/mpd.log），很有可能是和我一样，主机没有蓝牙设备，我们要做的是关闭remuco-mpd的蓝牙支持。找到~/.config/remuco/remuco.cfg文件，将如下一句键值替换: [DEFAULT] bluetooth-enabled = 0 #把1改为0 ... 重新运行remuco-mpd，如果~/.cache/remuco/mpd.log里有提示: [ manager.py ... [...]]]></description>
			<content:encoded><![CDATA[<p>自从Amarok和Gwenview这两款qt3.5时代的经典K软跨入了qt4的2.0时代，我就彻底放弃了qt4下的所有软件，连KDE4都给mask了，为了能够继续用上Amarok 1.4，死守着kde-sunset overlay，无奈愈发觉得Amarok 1.4的内存占用率还是太高了，于是全面转向了<a href="http://www.musicpd.org" title="Music Player Daemon">MPD</a> (Music Player Daemon) + <a href="http://unkart.ovh.org/ncmpcpp/" title="Ncmpcpp - ncmpc++ mpd client">ncmpcpp</a>，还是字符界面加上强大的键盘快捷键操作最顺服，最省心。</p>
<p>既然MPD是纯粹的C/S理念，为MPD找个手机client端也应该不难。于是找到了<a href="http://code.google.com/p/remuco/" title="Wireless remote control for Linux media players">Remuco</a>这款软件，它能够通过蓝牙或者Wifi的方式遥控Linux下的大部分媒体播放器，包括Amarok, Audacious, Banshee, Exaile, MPD, MPlayer, Rhythmbox, Songbird, Totem, TVtime, VLC和XMMS2。而且由于本身基于java，理论上支持java且有蓝牙或者Wifi设备的手机都能安装并使用它，从它的<a href="http://code.google.com/p/remuco/wiki/ClientDevices" title="List of client devices successfully used with Remuco">List of client devices successfully used with Remuco</a>上看，实验成功的手机还是蛮多的。我在我的诺记非阉割版的E71上也成功实现了，下面是我在Gentoo Linux和E71上的实现过程：</p>
<p>（P.S: 这绝对是我最后一台诺记，别在BS我们这种没文化的弱鸡鸭用户了。我们都知道，有钱有文化的才用iPhone，Android手机。）<br />
<span id="more-364"></span><br />
首先是保证你装了MPD，并且能够顺利运行，MPD默认使用的端口是6600，没有特殊需求的话，最好还是不要改。</p>
<p>然后是去Remuco的<a href="http://code.google.com/p/remuco/downloads/list" title="Downloads - remuco">Googlecode</a>上下载源码包。源码包包含两个部分，一个是主机上的server实现，另一个是手机用的客户端。一般来说我们都可以找到已经编译好的Remuco二进制包，在Gentoo下Sunrise overlay里也有ebuild，或者直接下载ebuild文件放到自己的本地overlay里吧，最近的版本是<a href="http://gentoo-overlays.zugaina.org/sunrise/portage/net-wireless/remuco/remuco-0.9.3-r2.ebuild" title="remuco-0.9.3-r2.ebuild for gentoo">remuco-0.9.3-r2.ebuild</a>。</p>
<p>因为我只需要开启remuco对MPD的支持，所以我只启用了<code>mpd</code>一个USE:</p>
<pre lang="bash">
# echo "net-wireless/remuco mpd" &gt;&gt; /etc/portage/package.use
# emerge remuco
</pre>
<p>然后运行<code>remuco-mpd</code>, 如果你发现运行失败的话（请查看<code>~/.cache/remuco/mpd.log</code>），很有可能是和我一样，主机没有蓝牙设备，我们要做的是关闭remuco-mpd的蓝牙支持。找到<code>~/.config/remuco/remuco.cfg</code>文件，将如下一句键值替换:</p>
<pre lang="bash">
[DEFAULT]
bluetooth-enabled = 0 #把1改为0
...
</pre>
<p>重新运行<code>remuco-mpd</code>，如果<code>~/.cache/remuco/mpd.log</code>里有提示: <code>[ manager.py ... ] player adapter started</code>则表示成功运行。</p>
<p>接下来是手机客户端，解压缩的源码包有个<code>client/midp/app</code>目录下有个<code>remuco.jad</code>和<code>remuco.jar</code>安装文件，不需要BT的话就安装<code>no-bluetooth</code>子目录下的安装包吧。</p>
<p>运行手机上的Remuco客户端，一般来说设置<code>Host or IP</code>项就行了，我通过路由器已经绑定了主机的固定IP为192.168.1.100，默认wifi的连接端口是34271，启用了iptables的话还得对端口放行，因为我同样固定了手机的IP为192.168.1.101，所以之前就通过iptables对来自手机的全部访问都放行了。</p>
<pre lang="bash">
# iptables -A INPUT -s 192.168.1.101 -j ACCEPT
</pre>
<p>没什么问题的话，手机就能顺利控制MPD啦，这是主机上运行的ncmpcpp，显示正在播放Mono的<em>Follow the Map</em>。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/07/ncmpcpp.png" alt="ncmpcpp" width="677" height="433" class="no-margin" /></p>
<p>来看下手机端的显示，同样是Mono的<em>Follow the Map</em>。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/07/Screenshot0004.png" alt="Remuco on E71" width="320" height="240" /></p>
<p>还可以用手机查看播放列表及MPD上的音乐库，并通过手机进行遥控操作。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/07/Screenshot0005.png" alt="Remuco on E71" width="320" height="240" /></p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/07/Screenshot0006.png" alt="Remuco on E71" width="320" height="240" /></p>
<p>另外，录制了一小段演示视频，视频内演示了通过手机快捷键n/p实现歌曲的切换，以及添加歌曲到播放列表，整个操作都是手机端和主机同步的。拍的有点抖，实在不是当AV男的料啊 -_-|||（注：此视频基于HTML5的video技术，采用开源的ogv格式，只支持h.264的Safari&#8230;忽略你！）</p>
<p class="center">
<video class="html5-video" width="500" height="375" preload="none" controls><br />
<source src="http://punkid.org/glade/video/remuco-demo.ogv" type='video/ogg; codecs="theora, vorbis"' /><br />
</video></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=fpxwcRwwaFA:Urd_f8455dA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=fpxwcRwwaFA:Urd_f8455dA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=fpxwcRwwaFA:Urd_f8455dA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=fpxwcRwwaFA:Urd_f8455dA:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/07/04/remote-control-mpd-via-remuco-with-your-smartphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://punkid.org/glade/video/remuco-demo.ogv" length="31702290" type="video/ogg" />
		</item>
		<item>
		<title>Trivia about Toy Story Trilogy</title>
		<link>http://blog.punkid.org/2010/06/26/trivia-about-toy-story-trilogy/</link>
		<comments>http://blog.punkid.org/2010/06/26/trivia-about-toy-story-trilogy/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 13:26:40 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Movie]]></category>
		<category><![CDATA[pixar]]></category>
		<category><![CDATA[toy story]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=363</guid>
		<description><![CDATA[Toy Story作为Pixar的第一部全长动画于1995年上映，15年后这个系列的终结片Toy Story 3上映了，于是第三部的片头有了Potato雌雄大盗与Woody在火车上对峙那段，Mr. Potato的打劫开场白和第一部时他的开场白一模一样，火车头的侧门上也赫然印着&#8220;95&#8221;。 第三部的重要角色草莓熊Lotso (Lots-&#8217;O-Huggin&#8217; Bear) 曾经在Pixar上一部动画Up （飞屋环游记）中有过Cameo appearance，Karl老爷爷的屋子拔地而起飞过一个婴儿房的玻璃窗前时，草莓熊正安静地躺在画面左边的床脚边上。 看过3的观众普遍认为第三部中听着摇滚乐的垃圾清理工是第一部中喜欢破坏玩具的小孩Sid，因为他们都有穿一件印有骷髅头的T-shirt。 3中的玩具婴儿Big Baby在月光下荡秋天，忽然180度扭头那一幕俨然恐怖片The Exorcist （驱魔人）中被附体的女孩。 第二部中出现的反派玩具Emperor Zurg在电梯上和Buzz Lightyear对决那一幕，Zurg对只手抓住电梯边的Buzz Lightyear说: I am your father。和Star Wars II中天行者Luke和Darth Vader的父子对决如出一辙。 另外，2中玩具恐龙Rex在玩具城里追着玩具车跑的那一段，从玩具车的后视镜中看Rex追赶过来的镜头像极了Jurassic Park （侏罗纪公园）中恐龙追逐吉普车的那一幕。 在第二部的片尾花絮中矿工老爷爷Stinking Pete在他的玩具包装盒中对着两个Barbie娃娃说：我可以让你们出演下一部电影。潜规则？结果其中一个Barbie娃娃真的在第三部中出现了，并且找到了她的另一半Ken。现实中，芭比男娃娃确实是叫Ken。 第二部中出现的为Woody修手臂的老人曾经在Pixar的动画短片Geri&#8217;s Game（棋逢敌手）中演那个自己和自己下棋的孤独老人。 第三部中试图从Sunnyside幼儿园里逃出去的那只玩具兔子莫非是Pixar的动画短片Presto（魔术师和兔子）里的那只兔子 ? 在Pixar的第二部全长动画A Bug&#8217;s Life（虫虫危机）的片尾花絮中主角Flik撑起蒲公英准备飞越山谷时，他喊了一句Buzz Lightyear的经典台词: To Infinity and Beyond ! 此外，花絮中Woody也现身为虫虫们的拍摄工作打场记板。 作为呼应，Toy Story 2的片尾花絮中，A Bug&#8217;s Life中的Flik和毛毛虫Heimlich出现了，他们听说要出A Bug&#8217;s Life 2了，结果发现事实上他们只不过为Toy Story [...]]]></description>
			<content:encoded><![CDATA[<p><em>Toy Story</em>作为Pixar的第一部全长动画于1995年上映，15年后这个系列的终结片<em>Toy Story 3</em>上映了，于是第三部的片头有了Potato雌雄大盗与Woody在火车上对峙那段，Mr. Potato的打劫开场白和第一部时他的开场白一模一样，火车头的侧门上也赫然印着&ldquo;95&rdquo;。</p>
<p>第三部的重要角色草莓熊Lotso (Lots-&#8217;O-Huggin&#8217; Bear) 曾经在Pixar上一部动画<em>Up</em> （飞屋环游记）中有过<a href="http://en.wikipedia.org/wiki/Cameo_appearance" title="Cameo Appearance">Cameo appearance</a>，Karl老爷爷的屋子拔地而起飞过一个婴儿房的玻璃窗前时，草莓熊正安静地躺在画面左边的床脚边上。</p>
<p>看过3的观众普遍认为第三部中听着摇滚乐的垃圾清理工是第一部中喜欢破坏玩具的小孩Sid，因为他们都有穿一件印有骷髅头的T-shirt。</p>
<p>3中的玩具婴儿Big Baby在月光下荡秋天，忽然180度扭头那一幕俨然恐怖片<em>The Exorcist</em> （驱魔人）中被附体的女孩。</p>
<p>第二部中出现的反派玩具Emperor Zurg在电梯上和Buzz Lightyear对决那一幕，Zurg对只手抓住电梯边的Buzz Lightyear说: I am your father。和<em>Star Wars II</em>中天行者Luke和Darth Vader的父子对决如出一辙。</p>
<p><span id="more-363"></span></p>
<p>另外，2中玩具恐龙Rex在玩具城里追着玩具车跑的那一段，从玩具车的后视镜中看Rex追赶过来的镜头像极了<em>Jurassic Park</em> （侏罗纪公园）中恐龙追逐吉普车的那一幕。</p>
<p>在第二部的片尾花絮中矿工老爷爷Stinking Pete在他的玩具包装盒中对着两个Barbie娃娃说：我可以让你们出演下一部电影。潜规则？结果其中一个Barbie娃娃真的在第三部中出现了，并且找到了她的另一半Ken。现实中，芭比男娃娃确实是叫Ken。</p>
<p>第二部中出现的为Woody修手臂的老人曾经在Pixar的动画短片<em>Geri&#8217;s Game</em>（棋逢敌手）中演那个自己和自己下棋的孤独老人。</p>
<p>第三部中试图从Sunnyside幼儿园里逃出去的那只玩具兔子莫非是Pixar的动画短片<em>Presto</em>（魔术师和兔子）里的那只兔子 ?</p>
<p>在Pixar的第二部全长动画<em>A Bug&#8217;s Life</em>（虫虫危机）的片尾花絮中主角Flik撑起蒲公英准备飞越山谷时，他喊了一句Buzz Lightyear的经典台词: To Infinity and Beyond ! 此外，花絮中Woody也现身为虫虫们的拍摄工作打场记板。</p>
<p>作为呼应，<em>Toy Story 2</em>的片尾花絮中，<em>A Bug&#8217;s Life</em>中的Flik和毛毛虫Heimlich出现了，他们听说要出<em>A Bug&#8217;s Life 2</em>了，结果发现事实上他们只不过为<em>Toy Story 2</em>中Buzz Lightyear拯救Woody的那段跑了个龙套。</p>
<p>在另一部Pixar动画<em>Cars</em>（汽车总动员）的片尾花絮中，汽车城的影院里正在上映汽车版的<em>Toy Story</em>，然后是汽车版的<em>Monsters Inc.</em>（怪物电力工厂）还有汽车版的<em>A Bug&#8217;s Life</em>，&ldquo;演员&rdquo;都是原版人马&#8230;</p>
<p>在<em>Monsters Inc.</em>（怪物电力工厂）中Sulley把Boo（阿步）送回家中，阿步的桌子上躺着<em>Toy Story</em>里的女牛仔Jessie。</p>
<p>3中有过Cameo appearance的玩具包括<em>Finding Nemo</em>（海底总动员）中的负责接送小鱼们上下课的Mr. Ray，<em>Cars</em>中的主角Lightning McQueen和那个一鸣喇叭就倒的拖车，还有宫崎峻的龙猫也在Bonnie家跑了个龙套。</p>
<p>自从那辆叫Pizza Planet在<em>Toy Story</em>中出现过后，Pixar的每部全长动画都能看到这辆车了，连<em>WALL-E</em>（机器人瓦力）中都能看到废弃的Pizza Planet。此外，1中出现的那个Dinoco加油站成了<em>Cars</em>中Lightning McQueen的赛事主要赞助商。</p>
<p>除了Pizza Planet，还有A113，BNL，Luxo Ball这些Pixar里的常客。</p>
<p>在1中，Woody的主人男孩Andy的书柜上摆放着的一堆书，书名全部源自Pixar的系列短片，例如: <em>Tin Toy</em>, <em>Red&#8217;s Dream</em>, <em>Knick Knack</em> &#8230;</p>
<p>著名的Linux发行版Debian的版本命名号全部源自<em>Toy Story</em>里玩具的名字，如最早的1.1叫Buzz，1.2叫Rex（恐龙），2.0叫Hamm（猪排博士，存钱罐），09年的5.0叫Lenny（望远镜），最近的稳定版6.0叫Squeeze（三只眼的绿色外星人），下一个版本会不会叫Lotso呢？</p>
<h3>参考:</h3>
<ol>
<li id="ref-01"><a href="http://www.slashfilm.com/2010/02/12/toy-story-3-trailer-easter-eggs-revealed/" title="A special "Where's WALL-E" edition of Why For?">A special &#8220;Where&#8217;s WALL-E&#8221; edition of Why For?</a></li>
<li id="ref-02"><a href="http://www.slashfilm.com/2010/02/12/toy-story-3-trailer-easter-eggs-revealed/" title="oy Story 3 Trailer Easter Eggs Revealed">Toy Story 3 Trailer Easter Eggs Revealed</a></li>
<li id="ref-03"><a href="http://en.wikipedia.org/wiki/List_of_Pixar_film_references" title="ist of Pixar film references">List of Pixar film references</a></li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=SH_z5yM_QDo:SBTzHjCENZI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=SH_z5yM_QDo:SBTzHjCENZI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=SH_z5yM_QDo:SBTzHjCENZI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=SH_z5yM_QDo:SBTzHjCENZI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/06/26/trivia-about-toy-story-trilogy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google Buzz产品研究之CSS</title>
		<link>http://blog.punkid.org/2010/03/14/digg-into-google-buzz-on-css/</link>
		<comments>http://blog.punkid.org/2010/03/14/digg-into-google-buzz-on-css/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 11:16:36 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Buzz]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=355</guid>
		<description><![CDATA[我曾经用过twitter，不过很快便注销了账号。Google在推出Buzz之初，用捆绑的方式强推到我的Gmail, Greader里，让我很是反感，直到最近Google的Buzz团队们着手逐步解决Buzz带来的各种隐私问题，我才开始试用这个号称next-gen twitter的玩意。几天下来，发现对Google Buzz爱不释手，刮目相看啊。尤其是用HTML5, CSS3加上Geolocation驱动的Buzz移动版，让我在PC Desktop上都忍不了要试用移动版来玩Buzz。特别是它的Geo Buzz功能，可以看到离自己最近的Buzzrs的实时Buzz信息，相当的酷! 软文就此打住，我这篇文章的内容是解剖Google Buzz移动版的CSS应用。由于时间有限，加上Google复杂的页面代码压缩以及毫无规律的DOM class/id命名，很多东西难免有疏忽和纰漏，望斧正。 注: 以下测试及截图均来自桌面版的Mozilla Firefox和Google Chrome。（对Mozilla Firefox下的显示稍微做了点CSS Hack [via Stylish]） 首先来看Google Buzz移动版的完整截图，很标准的iPhone UI设计。 使用data URI scheme减少HTTP Request 众所周知，过多的HTTP Request对页面的载入速度有极大的负面作用。为了尽量减少CSS中图片载入的HTTP Request，出现了CSS Sprites技术。而data URI scheme则直接将文件用base64编码方式译为字符串，直接以inline形式嵌入到HTML/CSS文本中，计算机在获取HTML/CSS后，将base64过的字符串进行解码，生成原文件，而不是以传统的地址获取方式再发送一次HTTP Request来得到原始文件，相应的就减少了一次HTTP Request。不过这样做的坏处是，base64转译过的一大串字符串不利于HTML/CSS维护，代码的可读性也大大降低。 Google Buzz Mobile的UI图片几乎全部使用了data URI scheme技术，整个页面的HTTP Request大大减少。至于代码的维护&#8230;如同那些杂乱无章的class/id一样，只有Google的工程师才看得懂的天书。 该不该全面使用data URI scheme ? 为了减少访问数据下载量，我对blog启用了gzip压缩，包括javascript，css甚至@font-face里用到的字体也可以压缩（via Gzip your @font-face files）。启用gzip的压缩结果是客观的，一个Graublau Web.otf字体从41.464k压缩到了31.528k，压缩率为76.04%。然而用上data URI scheme，即使对CSS开启gzip压缩，由于经过base64转译后字符串本身大大增加了CSS文件的体积，压缩效果大大折扣。 再者，由于@font-face里用到的字体不会被修改，还可以启用cache来阻止下次访问重新下载，而HTML/CSS则是经常会被修改的，开启了cache也会经常要重新下载更新。 所以，什么时候使用data URI scheme呢？像jpg，png这些图片本身的压缩率就几乎到极限了，即使再gzip也是事倍功半。Data [...]]]></description>
			<content:encoded><![CDATA[<p>我曾经用过twitter，不过很快便注销了账号。Google在推出Buzz之初，用捆绑的方式强推到我的Gmail, Greader里，让我很是反感，直到最近Google的Buzz团队们着手逐步解决Buzz带来的各种隐私问题，我才开始试用这个号称next-gen twitter的玩意。几天下来，发现对Google Buzz爱不释手，刮目相看啊。尤其是用HTML5, CSS3加上Geolocation驱动的<a href="http://m.google.com/app/buzz?force=1" title="Google Buzz Mobile">Buzz移动版</a>，让我在PC Desktop上都忍不了要试用移动版来玩Buzz。特别是它的Geo Buzz功能，可以看到离自己最近的Buzzrs的实时Buzz信息，相当的酷!</p>
<p>软文就此打住，我这篇文章的内容是解剖Google Buzz移动版的CSS应用。由于时间有限，加上Google复杂的页面代码压缩以及毫无规律的DOM class/id命名，很多东西难免有疏忽和纰漏，望斧正。</p>
<p>注: 以下测试及截图均来自桌面版的Mozilla Firefox和Google Chrome。（对Mozilla Firefox下的显示稍微做了点CSS Hack [via <a href="https://addons.mozilla.org/firefox/addon/2108" title="Stylish Addon for Mozilla Firefox">Stylish</a>]）<br />
<span id="more-355"></span><br />
首先来看Google Buzz移动版的完整截图，很标准的iPhone UI设计。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/Buzz-Preview.png" alt="Buzz Preview" width="380" height="518" /></p>
<h3>使用data URI scheme减少HTTP Request</h3>
<p>众所周知，过多的HTTP Request对页面的载入速度有极大的负面作用。为了尽量减少CSS中图片载入的HTTP Request，出现了<a href="http://www.alistapart.com/articles/sprites/" title="http://www.alistapart.com/articles/sprites/">CSS Sprites</a>技术。而<a href="http://en.wikipedia.org/wiki/Data:_URI_scheme" title="data URI scheme">data URI scheme</a>则直接将文件用base64编码方式译为字符串，直接以inline形式嵌入到HTML/CSS文本中，计算机在获取HTML/CSS后，将base64过的字符串进行解码，生成原文件，<strong>而不是</strong>以传统的地址获取方式再发送一次HTTP Request来得到原始文件，相应的就减少了一次HTTP Request。不过这样做的坏处是，base64转译过的一大串字符串不利于HTML/CSS维护，代码的可读性也大大降低。</p>
<p>Google Buzz Mobile的UI图片几乎全部使用了data URI scheme技术，整个页面的HTTP Request大大减少。至于代码的维护&hellip;如同那些杂乱无章的class/id一样，只有Google的工程师才看得懂的天书。</p>
<h4>该不该全面使用data URI scheme ?</h4>
<p>为了减少访问数据下载量，我对blog启用了gzip压缩，包括javascript，css甚至@font-face里用到的字体也可以压缩（via <a href="http://www.phpied.com/gzip-your-font-face-files/" title="Gzip your @font-face files">Gzip your @font-face files</a>）。启用gzip的压缩结果是客观的，一个<code>Graublau Web.otf</code>字体从41.464k压缩到了31.528k，压缩率为76.04%。然而用上data URI scheme，即使对CSS开启gzip压缩，由于经过base64转译后字符串本身大大增加了CSS文件的体积，压缩效果大大折扣。</p>
<p>再者，由于@font-face里用到的字体不会被修改，还可以启用cache来阻止下次访问重新下载，而HTML/CSS则是经常会被修改的，开启了cache也会经常要重新下载更新。</p>
<p>所以，什么时候使用data URI scheme呢？像jpg，png这些图片本身的压缩率就几乎到极限了，即使再gzip也是事倍功半。Data URI scheme配合CSS Sprites技术来定义CSS里简单的背景图片是个不错的选择，至于那些体积较大，图形比较复杂的图片（例如摄影照片）还是直接定义<code>backgroud:url(&hellip;/filename.jpg)</code>吧。</p>
<p>P.S: 分享下我使用的gzip及缓存优化代码，把以下代码添加到<code>.htaccess</code>文件里。</p>
<pre lang="apache">
&lt;ifmodule mod_deflate.c&gt;
Addtype font/opentype .otf
Addtype font/truetype .ttf
Addtype text/javascript .js
AddOutputFilterByType DEFLATE text/css font/opentype font/truetype text/javascript application/javascript application/x-javascript
&lt;/ifmodule&gt;

ExpiresActive On
ExpiresByType font/opentype "access plus 2 years"
ExpiresByType font/truetype "access plus 2 years"
ExpiresByType text/css "modification plus 1 month"
ExpiresByType text/javascript "modification plus 1 month"
</pre>
<h3>使用border-image定义背景图片</h3>
<p>为了适应各类屏幕尺寸的掌上设备，Google Buzz里的UI控件没有简单地使用固定尺寸的图片来定义背景，也没有通过层层<code>div</code>来定义每个边角。因为CSS3已经带来了<a href="http://www.w3.org/TR/css3-background/#border-images" title="CSS3 border-image">border-image</a>属性！</p>
<p>如图所示，Google Buzz Mobile顶端的一排按钮以及下面的输入栏（蓝色框显示）仅仅用了三张简单的小图片（红色框显示）即实现了整个UI设计。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/Buzz-Border-Image.png" alt="Buzz Border Image" width="380" height="119" /></p>
<p>以图片中Following按钮为例，简要说下<code>border-image</code>的使用。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/Buzz-Following.png" alt="Buzz Following" width="433" height="92" /></p>
<p><code>border-image</code>实际上是将一张图片切割为9宫格，用以分别显示一个元素的topleft, top, topright, right, bottomright, bottom, bottomleft, left和center九个区域，其中top, right, bottom, left以及center区域在无法填满元素时会默认进行图片水平/垂直重复。例如这个Following按钮的CSS代码为:</p>
<pre lang="css">
.FtX31c {
    -webkit-border-image: url(data:image/png;base64,...) 4 1 5 4 stretch stretch;
    border-width: 4px 1px 5px 4px;
    ...
}
</pre>
<p>除了前面说到的应用了data URI scheme，<code>-webkit-border-image</code>中的<code>4 1 5 4</code>分别代表了从上，右，下，左顺时针方向切割图片的像素值，其中top切块的像素值为4px，right切块为1px，bottom切块为5px，left切块为4px。这与下面的<code>border-width</code>是相对应的。而<code>stretch</code>则是自动水平/垂直拉伸以填满元素区域，<strong>但</strong>不进行图片重复。</p>
<p>另外，目前Gecko, Presto, Webkit三大引擎都支持<code>border-image</code>了。</p>
<h3>利用text-overflow隐藏文字</h3>
<p><a href="http://www.w3.org/TR/2001/WD-css3-text-20010517/#text-overflow-props" title="CSS3: text-overflow">Text-overflow</a>是CSS3中新加入的一个属性，用来控制溢出盒模型的文字显示方式。在Google Buzz Mobile中Google使用了<code>text-overflow: ellipsis</code>属性来控制文字的显示方式，溢出盒模型的文字将会自动以<code>&hellip;</code>代替显示。</p>
<p>如下图，支持<code>text-overflow: ellipsis</code>属性的溢出文字自动压缩为<code>&hellip;</code>，而在不支持<code>text-overflow: ellipsis</code>的Firefox下测试，单词只显示了一半。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/Buzz-Text-overflow.png" alt="Buzz Text-overflow" width="380" height="213" /></p>
<h3>End</h3>
<p>如果你跟我一样，用Mozilla Firefox访问Google Buzz Mobile的话，可以使用我修改过的CSS代码，添加到Stylish插件里。</p>
<p>点击下载: <a href="http://blog.punkid.org/wp-content/uploads/2010/03/buzz.userstyles.css" title="Google Buzz Userstyles">Google Buzz Userstyles</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=83KoCiv4HuI:zId2ls9IYhI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=83KoCiv4HuI:zId2ls9IYhI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=83KoCiv4HuI:zId2ls9IYhI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=83KoCiv4HuI:zId2ls9IYhI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/03/14/digg-into-google-buzz-on-css/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Going Mobile II</title>
		<link>http://blog.punkid.org/2010/03/03/going-mobile-two/</link>
		<comments>http://blog.punkid.org/2010/03/03/going-mobile-two/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 10:10:22 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[web-developement]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=349</guid>
		<description><![CDATA[还是讨论mobile web design的话题，对之前的Going Mobile做些补充和修正。因为我的blog模板是完全用HTML5重写的，所有不支持HTML5以及CSS的移动设备浏览器全部忽略，我指的是此文只针对iPhone Safari，Google Android Chrome Lite以及Opera Mini/Mobile这些Modern Browsers。 善用&#64;Media规则 Opera Mini/Mobile, Chrome Lite, iPhone Safari都支持&#64;media规则，所以下面这行代码基本上就能搞定这些主流的移动设备浏览器了。 @import url(css/handheld.css) only screen and (max-device-width:480px) 如果你希望为iPhone Safari/Chrome Lite添加独立的样式表的话，加上-webkit prefix就可以了。 @import url(css/handheld_iphone.css) only screen and (-webkit-max-device-width:480px) Viewport的重要性 由于Opera Mobile的默认screen width是850px，而iPhone Safari则是980px。如果你跟我一样，不设定body的宽度，而是让它自适应屏幕宽度的话，你会发现在移动浏览器上你的网页宽度可能远远超过了480px。添加viewport的META到HTML head里能有效避免这个问题。 &#60;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes" /&#62; 通过width=device-width将网页默认宽度设置为设备屏幕尺寸。 Float and Fixed Positioning float能不用尽量不用，但不等于说float就不能用，至少iPhone Safari，Chrome Lite以及Opera Mini/Mobile对浮动的处理都是很准确的。 [...]]]></description>
			<content:encoded><![CDATA[<p>还是讨论mobile web design的话题，对之前的<a href="http://blog.punkid.org/2009/08/25/going-mobile/" title="Going Mobile">Going Mobile</a>做些补充和修正。因为我的blog模板是完全用HTML5重写的，所有不支持HTML5以及CSS的移动设备浏览器全部忽略，我指的是此文只针对iPhone Safari，Google Android Chrome Lite以及Opera Mini/Mobile这些Modern Browsers。</p>
<h3>善用&#64;Media规则</h3>
<p>Opera Mini/Mobile, Chrome Lite, iPhone Safari都支持<code>&#64;media</code>规则，所以下面这行代码基本上就能搞定这些主流的移动设备浏览器了。</p>
<pre lang="css">
@import url(css/handheld.css) only screen and (max-device-width:480px)
</pre>
<p>如果你希望为iPhone Safari/Chrome Lite添加独立的样式表的话，加上<code>-webkit</code> prefix就可以了。</p>
<pre lang="css">
@import url(css/handheld_iphone.css) only screen and (-webkit-max-device-width:480px)
</pre>
<p><span id="more-349"></span></p>
<h3>Viewport的重要性</h3>
<p>由于Opera Mobile的默认screen width是850px，而iPhone Safari则是980px。如果你跟我一样，不设定<code>body</code>的宽度，而是让它自适应屏幕宽度的话，你会发现在移动浏览器上你的网页宽度可能远远超过了480px。添加<code>viewport</code>的META到HTML head里能有效避免这个问题。</p>
<pre lang="xml">
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes" /&gt;
</pre>
<p>通过<code>width=device-width</code>将网页默认宽度设置为设备屏幕尺寸。</p>
<h3>Float and Fixed Positioning</h3>
<p><code>float</code>能不用尽量不用，但不等于说<code>float</code>就不能用，至少iPhone Safari，Chrome Lite以及Opera Mini/Mobile对浮动的处理都是很准确的。</p>
<p>真正需要避免的是<code>fixed</code>定位，一是浪费了原本就不大的屏幕空间，二是滚动页面时容易导致花屏。</p>
<h3>使用Max-Width</h3>
<p>如果你的图片动辄500px的宽度，在移动设备的浏览器上显示肯定会溢出屏幕，最好的办法是给<code>img</code>加上<code>max-width</code>属性:</p>
<pre lang="css">
img {max-width:100%; height:auto;}
</pre>
<h3>充分利用好HTML5 input</h3>
<p>HTML5为input加入了很多激动人心的新属性，包括新的<code>type</code>，<code>placeholder</code>以及<code>autofocus</code>。</p>
<h4>新的Input类别</h4>
<p>新加入的input type包括<code>email</code>, <code>url</code>, <code>search</code>&hellip;使用这些<code>type</code>准确定义你的输入框，不仅让代码更语义化，而且在iPhone Safari上也能获得更大的输入便捷。</p>
<p>例如，如果你的<code>input</code>定义为<code>email</code> type:</p>
<pre lang="xml">
&lt;input type="email"&gt;
</pre>
<p>在iPhone Safari上点击输入框，弹出的虚拟键盘是这样的:</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/input-type-email.png" alt="input-type-email" width="320" height="480" /></p>
<p class="center"><small>图片来自<a href="http://diveintohtml5.org/forms.html" title="A Form of Madness - Dive Into HTML5">Dive into HTML5: A Form of Madness</a></small></p>
<p>最下面的一排按钮包括了email地址常用的<code>&#64;</code>, <code>.</code>符号。</p>
<p>而如果你的<code>input</code>定义为<code>url</code> type的话:</p>
<pre lang="xml">
&lt;input type="url"&gt;
</pre>
<p>在iPhone Safari上弹出的虚拟键盘则自动包括了常用的<code>.</code>，<code>/</code>，<code>.com</code>符号。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/input-type-email.png" alt="input-type-email" width="320" height="480" /></p>
<p class="center"><small>图片来自<a href="http://diveintohtml5.org/forms.html" title="A Form of Madness - Dive Into HTML5">Dive into HTML5: A Form of Madness</a></small></p>
<p>长摁<code>.com</code>的话还能在com, org, net中切换，不得不赞叹Apple的工程师对iPhone的细节把握，可惜的是Google Android就没这么聪明了。</p>
<h4>Placeholder属性</h4>
<p><code>placeholder</code>这个新加入的属性可以在<code>input</code>中加入提示性文字，当点击<code>input</code>时该提示性文字则自动隐藏。以往这样的功能是需要依赖于javascript才能实现的。</p>
<p><img src="http://blog.punkid.org/wp-content/uploads/2010/03/input-attr-placeholder.png" alt="input-attr-placeholder" width="400" height="116" /></p>
<p>如上图，加入以下代码，在输入框内会出现<em>(Required, will not be published)</em>的提示性文字。</p>
<pre lang="xml">
&lt;input type="email" id="email" value="" placeholder="(Required, will not be published)" required /&gt;
</pre>
<p>经测试，iPhone Safari和Chrome Lite都支持该属性。</p>
<h4>Autofocus</h4>
<p>另一个新增加的<code>input</code>是<code>autofocus</code>，目的是在页面加载完后自动聚焦到指定输入框内，这个效果经常在网页账号登陆页面上使用，例如Gmail, WordPress的登陆页面等等。同样，iPhone Safari，Chrome Lite以及Opera Mobile都支持它。</p>
<pre lang="xml">
&lt;input id="login" autofocus&gt;
</pre>
<h3>No Font-Face</h3>
<p><a href="http://www.w3.org/TR/css3-fonts/#the-font-face-rule" title="CSS Fonts Module Level 3">font-face</a>虽然在iPhone Safari，Chrome Lite以及Opera Mobile下都支持，但是以我的blog为例，即使开启了gzip压缩，一个Graublau Web字体还是有38kb。最好还是为移动样式表重新定义下<code>font-family</code>，去掉自定义字体。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=xHhehKopV9Y:g1yx1PPX8ZA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=xHhehKopV9Y:g1yx1PPX8ZA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=xHhehKopV9Y:g1yx1PPX8ZA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=xHhehKopV9Y:g1yx1PPX8ZA:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/03/03/going-mobile-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keyboard Shortcuts for Nürburgring</title>
		<link>http://blog.punkid.org/2010/01/28/keyboard-shortcuts-for-nurburgring/</link>
		<comments>http://blog.punkid.org/2010/01/28/keyboard-shortcuts-for-nurburgring/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:35:45 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Site Log]]></category>
		<category><![CDATA[shortcuts]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=346</guid>
		<description><![CDATA[由于太习惯VIM, Gmail的快捷键操作了，所以花了点时间利用jQuery给blog加上了快捷键操作，一切sandbox coding工作都是在Mozilla的Bespin云平台上完成的，很看好这个基于HTML5的云编辑平台，期待尽早部署第三方插件，自动补充，文件管理等功能。 以下是快捷键一览表，更多的会陆续添加进来。另外，用CSS3来style表格很有趣。 快捷键操作 快捷键 操作 j 向下翻页 k 向上翻页 n 跳转到下篇日志/下一页 p 跳转到上篇日志/上一页 r 发表新的评论 Esc 使input, textarea处于非输入状态(blur) g 然后 g 跳转到页眉处 Shift + g 跳转到页脚处 g 然后 h 回首页 g 然后 s 跳转到搜索框内]]></description>
			<content:encoded><![CDATA[<p>由于太习惯VIM, Gmail的快捷键操作了，所以花了点时间利用jQuery给blog加上了快捷键操作，一切sandbox coding工作都是在Mozilla的<a href="https://bespin.mozilla.com" title="Bespin: Code in the Cloud">Bespin</a>云平台上完成的，很看好这个基于<abbr title="Hyper Text Markup Language">HTML</abbr>5的云编辑平台，期待尽早部署第三方插件，自动补充，文件管理等功能。</p>
<p>以下是快捷键一览表，更多的会陆续添加进来。另外，用<abbr title="Cascading Style Sheets">CSS</abbr>3来style表格很有趣。</p>
<table style="width:69.4%;">
<caption>快捷键操作</caption>
<colgroup>
<col style="width:38%" />
<col style="width:61%" />
</colgroup>
<thead>
<tr>
<th>快捷键</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>j</td>
<td>向下翻页</td>
</tr>
<tr>
<td>k</td>
<td>向上翻页</td>
</tr>
<tr>
<td>n</td>
<td>跳转到下篇日志/下一页</td>
</tr>
<tr>
<td>p</td>
<td>跳转到上篇日志/上一页</td>
</tr>
<tr>
<td>r</td>
<td>发表新的评论</td>
</tr>
<tr>
<td>Esc</td>
<td>使<code>input</code>, <code>textarea</code>处于非输入状态(blur)</td>
</tr>
<tr>
<td>g 然后 g</td>
<td>跳转到页眉处</td>
</tr>
<tr>
<td>Shift + g</td>
<td>跳转到页脚处</td>
</tr>
<tr>
<td>g 然后 h</td>
<td>回首页</td>
</tr>
<tr>
<td>g 然后 s</td>
<td>跳转到搜索框内</td>
</tr>
</tbody>
</table>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=o4iOWRM-ZhQ:sr1y7WZZjnU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=o4iOWRM-ZhQ:sr1y7WZZjnU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=o4iOWRM-ZhQ:sr1y7WZZjnU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=o4iOWRM-ZhQ:sr1y7WZZjnU:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/01/28/keyboard-shortcuts-for-nurburgring/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>如何整站迁移WP</title>
		<link>http://blog.punkid.org/2010/01/12/how-to-move-your-wordpress-seamlessly/</link>
		<comments>http://blog.punkid.org/2010/01/12/how-to-move-your-wordpress-seamlessly/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 09:16:07 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[301]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=345</guid>
		<description><![CDATA[由于某人为因素，本站从blog.punkid.cn迁移到了blog.punkid.org。原以为是个大工程，结果从域名购买，DNS解析到Wordpress搬迁两个小时就搞定了。下面是一些搬迁过程中的经验技巧，希望对cn钉子户们有一定帮助。 域名购买 打死我也不在国内域名商那买域名了，除了某些因素不说，光是续费就够麻烦的，你得找原注册商那续费，而且想要进行域名转移的话，还要提交身份证信息等纸质凭证给原域名商进行核实。买域名还是老老实实的选家国外的注册机构吧，千万别贪国内那些域名商给你的小恩小惠。我是godaddy注册的，然后google了下coupon codes，从48美元打折到了36美元左右，缴费方式支持paypal以及国内的支付宝，所以没有双币信用卡进行美元支付的话也没关系。 另外，godaddy很多域名是第一年便宜，但是之后的年费比较贵，像.me结尾的域名首年才8美元，但是之后每年要支付20美元，我索性选择了传统的.org域名，每年老老实实交个15美元得了。 备份，修改WP数据库 WP后台就有数据库的备份选项，一定要时常备份，以备不测。因为域名修改了，我要把数据库里的原域名地址全部更换为新域名地址，简单的办法是利用*unix的sed工具替换，它非常的快，而且不用打开文本编辑器等待庞大的数据库文件全部读取完。 $ sed -i 's/blog\.punkid\.cn/blog\.punkid\.org/gi' databasename.sql 然后利用phpmyadmin导入进去就可以了。 搬动Wordpress文件夹 很简单，我是直接cp -r blog.punkid.cn/* blog.punkid.cn/.* blog.punkid.org/搞定的，复制完之后最好确认下那些隐藏文件是否都复制过去了，例如.htaccess 利用301重定向旧域名到新域名 更改域名最怕的是原在旧域名下被google, yahoo, bing索引的地址不能立刻转移到新域名下，除了重建sitemap通知google爬虫来重新抓取之外，利用到301永久重定向也是很重要的。我的目标自然是把旧域名下的链接全部自动重定向到新域名下面，例如我的这篇文件Ultimate Guide to Manage Your iPod under Linux : Revised，每个月都有很大程度的浏览量来自于google的索引。如何保证访问者即使输入旧的地址http://blog.punkid.cn/2008/01/06/ultimate-guide-to-manage-your-ipod-under-linux也能自动重定向到http://blog.punkid.org/2008/01/06/ultimate-guide-to-manage-your-ipod-under-linux呢？ 在原域名(blog.punkid.cn)的目录下添加.htaccess文件，里面写入: &#60;IfModule mod_rewrite.c&#62; Options +FollowSymlinks RewriteEngine On RewriteRule ^(.*)$ http://blog.punkid.org/$1 [R=301,NC] &#60;/IfModule&#62; 搞定，剩下的让google来完成吧。 迁移awstat访问统计数据 我一直都在用awstat的访问统计，现在迁移到新的域名下，除了修改awstat的conf文件，还要把就域名下的访问统计数据移到新域名下。好在awstat的访问统计数据都是文本形式保存在awstats/awdata目录下，而且每月数据都是以诸如awstats112007.blog.punkid.cn.txt的文件名存在的，不用多解释了，把这么多文件全部替换为新域名blog.punkid.org就行了，不需要文件名批处理软件，*unix下一个rename命令就搞定了。 $ rename -v 's/punkid\.cn/punkid\.org/' *.txt End 暂时就这么多，目前来看搬迁后还没出现什么问题。另外，本站在Going HTML5，Going [...]]]></description>
			<content:encoded><![CDATA[<p>由于某人为因素，本站从blog.punkid.cn迁移到了blog.punkid.org。原以为是个大工程，结果从域名购买，DNS解析到Wordpress搬迁两个小时就搞定了。下面是一些搬迁过程中的经验技巧，希望对cn钉子户们有一定帮助。</p>
<h3>域名购买</h3>
<p>打死我也不在国内域名商那买域名了，除了某些因素不说，光是续费就够麻烦的，你得找原注册商那续费，而且想要进行域名转移的话，还要提交身份证信息等纸质凭证给原域名商进行核实。买域名还是老老实实的选家国外的注册机构吧，千万别贪国内那些域名商给你的小恩小惠。我是godaddy注册的，然后google了下<em>coupon codes</em>，从48美元打折到了36美元左右，缴费方式支持paypal以及国内的支付宝，所以没有双币信用卡进行美元支付的话也没关系。</p>
<p>另外，godaddy很多域名是第一年便宜，但是之后的年费比较贵，像.me结尾的域名首年才8美元，但是之后每年要支付20美元，我索性选择了传统的.org域名，每年老老实实交个15美元得了。<br />
<span id="more-345"></span></p>
<h3>备份，修改WP数据库</h3>
<p>WP后台就有数据库的备份选项，一定要时常备份，以备不测。因为域名修改了，我要把数据库里的原域名地址全部更换为新域名地址，简单的办法是利用*unix的sed工具替换，它非常的快，而且不用打开文本编辑器等待庞大的数据库文件全部读取完。</p>
<pre lang="bash">
$ sed -i 's/blog\.punkid\.cn/blog\.punkid\.org/gi' databasename.sql
</pre>
<p>然后利用phpmyadmin导入进去就可以了。</p>
<h3>搬动Wordpress文件夹</h3>
<p>很简单，我是直接<code>cp -r blog.punkid.cn/* blog.punkid.cn/.* blog.punkid.org/</code>搞定的，复制完之后最好确认下那些隐藏文件是否都复制过去了，例如<code>.htaccess</code></p>
<h3>利用301重定向旧域名到新域名</h3>
<p>更改域名最怕的是原在旧域名下被google, yahoo, bing索引的地址不能立刻转移到新域名下，除了重建sitemap通知google爬虫来重新抓取之外，利用到301永久重定向也是很重要的。我的目标自然是把旧域名下的链接全部自动重定向到新域名下面，例如我的这篇文件<a href="http://blog.punkid.org/2008/01/06/ultimate-guide-to-manage-your-ipod-under-linux/" title="Ultimate Guide to Manage Your iPod under Linux : Revised">Ultimate Guide to Manage Your iPod under Linux : Revised</a>，每个月都有很大程度的浏览量来自于google的索引。如何保证访问者即使输入旧的地址<code>http://blog.punkid.cn/2008/01/06/ultimate-guide-to-manage-your-ipod-under-linux</code>也能自动重定向到<code>http://blog.punkid.org/2008/01/06/ultimate-guide-to-manage-your-ipod-under-linux</code>呢？</p>
<p>在原域名(blog.punkid.cn)的目录下添加.htaccess文件，里面写入:</p>
<pre lang="apache">
&lt;IfModule mod_rewrite.c&gt;
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.*)$ http://blog.punkid.org/$1 [R=301,NC]
&lt;/IfModule&gt;
</pre>
<p>搞定，剩下的让google来完成吧。</p>
<h3>迁移awstat访问统计数据</h3>
<p>我一直都在用awstat的访问统计，现在迁移到新的域名下，除了修改awstat的conf文件，还要把就域名下的访问统计数据移到新域名下。好在awstat的访问统计数据都是文本形式保存在<code>awstats/awdata</code>目录下，而且每月数据都是以诸如<code>awstats112007.blog.punkid.cn.txt</code>的文件名存在的，不用多解释了，把这么多文件全部替换为新域名blog.punkid.org就行了，不需要文件名批处理软件，*unix下一个<code>rename</code>命令就搞定了。</p>
<pre lang="bash">
$ rename -v 's/punkid\.cn/punkid\.org/' *.txt
</pre>
<h3>End</h3>
<p>暂时就这么多，目前来看搬迁后还没出现什么问题。另外，本站在<a href="http://blog.punkid.org/2009/08/16/going-html5/" title="Going HTML5">Going HTML5</a>，<a href="http://blog.punkid.org/2009/08/25/going-mobile/" title="Going Mobile">Going Mobile</a>后对theme进行了更激进式的CSS3升级，目前来看Firefox 3.6, Google Chrome Dev和Opera 10.50下的表现各有千秋吧。</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/punkid?a=ZTAfzooFeWc:2bAS8RfEnQw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/punkid?i=ZTAfzooFeWc:2bAS8RfEnQw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/punkid?a=ZTAfzooFeWc:2bAS8RfEnQw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/punkid?i=ZTAfzooFeWc:2bAS8RfEnQw:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2010/01/12/how-to-move-your-wordpress-seamlessly/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

