<?xml version="1.0" encoding="utf-8" ?><rss version="2.0">
	<channel>
		<title>菜鸟先飞 - 天魔窟</title>
		<link>http://blog.sinzy.net/changke/category/57</link>
		<description>我是如何变得世故……</description>
		<managingEditor>member@blog.sinzy.net (天魔)</managingEditor>
		<language>zh-cn</language>
		<generator>nirvana Blog Application 0.8.1007</generator>
				<item>
			<title>Stop iPhone/Android browser from zooming pages automatically</title>
			<link>http://blog.sinzy.net/changke/entry/21846</link>
			<description>针对 iPhone 和 Android 的浏览器（Mobile Safari/WebKit）设计的网页，本身应该在内容布局和外观上都专门做了优化，比如合适的内容块位置以及字号。我们会希望页面能按照原样呈现，而不会被浏览器自动缩放。&lt;br /&gt;&lt;br /&gt;To do this，需要在页面 head 区域内增加如下的 meta 标签：&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;code&gt;&amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0, target-densitydpi=device-dpi&amp;quot; /&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;其中的 target-densitydpi 属性是 Android 浏览器所需要的，因为 Android 硬件设备标准不一，其中同样物理尺寸的屏幕，可能因为 dpi 的不同而具有不同的分辨率，Android 浏览器默认会缩放页面以便最好地呈现，可惜和 Java 的垃圾回收一样，它很难做到“最好”。所以还是人工指定吧。&lt;br /&gt;&lt;br /&gt;除了页面的 meta 标签，还需要在 CSS 文件里加上：&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;code&gt;html {&lt;br /&gt;&amp;nbsp; &amp;nbsp; -webkit-text-size-adjust: none;&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;这样当旋转手机，浏览器自动转为宽屏模式时，页面字体也不会被自动放大。&lt;br /&gt;&lt;br /&gt;以上设定参见 Apple 的 Safari 开发者手册以及 Android 的 &lt;a href=&quot;http://developer.android.com/reference/android/webkit/WebView.html&quot; target=&quot;_blank&quot;&gt;WebView 文档&lt;/a&gt;。是以总结之。</description>
			<pubDate>Fri, 09 Jul 2010 16:06:43 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/21846</guid>
		</item>
 				<item>
			<title>switch/case equivalence in Python</title>
			<link>http://blog.sinzy.net/changke/entry/21333</link>
			<description>Python 默认的选择分支语句只有 if ... elif ... else，对于比较多的分支，这么写看起来有点傻，不符合 Python 的 geeky 特性。搜索了一下，觉得下面这个用 Dictionary 的办法不错：&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;code&gt;cases = {&lt;br /&gt;&amp;nbsp; &amp;nbsp; 'a': f1,&lt;br /&gt;&amp;nbsp; &amp;nbsp; 'b': f2,&lt;br /&gt;&amp;nbsp; &amp;nbsp; 'c': f3,&lt;br /&gt;&amp;nbsp; &amp;nbsp; 'd': f4&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;r = cases.get(v, defaultF)(param)&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;分别定义过程 f1 到 f4 以及 defaultF，这样根据 v 的取值（比如 'a' 到 'd'）会执行 f1 到 f4，如果 v 是其他值则执行 defaultF。注意 Dictionary 中的函数名后面不要带括号，否则就成了调用而不是引用了。</description>
			<pubDate>Tue, 09 Feb 2010 22:31:54 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/21333</guid>
		</item>
 				<item>
			<title>Installed Ubuntu Netbook Remix</title>
			<link>http://blog.sinzy.net/changke/entry/21302</link>
			<description>在 Amazon 订购的优盘送到了，于是今天给&lt;a href=&quot;http://blog.sinzy.net/changke/entry/19500&quot; target=&quot;_blank&quot;&gt;英英的 Netbook&lt;/a&gt; 装上了 Ubuntu Netbook Remix 9.10。&lt;br /&gt;&lt;br /&gt;几乎是 works-out-of-the-box，除了&lt;a href=&quot;http://johnthelutheran.tumblr.com/post/300260251/skype-mic-on-aspireone-with-ubuntu-karmic&quot; target=&quot;_blank&quot;&gt;麦克风需要稍微设置一下&lt;/a&gt;。Ubuntu 太强大了。&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;limited&quot; alt=&quot;&quot; src=&quot;http://blog.sinzy.net/pix/2010/1/2bdab7a57853689fdde09c31f7e2a4be.png&quot; style=&quot;border:0;&quot; /&gt;</description>
			<pubDate>Wed, 03 Feb 2010 15:36:07 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/21302</guid>
		</item>
 				<item>
			<title>Android 浏览器的 User Agent 串</title>
			<link>http://blog.sinzy.net/changke/entry/20797</link>
			<description>关键字应该是 &lt;strong&gt;Mobile Safari&lt;/strong&gt; 吧？&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;limited&quot; alt=&quot;&quot; src=&quot;http://blog.sinzy.net/pix/2009/1/6d5952d05cf9e84e6b99520e9c58757b.jpg&quot; style=&quot;border:0;&quot; /&gt;</description>
			<pubDate>Tue, 20 Oct 2009 18:06:16 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/20797</guid>
		</item>
 				<item>
			<title>有电视看了！Ubuntu 9.04 下安装设置 USB 电视卡</title>
			<link>http://blog.sinzy.net/changke/entry/20508</link>
			<description>在国内我是不看电视的，大概从高二开始就这样了。&lt;br /&gt;&lt;br /&gt;但是来德国后我们逐渐又想看电视了，一是可以因此提高德语水平，二是这样能更深入的了解德国文化和生活。有几次在朋友家看电视，感觉挺新鲜的。朋友家是自己买了个锅盖，还砍了一节树枝回来在阳台上支起锅盖，DIY 得很厉害。&lt;br /&gt;&lt;br /&gt;我们家没有电视机，不过电脑很多，电器商城里卖的电视卡也很多，我于是开始了解。&lt;br /&gt;&lt;br /&gt;德国很多地区有数字电视（DVB-T）信号覆盖，用天线或者锅盖就能接收，不需要 Cable 也不用付费，而大多数电视卡就是 DVB-T 信号接收和处理设备。So easy 啊～&lt;br /&gt;&lt;br /&gt;然后上 &lt;a href=&quot;http://wiki.ubuntuusers.de/TV-Karten&quot; target=&quot;_blank&quot;&gt;ubuntuusers.de&lt;/a&gt; 做功课，看了几篇 wiki 文章和论坛帖子，锁定了 &lt;a href=&quot;http://www.hauppauge.de/de/site/products/data_novatstick.html&quot; target=&quot;_blank&quot;&gt;Hauppauge WinTV Nova-T Stick&lt;/a&gt; 这款 USB 电视卡。便宜，好用，最重要的是，在 Ubuntu 9.04 下 works out-of-the-box。&lt;br /&gt;&lt;br /&gt;在 &lt;a href=&quot;http://www.ueberall-tv.de/&quot; target=&quot;_blank&quot;&gt;ueberall-tv.de&lt;/a&gt; 上查到了我们住的地方属于用室内天线就能接收到信号的区域，发射台在纽伦堡，离我们这不到15公里。Bingo!&lt;br /&gt;&lt;br /&gt;于是今天去入手了，回家安装好，把天线固定在窗台上，然后 apt-get install 了 me-tv 这个官方源里自带的 DVB-T 播放软件。&lt;br /&gt;&lt;br /&gt;第一次启动后提示找不到频道信息，我一度担心是信号太弱。吃完晚饭后再上 ubuntuusers.de 做功课，下载了网友贡献的 Erlangen 地区的频道列表，并 apt 安装了 dvb-utils，导入频道列表重启 Me-TV 后，一切变得美好。&lt;br /&gt;&lt;br /&gt;整个过程简单亲切，Ubuntu 真好，微软奋斗10多年也没实现的 plug &amp;amp; play，在 Linux 下却是那么的自然而然。&lt;br /&gt;&lt;br /&gt;&lt;img class=&quot;limited&quot; alt=&quot;&quot; src=&quot;http://blog.sinzy.net/pix/2009/1/0864aac2edd87864038626ea02539f7b.jpg&quot; style=&quot;border:0;&quot; /&gt;&lt;br /&gt;&lt;br /&gt;以后可以更好的收看敌台接受洗脑了，还有 Eurosport 台可以看德甲什么的，虽然我不怎么哈足球，但解说很激情，爱听。&lt;br /&gt;&lt;br /&gt;不愧是资本主义国家，德国最大的电视一台和二台，23:00 后的节目尺度都绝对够上广电总局的黑名单啊～^^</description>
			<pubDate>Mon, 10 Aug 2009 21:22:52 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/20508</guid>
		</item>
 				<item>
			<title>一波三折的升级</title>
			<link>http://blog.sinzy.net/changke/entry/20330</link>
			<description>我的台式电脑（Ubuntu-Box）已经用了1年了，忘记了从哪天开始头脑发热，产生了升级的念头。&lt;br /&gt;&lt;br /&gt;我所追求的不是性能，而是稳定，低耗能，静音以及良好的 Linux 系统硬件兼容性，因此当时买的是华硕的准系统（T3-M2NC51PV），AMD AM2 接口，Nv 的芯片组，板载 GeForce 6150 显示核心。我安装的 3D 游戏只有 Doom 3 和 Savage2（游戏资源是 Linux 普及的硬伤），当然，只有用最低画质和分辨率才能得到流畅的效果。除了集成显卡性能差以外，我的 CPU 也很烂，处于节能考虑，用的是 AMD 的 45w BE-2300，主频只有 1.9G，塞牙缝都不够。&lt;br /&gt;&lt;br /&gt;有了升级念头之后便开始关注硬件，Toms 仍然是那么好。我仍然想保证节能特性，于是 CPU 很快确定，AMD 45w 系列的新一代 e 系列，其中最受好评，以及我的主板在升级了 BIOS 之后最高能支持到的，就是主频 2.5G 的 4850e 了，虽然因为二级缓存太少而性能依然很烂，但比起上一个也是进步不少了。&lt;br /&gt;&lt;br /&gt;Toms 说升级 GPU 取得的整机性能提升要比 CPU 大得多。我的主板只有一个 PCI-Express 16 插槽，并且因为是小机箱，所以容不下怪兽卡，而我最顾虑的还是电源。原配电源的额定功率只有 250w，而现在的显卡都是电老虎，此外，因为是 Linux 系统，所以驱动程序很垃圾的 A 卡也被排除，N 卡都清一色的要求最低 300w……多方查证以及粗略计算了我的机器的其他部分的耗电量，我决定赌一把，买一块最高能耗 50w 的 9500 GT。这款 GPU 在中端的表现还是不错的，也是 9 系列里最省电的。为了保持静音，我还特意留心选择了不带风扇的被动散热版本。&lt;br /&gt;&lt;br /&gt;方案定了就开始上 eBay 搜索。eBay 真是什么都有啊。先拍 CPU，出师不利地失败了 6 次，一怒之下买了块全新的，只贵了10欧。再拍显卡，这下运气不错，35欧就拿下一块全新的 Sparkle 的 9500 GT，1G 显存，被动散热，虽然只是 DDR2 内存，但是价位很亲切。&lt;br /&gt;&lt;br /&gt;没想到卖家紧接着出差了，被放了1周的鸽子，CPU 早早送到却只能待在盒子里。&lt;br /&gt;&lt;br /&gt;终于在10天后收到了显卡，开箱准备安装时却挨了当头一棒——因为是被动散热，所以散热片往外延伸太多，和主板的芯片组散热片位置冲突了。&lt;br /&gt;&lt;br /&gt;郁闷了片刻，恶向胆边生，决定把显卡散热片割一个缺口，以便给主板散热片腾位置。&lt;br /&gt;&lt;br /&gt;费了九牛二虎之力，手上弄了好几道口子，在楼下房东老爷子友情提供强力锉刀（德语：Feile）的帮助下，新显卡的散热片被我成功整形了，顺利地插到了主板上。这次的 DIY 实在是够档次……。&lt;br /&gt;&lt;br /&gt;激动地开机，一切顺利，电源看来跟得上，新显卡，新 CPU 都能被 BIOS 识别，Linux 桌面也出来了，运行 Nv 的工具也检测到了 GPU 类型。于是迫不及待地启动了 Savage2 这个 3D 游戏。&lt;br /&gt;&lt;br /&gt;问题出来了，硬盘长亮，loading 了很久。我只道是数据量大，没在意。进入设置界面把特效打开，分辨率调高，这次就出现了 freezing 现象，假死，硬盘长亮。我继续等，最后还是进入了游戏，不错很流畅，但退出是再次假死，这次终于程序异常退出了。&lt;br /&gt;&lt;br /&gt;有些忐忑不安查看 log，赫然看到大量的 ata SError 之类的信息，好像是硬盘出错一样，这是以前从没遇到过的。&lt;br /&gt;&lt;br /&gt;反复试了几次，发现只要不运行 3D 游戏，一切都正常，Compiz 的 3D 桌面也无碍。于是我开始怀疑是电源不够了，也许显卡开始运算 3D 游戏时耗电量增加，导致硬盘掉电而出现假死状态？&lt;br /&gt;&lt;br /&gt;很郁闷，但随后发现我这款准系统竟然用的是标准的 ATX 电源，又开始释然了，原本还以为没有换电源的可能性呢。&lt;br /&gt;&lt;br /&gt;第二天继续头脑发热地去 MediaMarkt 买了台 Cooler Master 的 400w 电源（50欧！但是电源拧着确实够沉，所以够好）回来，好多的接线啊，不过小机箱还是算顺利容下了……再次赞一下华硕的设计。&lt;br /&gt;&lt;br /&gt;装好显卡，再次尝试……&lt;br /&gt;&lt;br /&gt;……&lt;br /&gt;&lt;br /&gt;很不幸，一切照旧。只要一运行 3D 游戏就假死，Log 里还是那个 ata 的错误。Google 也没什么有用的结果。我于是只能暂时把问题归结于显卡和主板/驱动的兼容性不好了。也许 08 年面世的 9500 和我的 06 年的主板不合拍？不知道……&lt;br /&gt;&lt;br /&gt;但是既然已经迈出了升级的步子，不完成我就实在不爽……于是执行 Plan B，准备物色 9500 的上一代产品 8600 GT，至少这款卡我在华硕的论坛上看到有人在正常使用。&lt;br /&gt;&lt;br /&gt;eBay 上什么都有。&lt;br /&gt;&lt;br /&gt;这次运气好，以1分钱的优势拍到了一块全新的 XFX 8600 GT 卡，512 DDR2 现存，性能烂，但是价钱也亲切，25欧。&lt;br /&gt;&lt;br /&gt;这次的卖家送货很快。&lt;br /&gt;&lt;br /&gt;这次的卡外形也规整，没有影响到任何别的元件。&lt;br /&gt;&lt;br /&gt;开机，进游戏，没有假死现象，出来看 log，没有异常记录，终于 OK 了。&lt;br /&gt;&lt;br /&gt;当然如果不 OK 的话，我也根本就不会有心情再写这篇又臭又长的 blog。&lt;br /&gt;&lt;br /&gt;美中不足的是，这次的卡是带风扇的，那个呼呼地吹啊……我的静音计划依然破灭，当然我现在也觉得，对于小机箱，使用被动散热是不明智的，只会使热量聚集，影响到其他部件。风扇的噪音就让习惯来战胜吧。&lt;br /&gt;&lt;br /&gt;而那块和我无缘却被我整形了的 9500 卡，我打算便宜卖掉。&lt;br /&gt;&lt;br /&gt;最后总结一下本次升级：&lt;br /&gt;性能：++++&lt;br /&gt;节能：--&lt;br /&gt;静音：--&lt;br /&gt;花费：+++&lt;br /&gt;心情：+&lt;br /&gt;&lt;br /&gt;不管怎样，本次升级在显示性能方面带来的改变还是明显的，这台机器今后应该能胜任 HTPC 和下载机的任务。</description>
			<pubDate>Wed, 08 Jul 2009 21:50:48 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/20330</guid>
		</item>
 				<item>
			<title>小试 Arch Linux～</title>
			<link>http://blog.sinzy.net/changke/entry/20012</link>
			<description>&lt;a href=&quot;http://www.archlinux.org/&quot; target=&quot;_blank&quot;&gt;Arch Linux&lt;/a&gt; 号称自己 simple、lightweight，符合 minimalism。我认识的几个以 Linux 作为日常系统的人也都纷纷从 Ubuntu 装向 Arch，于是好奇了，也想自己试试看。&lt;br /&gt;&lt;br /&gt;作为菜鸟，很自然的是从虚拟机开始，反正我的 VirtualBox 装好了许久也一直没用上。&lt;br /&gt;&lt;br /&gt;鼓捣了整个周末，前后装了5、6遍吧，总算摸着点门道了，在虚拟机之内完好安装了基本系统＋Xorg＋VirtualBox Guest Addition＋xfce 桌面环境＋浏览器＋中文支持。&lt;br /&gt;&lt;br /&gt;感觉 Arch Linux 很切合自己所宣称的特性，简单干净，风格统一，版本新鲜，out-of-the-box 也不错。对于有一定的 Linux 经验，且受不了 Ubuntu 等重量级发行版的 bloat 以及定制化过多，更新过慢等缺点的用户来说是上佳的替代之选。&lt;br /&gt;&lt;br /&gt;当然我现在觉得 Ubuntu 也很爽，暂时不会完全替换，等哪天再搞到一台机器时再说。&lt;br /&gt;&lt;br /&gt;截图：主系统 Ubuntu 9.04 Jaunty＋Sun VirtualBox 2.2.2＋Arch Linux 2009.02 / Xfce 4.6。&lt;br /&gt;&lt;img class=&quot;limited&quot; alt=&quot;&quot; src=&quot;http://blog.sinzy.net/pix/2009/1/406cb153b50a21050e4d0b991e7dc05f.jpg&quot; style=&quot;border:0;&quot; /&gt;&lt;br /&gt;&lt;br /&gt;总体感想：Arch Linux 很好，VirtualBox 很好，Google 很好。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://blog.sinzy.net/changke/entry/20012&quot; target=&quot;_self&quot;&gt;点此阅读全文...&lt;/a&gt;</description>
			<pubDate>Mon, 18 May 2009 17:48:17 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/20012</guid>
		</item>
 				<item>
			<title>在 Ubuntu 下为 LaTeX 添加中文支持</title>
			<link>http://blog.sinzy.net/changke/entry/19944</link>
			<description>&lt;a href=&quot;http://blog.sinzy.net/changke/entry/19900&quot; target=&quot;_blank&quot;&gt;前面一篇帖子&lt;/a&gt;简述了如何在 Ubuntu 下安装 LaTeX 系统，默认安装下 LaTeX 还无法显示中文，还需要额外安装 CJK 这个扩展包。&lt;br /&gt;&lt;br /&gt;Ubuntu 9.04 官方源就带有这个包，只需要 sudo apt-get install latex-cjk-all 即可。&lt;br /&gt;&lt;br /&gt;安装好之后，在源文件里添加类似如下的代码，就能正确处理中文了：&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;code&gt;\documentclass[a4paper,12pt]{article}&lt;br /&gt;&lt;strong&gt;\usepackage{CJK}&lt;/strong&gt;&lt;br /&gt;\begin{document}&lt;br /&gt;&lt;strong&gt;\begin{CJK}{UTF8}{gbsn}&lt;/strong&gt;&lt;br /&gt;中文测试&lt;br /&gt;&lt;strong&gt;\end{CJK}&lt;/strong&gt;&lt;br /&gt;\end{document}&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;粗体部分是关键代码，\begin{CJK}后面建议使用符合时代精神的 UTF8 编码而不是 GB，字体使用默认的 gbsn（宋体），这样做就不需要再手工安装任何字体，也不需要再做什么配置，Out-of-the-box。</description>
			<pubDate>Tue, 12 May 2009 20:59:10 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/19944</guid>
		</item>
 				<item>
			<title>LaTeX installation in Ubuntu 9.04</title>
			<link>http://blog.sinzy.net/changke/entry/19900</link>
			<description>标题写得那么乏味主要是为了方便 Google 索引。通过搜索过来的朋友请直接 Page Down。&lt;br /&gt;&lt;br /&gt;\begin{document}&lt;br /&gt;废话还是要先说几句的。&lt;br /&gt;&lt;br /&gt;虽然我还只是个在读硕士生，但也免不了要整几篇类似论文的东西出来的，除了构思和查找文献以外，论文的“成形”也是很有讲究的——需要使用 TeX 来编写和输出。&lt;br /&gt;&lt;br /&gt;关于 TeX，以及它的作者，计算机科学界天神级别的高教授的介绍请见 Wikipedia。&lt;br /&gt;&lt;br /&gt;不畏艰辛地学习和摸索使用 TeX 而不是舒服地在 Word 下所见即所得，这是追求“专业性”的体现还是脱裤子放屁呢？其实不重要，没准 Word 的开发人员都是 TeX 绝顶高手，闲下来弄点亲切的东西造福广大 End Users。我首先是个 End User，并且直到写本科必设时才学会用大纲视图以及如何在 Word 下生成文档目录等等，更无权评价工具了。&lt;br /&gt;&lt;br /&gt;想起了当年着迷 Dreamweaver 的时候是如何的鄙视纯手工写 HTML，而现在自己又是如何鄙视一切 WYSIWYG 工具，所以一定要坚信一个人的品味不可能永恒不变。&lt;br /&gt;&lt;br /&gt;学习 TeX，一是为了不被鄙视地完成学业任务，二是为了实际体验高教授的 NB（TAOCP 我这辈子大概是啃不了的了），三就是找点新鲜感，美好的新鲜感，就像“人生若只如初见”那样美好。&lt;br /&gt;&lt;br /&gt;废话完毕。&lt;br /&gt;\end{document}&lt;br /&gt;&lt;br /&gt;根据 tug.org 的推荐，Linux 系统下最好安装 TeXLive 这个发行版，Ubuntu 的 Repository 里已经有了，sudo apt-get install texlive 或者打开 Synaptic 搜索安装“texlive”包即可。&lt;br /&gt;&lt;br /&gt;然后 console 下就已经有 tex、latex、pdflatex 等等常用命令了，编辑器的话，gedit 就很好用。</description>
			<pubDate>Thu, 07 May 2009 15:00:06 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/19900</guid>
		</item>
 				<item>
			<title>Lost in Eclipse...</title>
			<link>http://blog.sinzy.net/changke/entry/19871</link>
			<description>不错，笔者初尝 EMF，才疏学浅，业务水平不高，但是，类似这样的代码，你真的不会觉得恶心吗？&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;code&quot;&gt;&lt;code&gt;MyBlogPackage myBlogPackage = MyBlogPackage.eINSTANCE;&lt;br /&gt;&lt;br /&gt;ResourceSet resourceSet = new ResourceSetImpl();&lt;br /&gt;resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(&amp;quot;xmi&amp;quot;, new XMIResourceFactoryImpl());&lt;br /&gt;&lt;br /&gt;URI uri = URI.createURI(&amp;quot;./myBlog.xmi&amp;quot;);&lt;br /&gt;Resource resource = resourceSet.createResource(uri);&lt;br /&gt;try {&lt;br /&gt;&amp;nbsp; &amp;nbsp; resource.load(null);&lt;br /&gt;&amp;nbsp; &amp;nbsp; Blog blog = (Blog)resource.getContents().get(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Loaded!&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.out.println(blog.getTitle() + &amp;quot;: &amp;quot; + blog.getSlogan());&lt;br /&gt;} catch(IOException e) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; e.printStackTrace();&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;就为了将序列化存储的 model 还原为对象，tmd 就要这么多吨的代码；第一句定义一个一辈子用不着的变量，就仅仅是为了注册 package 免得找不到 nsURI，而 nsURI tmd 又可以随便写没有格式……&lt;br /&gt;&lt;br /&gt;没记错的话，JDBC 里面初始化数据库驱动竟然用 Class.forName(&amp;quot;...&amp;quot;)——WTF？&lt;br /&gt;&lt;br /&gt;主打一个语法屎到如此境界的语言，难怪 Sun 被贱卖了。&lt;br /&gt;&lt;br /&gt;至于 Eclipse，对于一个除了自动生成的 Javadoc 以外连文档都没有的产品，标榜开源又有个屁意义？&lt;br /&gt;&lt;br /&gt;没错，只有微软门下的程序员才是快乐的。其他都是 WTF 口头禅患者。</description>
			<pubDate>Sat, 02 May 2009 22:10:24 GMT</pubDate>
			<guid>http://blog.sinzy.net/changke/entry/19871</guid>
		</item>
 			</channel>
</rss>