<?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>默志</title>
	<atom:link href="http://www.mozin.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mozin.org</link>
	<description>简单就是美，默默的一些小杂碎。</description>
	<lastBuildDate>Sat, 06 Mar 2010 17:32:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>更新一下，以示存在</title>
		<link>http://www.mozin.org/2010/03/updated-look-to-show-the-existence.html</link>
		<comments>http://www.mozin.org/2010/03/updated-look-to-show-the-existence.html#comments</comments>
		<pubDate>Sat, 06 Mar 2010 17:31:15 +0000</pubDate>
		<dc:creator>默默</dc:creator>
				<category><![CDATA[生活日记]]></category>
		<category><![CDATA[朋友]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[魔兽世界]]></category>

		<guid isPermaLink="false">http://www.mozin.org/?p=17</guid>
		<description><![CDATA[前几天小雪打电话来，说了一堆废话，最后问我怎么没更新博客了。其实我也不知道原因，或许是生活的不顺导致兴趣的缺失。寒假的时候也想继续写点东西，毕竟这么多年的爱好，由于种种原因或者是种种借口总是没有付诸实践。也很久没有在群里面发言了，长此以往，人们也将会渐渐忘记我。在这个圈子里面认识了不少人，虽然有时候会发生一些争论，但都还算理性。百度党就百度党吧，我太过于实际，对于那些理想化的东西不怎么感冒。
登陆后台，数百条留言，当然大部分都是垃圾留言。这才发现以前默默工作的 Akismet 是多么的尽职尽责。这个博客也不想在插件或者主题上花费太多精力，早就对这些疲倦了，而且这是舍本逐末的做法。脸上的皱纹见证着眼光的成熟，不会再为这些无关紧要的东西花费时间。

寒假的时候在手机上写了很多东西，烦心的事情列了一堆，乱麻一样，无从下手。前端时间手机被老婆偷窥，幸好只看到了开机画面上的那两句话，没有看到写在别处的一些东西。因为这些东西都与你无关，所以我不想让你为我担心。放心，没有对你不利的想法。
魔兽世界和现实世界差不多，没钱几乎没法玩，只是不像其他游戏那么烧钱，在团队方面也比其他的强太多。在这个虚拟的世界里面存在的都是真实的人，他们来自五湖四海。如同现实世界一样，有好人也有坏人，或者说有人品好的，也有人品坏的，这一点在组队和交易频道中得到充分的应证。总的一条，擦亮眼睛，天上不会掉馅饼。在这个世界里面也认识了不少人，不乏有非常信任的朋友，也有他们之间发生的一些事情。可能过段时间我也会像鱼那样 AFK，因为除了虚拟世界，现实世界中还有很多事情要做。
我还是要继续让这个地方存在下去。
]]></description>
			<content:encoded><![CDATA[<p>前几天小雪打电话来，说了一堆废话，最后问我怎么没更新博客了。其实我也不知道原因，或许是生活的不顺导致兴趣的缺失。寒假的时候也想继续写点东西，毕竟这么多年的爱好，由于种种原因或者是种种借口总是没有付诸实践。也很久没有在群里面发言了，长此以往，人们也将会渐渐忘记我。在这个圈子里面认识了不少人，虽然有时候会发生一些争论，但都还算理性。百度党就百度党吧，我太过于实际，对于那些理想化的东西不怎么感冒。</p>
<p>登陆后台，数百条留言，当然大部分都是垃圾留言。这才发现以前默默工作的 Akismet 是多么的尽职尽责。这个博客也不想在插件或者主题上花费太多精力，早就对这些疲倦了，而且这是舍本逐末的做法。脸上的皱纹见证着眼光的成熟，不会再为这些无关紧要的东西花费时间。</p>
<p><span id="more-17"></span></p>
<p>寒假的时候在手机上写了很多东西，烦心的事情列了一堆，乱麻一样，无从下手。前端时间手机被老婆偷窥，幸好只看到了开机画面上的那两句话，没有看到写在别处的一些东西。因为这些东西都与你无关，所以我不想让你为我担心。放心，没有对你不利的想法。</p>
<p>魔兽世界和现实世界差不多，没钱几乎没法玩，只是不像其他游戏那么烧钱，在团队方面也比其他的强太多。在这个虚拟的世界里面存在的都是真实的人，他们来自五湖四海。如同现实世界一样，有好人也有坏人，或者说有人品好的，也有人品坏的，这一点在组队和交易频道中得到充分的应证。总的一条，擦亮眼睛，天上不会掉馅饼。在这个世界里面也认识了不少人，不乏有非常信任的朋友，也有他们之间发生的一些事情。可能过段时间我也会像鱼那样 AFK，因为除了虚拟世界，现实世界中还有很多事情要做。</p>
<p>我还是要继续让这个地方存在下去。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mozin.org/2010/03/updated-look-to-show-the-existence.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>在 WordPress 一个自定义字段中存放多个值</title>
		<link>http://www.mozin.org/2010/01/custom-fields-in-wordpress-a-multiple-values-stored-in.html</link>
		<comments>http://www.mozin.org/2010/01/custom-fields-in-wordpress-a-multiple-values-stored-in.html#comments</comments>
		<pubDate>Thu, 07 Jan 2010 09:57:02 +0000</pubDate>
		<dc:creator>默默</dc:creator>
				<category><![CDATA[博客技术]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[网站技术]]></category>
		<category><![CDATA[自定义字段]]></category>

		<guid isPermaLink="false">http://www.mozin.org/?p=14</guid>
		<description><![CDATA[WordPress 自定义字段可以实现很多功能，比如实现文章缩略图。我今天遇到了一个问题，如何将相关的两个信息放到一个自定义域中，然后提取出来分别使用。网络上大部分文章都是针对一个自定义域中只有一个值的情况写的，对存放多个值并提取使用的情况大部分都没有提及。我对 PHP 只是有一点点了解，研究了一下午才搞定这个问题。
下面以我的需求为例来演示如何在 WordPress 的一个自定义字段存放多个值并提取使用。我博客的文章分为两类，一类是翻译的，一类是原创的。如果是原创的文章，就在“日志信息”中注明为“本站原创文章”，如果是翻译的，就在“日志信息”中注明来源网站的名称，并超链接过去。我使用了上面的函数来完成这个工作。


function article_source&#40;&#41; &#123;
    global $post;
    $article_source = get_post_meta&#40;$post-&#62;ID, article_source,false&#41;;
    if&#40;$article_source&#41; &#123; 
        foreach &#40;$article_source as $article_sources&#41;&#123;
            $fullValue = explode &#40;&#34;&#124;&#34;, $article_sources&#41;;
   [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 自定义字段可以实现很多功能，比如实现文章缩略图。我今天遇到了一个问题，如何将相关的两个信息放到一个自定义域中，然后提取出来分别使用。网络上大部分文章都是针对一个自定义域中只有一个值的情况写的，对存放多个值并提取使用的情况大部分都没有提及。我对 PHP 只是有一点点了解，研究了一下午才搞定这个问题。</p>
<p>下面以我的需求为例来演示如何在 WordPress 的一个自定义字段存放多个值并提取使用。我博客的文章分为两类，一类是翻译的，一类是原创的。如果是原创的文章，就在“日志信息”中注明为“本站原创文章”，如果是翻译的，就在“日志信息”中注明来源网站的名称，并超链接过去。我使用了上面的函数来完成这个工作。</p>
<p><span id="more-14"></span></p>
<p>
<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> article_source<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$article_source</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> article_source<span style="color: #339933;">,</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$article_source</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$article_source</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$article_sources</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$fullValue</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;|&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$article_sources</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fullValue</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #000088;">$address</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fullValue</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'翻译来源：&lt;a href=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$address</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; target=&quot;_blank&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$name</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/a&gt;，'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span> 
    <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> 
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'本文为本站原创，'</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

</p>
<p>将上面的代码复制到 WordPress 主题目录的 functions.php 中，然后在合适的地方调用这个函数即可。对于翻译的文章，需要给文章添加一个名称为 article_source 的自定义域，里面存放两个值，方式为“网站名|文章地址”。原创的文章则不添加这个自定义域。</p>
<p>下面简单解释一下这段代码。<a href="http://codex.wordpress.org/Function_Reference/get_post_meta" target="_blank">get_post_meta() </a>这个函数会调用指定自定义域中的值，通过其参数我们可以控制是作为一个字符串调用还是作为一个数组调用以便接下来的处理，详细的用法请参见函数的说明。我这里使用 false 参数将函数设定为作为数组提取。接下来使用 foreach 语句遍历数组，讲结果存放到一个新的变量中，再用 explode 语句以“|” 符号为标记对其进行切割。最后就是把切割开的值分别存放到两个新的变量中以供提取使用。</p>
<p>有了这个例子，你就可以很方便的修改上面给出的代码来实现自己需要的功能了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mozin.org/2010/01/custom-fields-in-wordpress-a-multiple-values-stored-in.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>关于 OpenID 的一点思考</title>
		<link>http://www.mozin.org/2010/01/some-thoughts-on-openid.html</link>
		<comments>http://www.mozin.org/2010/01/some-thoughts-on-openid.html#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:21:00 +0000</pubDate>
		<dc:creator>默默</dc:creator>
				<category><![CDATA[网络评论]]></category>
		<category><![CDATA[OAuth WRAP]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[网络技术]]></category>

		<guid isPermaLink="false">http://mozin.org/?p=5</guid>
		<description><![CDATA[尽管 OpenID 在互联网行业非常受欢迎，但是我们依然能发现，大多数普通用户对 OpenID 这种身份管理技术依然感到十分迷茫。
OpenID的的支持者之一认为是 OpenID 这个名称导致了这个问题。Chris Messina 是身份识别技术领域的大师级人物，也是著名的开源倡导者之一。他在他的博客 Factory City 中提到：要让 OpenID 技术对于普通的网络用户“更简单，更方便”。
有人认为 OpenID 生存在 Facebook Connect 的阴影中，但是不要忘了，Facebook Connect 的成功是因为它基于 Facebook 这个巨大的平台。然而，尽管 Facebook 比 OpenID 有名是一个原因，但这不是真正的问题。真正的问题在于，Facebook Connect 在技术和操作上建立了联系，它与一个普通用户知道的，能够访问的网站紧紧联系在一起，而且这个网站还非常有名；但是 OpenID 没有这种联系。并且，OpenID 的概念让普通用户觉得模糊不清。他们不明白 OpenID 所宣称的“你的身份&#8230;网络上&#8230;便携的&#8230;无处不在的”概念是什么意思。

大家都知道Facebook是什么，所以加上“Connect”字样到熟悉的 Facebook 标志之后，多数人可以猜到是什么意思：你正在访问的网站将会连接到你的 Facebook 帐户，而且你和你朋友的一些信息会在这两个网站之间共享。
所以，OpenID 落后于 Facebook Connect 的原因不仅仅是因为 Facebook 更加有名，更重要的是因为 Facebook 是一个具体的网站，但 OpenID 只是是一个抽象的概念。
Messina 建议 OpenID 效仿 Facebook Connect、Twitter Connect 和其他的登陆系统，将“Connect”这个概念加入到 [...]]]></description>
			<content:encoded><![CDATA[<p>尽管 OpenID 在互联网行业非常受欢迎，但是我们依然能发现，大多数普通用户对 OpenID 这种身份管理技术依然感到十分迷茫。</p>
<p>OpenID的的支持者之一认为是 OpenID 这个名称导致了这个问题。Chris Messina 是身份识别技术领域的大师级人物，也是著名的开源倡导者之一。他在他的博客 Factory City 中提到：<a href="http://factoryjoe.com/blog/2010/01/04/openid-connect/" target="_blank">要让 OpenID 技术对于普通的网络用户“更简单，更方便”</a>。</p>
<p>有人认为 OpenID 生存在 Facebook Connect 的阴影中，但是不要忘了，Facebook Connect 的成功是因为它基于 Facebook 这个巨大的平台。然而，尽管 Facebook 比 OpenID 有名是一个原因，但这不是真正的问题。真正的问题在于，Facebook Connect 在技术和操作上建立了联系，它与一个普通用户知道的，能够访问的网站紧紧联系在一起，而且这个网站还非常有名；但是 OpenID 没有这种联系。并且，OpenID 的概念让普通用户觉得模糊不清。他们不明白 OpenID 所宣称的“你的身份&#8230;网络上&#8230;便携的&#8230;无处不在的”概念是什么意思。</p>
<p><span id="more-5"></span></p>
<p>大家都知道Facebook是什么，所以加上“Connect”字样到熟悉的 Facebook 标志之后，多数人可以猜到是什么意思：你正在访问的网站将会连接到你的 Facebook 帐户，而且你和你朋友的一些信息会在这两个网站之间共享。</p>
<p>所以，OpenID 落后于 Facebook Connect 的原因不仅仅是因为 Facebook 更加有名，更重要的是因为 Facebook 是一个具体的网站，但 OpenID 只是是一个抽象的概念。</p>
<p>Messina 建议 OpenID 效仿 Facebook Connect、Twitter Connect 和其他的登陆系统，将“Connect”这个概念加入到 OpenID 中。下图是 Messina 为 OpenID 重新设计的品牌形象：一个时髦的黑色按钮。相比于 OpenID 目前的标志无疑上了个大台阶。</p>
<p><a href="http://mozin.org/wp-content/uploads/2010/01/openidconnect.jpg"><img src="http://mozin.org/wp-content/uploads/2010/01/openidconnect.jpg" alt="" title="openidconnect" width="500" height="230" class="aligncenter size-full wp-image-6" /></a></p>
<p>至于“Connect”的概念，Messina 给出了一个比较好理解的定义：OpenID 是一种能让你使用你已有的帐户来注册、登陆，并且将你的信息、联系人、数据、活动以及其他资料复制到另一个网站的技术。</p>
<p>与此同时， Messina 认为 OpenID 只做一个名称上的改变是不能完成上述的转变的。他建议 OpenID 以 <a href="http://wiki.oauth.net/OAuth-WRAP" target="_blank">OAuth WRAP 协议</a>的形式重新包装。这是因为 OAuth WRAP 协议可以在两个共享资料的网站之间建立真实的连接用来处理数据，OpenID 则可以提供一种传递个人资料、关系、访问控制和活动的标准化机制。</p>
<p>那么，这对 OpenID 的用户体验有什么提升呢？首先，这将有助于解决“NASCAR 问题”（目前使用 OpenID 登陆经常会显示一大堆的登陆选项，类似于美国 NASCAR 比赛中各种各样花哨的广告 ）。NASCAR 问题不仅在视觉上而且在心理上让用户觉得迷惑，新的 OpenID 则解决了这个问题。</p>
<p>Messina 的设计意味着，OpenID 的形象仅仅是上面看到的简单的黑色按钮，而不是类似 Yahoo、Google、Microsoft 或者其他 OpenID 服务提供商的那种花哨的标志。Messina 也承认，至少在目前的情况下，用户点击 OpenID 新的黑色按钮之后，下一步还是很有可能出现 NASCAR 问题。不过他承诺将设计更多的模型来解决这个问题，并且建议说：“可以把这个问题交给浏览器处理。”</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mozin.org/2010/01/some-thoughts-on-openid.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
