<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://tdmaker.github.io/randy-blogs/</id>
    <title>性感知识，在线分享</title>
    <updated>2019-07-23T01:51:24.111Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://tdmaker.github.io/randy-blogs/"/>
    <link rel="self" href="https://tdmaker.github.io/randy-blogs//atom.xml"/>
    <subtitle>温故而知新</subtitle>
    <logo>https://tdmaker.github.io/randy-blogs//images/avatar.png</logo>
    <icon>https://tdmaker.github.io/randy-blogs//favicon.ico</icon>
    <rights>All rights reserved 2019, 性感知识，在线分享</rights>
    <entry>
        <title type="html"><![CDATA[JavaScript 中的 Date 对象]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/date-object-in-javascript</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/date-object-in-javascript">
        </link>
        <updated>2019-07-23T00:53:47.000Z</updated>
        <summary type="html"><![CDATA[<pre><code>// Chrome Console
&gt;  Date;
&lt;· ƒ Date() { [native code] }

&gt;  Date();
&lt;· &quot;Tue Jul 23 2019 08:56:20 GMT+0800 (中国标准时间)&quot;
</code></pre>
]]></summary>
        <content type="html"><![CDATA[<pre><code>// Chrome Console
&gt;  Date;
&lt;· ƒ Date() { [native code] }

&gt;  Date();
&lt;· &quot;Tue Jul 23 2019 08:56:20 GMT+0800 (中国标准时间)&quot;
</code></pre>
<!-- more -->
<h1 id="内容">内容</h1>
<p><code>const date = new Date();</code></p>
<table>
<thead>
<tr>
<th>key</th>
<th style="text-align:center">value</th>
</tr>
</thead>
<tbody>
<tr>
<td>date</td>
<td style="text-align:center">Tue Jul 23 2019 09:01:11 GMT+0800 (中国标准时间)</td>
</tr>
<tr>
<td>date.constructor</td>
<td style="text-align:center">ƒ Date() { [native code] }</td>
</tr>
<tr>
<td>date.getDate()</td>
<td style="text-align:center">23</td>
</tr>
<tr>
<td>date.getDay()</td>
<td style="text-align:center">2</td>
</tr>
<tr>
<td>date.getMonth()</td>
<td style="text-align:center">6</td>
</tr>
<tr>
<td>date.getFullYear()</td>
<td style="text-align:center">2019</td>
</tr>
<tr>
<td>date.getHours()</td>
<td style="text-align:center">9</td>
</tr>
<tr>
<td>date.getMinutes()</td>
<td style="text-align:center">1</td>
</tr>
<tr>
<td>date.getSeconds()</td>
<td style="text-align:center">11</td>
</tr>
<tr>
<td>date.setDate(12)</td>
<td style="text-align:center">1562893271338</td>
</tr>
<tr>
<td>date.getDate()</td>
<td style="text-align:center">12</td>
</tr>
<tr>
<td>date.setMonth(1)</td>
<td style="text-align:center">1549933271338</td>
</tr>
<tr>
<td>date.getMonth()</td>
<td style="text-align:center">1</td>
</tr>
</tbody>
</table>
<h1 id="时间格式">时间格式</h1>
<h3 id="3-种时间格式">3 种时间格式：</h3>
<ul>
<li><strong>GMT</strong>（Greenwich Mean Time），即格林尼治平均时；</li>
<li><strong>UTC</strong>（Universal Time Coordinated），即通用协调时；</li>
<li><strong>Timestamp</strong>，即时间戳，是指格林尼治时间1970年01月01日00时00分00秒起至现在的毫秒数。</li>
</ul>
<p><strong>GMT</strong> 与 <strong>UTC</strong> 一样，都是指英国伦敦的本地时间，区别在于 <strong>GMT</strong> 是根据地球的自传和公转来计算时间，<strong>UTC</strong> 是根据原子钟来计算时间。例如，<strong>GMT</strong>、<strong>UTC</strong>：<code>Sun Jul 08 2018 15:30:26 GMT+0800</code>，其中，<code>GMT+0800</code> 表示时区，<code>+0800</code> 表示比格林尼治时间时间多了 8 个时区，也就是北京时间比伦敦时间晚 8 个小时。</p>
<h1 id="date-内置对象">Date 内置对象</h1>
<h2 id="一-作普通函数调用">一、作普通函数调用</h2>
<p>返回 GMT 格式的当前时间的字符串，传入任何参数都无效。</p>
<pre><code>// Chrome Console
&gt;  Date();
&lt;· &quot;Tue Jul 23 2019 09:18:57 GMT+0800 (中国标准时间)&quot;

&gt;  Date('2018-06-24');
&lt;· &quot;Tue Jul 23 2019 09:19:32 GMT+0800 (中国标准时间)&quot;
</code></pre>
<h2 id="二-作构造函数用">二、作构造函数用</h2>
<p>使用 new 操作符，则返回 GMT 格式的时间对象，其参数分为 3 类：</p>
<h3 id="1-时间戳number类型">1、时间戳，number类型</h3>
<pre><code>// Chrome Console
&gt;  new Date(1549933271338);
&lt;· Tue Feb 12 2019 09:01:11 GMT+0800 (中国标准时间)
</code></pre>
<h3 id="2-表示日期的字符串">2、表示日期的字符串</h3>
<ul>
<li>yyyy-MM-dd HH:mm:ss<pre><code>// Chrome Console
&gt;  new Date(''2019-07-23 08:56:20'');
&lt;· Tue Jul 23 2019 08:56:20 GMT+0800 (中国标准时间)
</code></pre>
</li>
<li>yyyy-MM-ddTHH:mm:ss<br>
<em>其实跟第一个是一个意思。</em><pre><code>// Chrome Console
&gt;  new Date(''2019-07-23T08:56:20'');
&lt;· Tue Jul 23 2019 08:56:20 GMT+0800 (中国标准时间)
</code></pre>
</li>
<li>Sun Jul 08, 2018 16:18:54 GMT<br>
<em>其实就是 GMT(UTC) 格式的字符串。</em><pre><code>// Chrome Console
&gt;  new Date('Tue Jul 23 2019 09:01:11 GMT');
&lt;· Tue Jul 23 2019 17:01:11 GMT+0800 (中国标准时间)
</code></pre>
</li>
</ul>
<h3 id="3-year-month-day-hour-minutes-seconds-milliseconds">3、（year, month, day, hour, minutes, seconds, milliseconds）</h3>
<pre><code>// Chrome Console
&gt;  new Date(2019, 07, 23, 09, 28, 55)
&lt;· Fri Aug 23 2019 09:28:55 GMT+0800 (中国标准时间)
</code></pre>
<h3 id="4-如果不传参数则会根据系统设置的当前时间来创建一个-date-对象">4、如果不传参数，则会根据系统设置的当前时间来创建一个 Date 对象</h3>
<h2 id="三-需要注意的地方">三、需要注意的地方</h2>
<ol>
<li>构造函数的参数省略<br>
关于 Date 构造函数的参数省略（是指省略其中的年、月、日之类的，不是省略整个参数）可能会出错。
<ul>
<li>只指定“时分秒”，会出错<pre><code> // Chrome Console
 &gt;  new Date('09:33:55');
 &lt;· Invalid Date
</code></pre>
</li>
<li>分隔符非常重要，可以省略具体时间，但不能省略分隔符<pre><code>// Chrome Console
&gt;  new Date('-07- 09:33:55');
&lt;· Sun Jul 01 2001 09:33:55 GMT+0800 (中国标准时间)

&gt;  new Date('23 09:35:55');
&lt;· Invalid Date
</code></pre>
</li>
</ul>
</li>
<li>JavaScript中，月份是从 0 开始计时的，比如用 2019-07-23 初始化的时间对象获取月份<pre><code>// Chrome Console
&gt;  new Date('2019-07-23').getMonth();
&lt;· 6
</code></pre>
</li>
<li><code>getDate()</code> 是返回一个月的第几天，<code>getDay()</code> 是返回一星期的第几天，其中 0 为星期天</li>
<li>获取年份是 <code>getFullYear()</code>，而不是 <code>getYear()</code></li>
<li><code>valueOf()</code> 返回原始值，与调用 <code>getTime()一样</code>，返回时间戳，一般是用于内部调用，可能是 <code>getTime()</code> 的内部实现</li>
</ol>
<h2 id="四-工具函数">四、工具函数</h2>
<pre><code>// javascript
/**
 * 时间戳 转换为 yyyy-MM-dd HH:mm:ss
 * @param {number} timestamp 
 * @param {string} format 
 */
function timestampToDateTime(timestamp = Date.now(), format = 'yyyy-MM-dd HH:mm:ss') {
  if (isNaN(timestamp)) {
    return '';
  }
  if (format.length &lt; 4 || 'yyyy-MM-dd HH:mm:ss'.indexOf(format) !== 0) {
    return '';
  }
  const date = new Date(Number(timestamp));
  const year = date.getFullYear();
  const month = date.getMonth() + 1;
  const day = date.getDate();
  const hour = date.getHours();
  const minute = date.getMinutes();
  const second = date.getSeconds();
  return format.replace('yyyy', year)
    .replace('MM', month &gt; 9 ? month : `0${month}`)
    .replace('dd', day &gt; 9 ? day : `0${day}`)
    .replace('HH', hour &gt; 9 ? hour : `0${hour}`)
    .replace('mm', minute &gt; 9 ? minute : `0${minute}`)
    .replace('ss', second &gt; 9 ? second : `0${second}`);
}
</code></pre>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[人工智能的前世今生]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/the-past-and-present-of artificial-intelligence</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/the-past-and-present-of artificial-intelligence">
        </link>
        <updated>2019-07-22T01:20:55.000Z</updated>
        <summary type="html"><![CDATA[<p>人工智能作为一个学术名词得到社会各界的认可已经过去了六十余年。本文尝试对人工智能相关史料和文献进行简单梳理，以便厘清人工智能相关常识和知识。</p>
]]></summary>
        <content type="html"><![CDATA[<p>人工智能作为一个学术名词得到社会各界的认可已经过去了六十余年。本文尝试对人工智能相关史料和文献进行简单梳理，以便厘清人工智能相关常识和知识。</p>
<!-- more -->
<p>为了便于理解和记忆，下文围绕图1所示的框架结构介绍人工智能之一二三四五，即“一个1”、“二个2”、“三个3”、“四个4”和“五个5”，具体而言：</p>
<ul>
<li>“一个1”对机器是否能够思考这一朴素思想进行了简介；</li>
<li>“二个2” 从研究内容和研究方向两个角度进行的简单分类；</li>
<li>“三个3”从发展阶段、研究学派、研究层次三个角度进行的简介；</li>
<li>“四个4”从关键要素、研究范畴、公共平台、响应态度四个角度进行的简介；</li>
<li>“五个5” 从棋牌博弈、研究学派、研究方向、赋能环节和思想流派五个角度进行简介；</li>
</ul>
<p><img src="https://tdmaker.github.io/randy-blogs//post-images/1563758885479.jpeg" alt="文章结构"></p>
<h1 id="一个-1">一个 1</h1>
<p>1950年，图灵在《计算机与智能》中提出“<strong>计算机能够思考吗</strong>”这样的疑问，并以性别模仿游戏为例来说明如何判断计算机是否有智能，这个游戏的大致描述如下：</p>
<ol>
<li>b游戏参与者包括一名男性（A）、一名女性（B）和一名裁判（C）；</li>
<li>游戏流程和规则是：C和A、B被隔开，C向A和B提问，由A和B分别进行回答，其中B模仿男性的思考方式回答问题，经过多轮次的提问后，然后由C判断B的性别（此处假定裁判无法通过衣着打扮、声音来判断性别），如果C无法准确判定B的性别，我们就说B在性别模仿游戏中欺骗了裁判而获得了胜利；</li>
<li>将B换成计算机继续进行这个游戏，如果计算机成功欺骗了裁判，我们就说计算机在性别模仿游戏方面能够像人一样思考。<br>
其实，这个游戏就是图灵测试的最初原型。</li>
</ol>
<h1 id="二个-2">二个 2</h1>
<p>本节提及的“二个2”是从<strong>研究内容</strong>和<strong>研究方向</strong>两个角度进行的简单分类，分别是：</p>
<h2 id="从研究内容上">从研究内容上</h2>
<p>人工智能可以分为<strong>弱人工智能</strong>和<strong>强人工智能</strong>（最近兴起了“超级人工智能”的概念，一个朴素的定义是：能自动、主动生成、演化比自己更强（智能）的人工智能，详情此处不再赘述）：</p>
<h3 id="弱人工智能">弱人工智能</h3>
<p>指的是在某一（些）方面，该智能能够像人一样思考和工作，但是并不真正拥有智能，典型的特点是：其不会有自主意识；</p>
<h3 id="强人工智能">强人工智能</h3>
<p>指的是能够推理和解决问题的智能机器，典型的特点是：该智能拥有自我意识；</p>
<h2 id="从研究方向上">从研究方向上</h2>
<p>人工智能可以分为<strong>个体智能</strong>和<strong>群体智能</strong>，这两个研究方向事实是对应于“人”（确切的说是“生物体”）的<strong>自然属性</strong>和<strong>社会属性</strong>：</p>
<ol>
<li>经过进化，人具备了恰到好处的感知器官（眼耳口鼻舌）、看起来比较完备的大脑（爬行动物脑、哺乳动物脑、新脑同时存在并协同工作）和看起来比较丰富的行动能力（比如奔跑、呐喊、哭泣、情感等），正因为进化得到的自然属性，人类具备对世界进行感知、记忆、思考、语言和行为等能力。个体智能对标的就是此，即如何通过算法实现像单个“人”一样的智能；</li>
<li>作为一个个体，每个人都不足够强大，甚至比较弱小，恰因为如此，人类从一开始就学会了合作，即通过多个个体的合作来完成某种一个人完成不了或者完成不好的任务。群体智能对标的就是此思想，如何通过算法实现不同个体之间的合作从而达到在合作中进行最优求解；</li>
<li>值得注意的是，在实际情况下，个体智能和群体智能往往是耦合的，此处不赘述。</li>
</ol>
<h1 id="三个3">三个3</h1>
<p>本节提及的“三个3”是从<strong>发展阶段</strong>、<strong>研究学派</strong>、<strong>研究层次</strong>三个角度进行的简单分类，分别是：</p>
<h2 id="三个发展阶段">三个发展阶段</h2>
<h3 id="推理期人工智能">推理期人工智能</h3>
<p>null</p>
<h3 id="知识期人工智能">知识期人工智能</h3>
<p>随着推理（机）的研究，研究者发现没有规则的推理机毫无用处，因此人工智能的研究进入到了知识期人工智能（20世纪70-80年代），人们希望能够把领域知识形式化成计算机可以理解和推理的规则交由推理机去进行推理，因此该阶段典型的特征是：重视知识，无法学习；</p>
<h3 id="学习期人工智能">学习期人工智能</h3>
<p>随着研究的推进，研究者发现将领域知识形式化为计算机可以理解和推理的规则困难太大，因此研究者将该理念进行改进，能否充分利用领域数据，通过计算机的建模，能够自动学习出规则，于是人工智能的研究就进入到了学习期人工智能阶段（20世纪80年代至今），并因为机器学习在许多问题上取得了突破性的成果，其研究成果和在各个领域的渗透应用逐步深化并逐步形成了比较独立的发展势头（可以不再依靠推理），这个阶段的特点是：重视学习，对数据依赖度大。</p>
<h2 id="三个研究学派">三个研究学派</h2>
<h3 id="符号主义">符号主义</h3>
<p>也称为逻辑主义、心理学派、计算机学派，其基于物理符号系统（符号操作系统）假设和有限合理性原则，假设知识是先验地存储于黑箱之中的，该主义擅长解决利用现有的知识做比较复杂的推理、规划、逻辑运算和判断等问题；</p>
<h3 id="连接主义">连接主义</h3>
<p>也称为仿生学派、生理学派，其基于神经网络及神经网络间的连接机制与学习算法，从结构的角度来模拟智能系统的运作，而不单单重现功能，比符号学派更加底层；</p>
<h3 id="行为主义">行为主义</h3>
<p>也称为进化主义、控制学派，其基于控制论及感知-动作型控制系统，研究更低级的智能行为，它更擅长模拟身体的运作机制，而不是脑；</p>
<h2 id="三个研究层次">三个研究层次</h2>
<p>对标于人的自然属性，将人工智能的研究从<strong>感知</strong>（对标于人的感知）、<strong>思考</strong>（对标于人的思考、记忆、推理等）、<strong>行动</strong>（对标于人的行动，如表情生成等）三个层面，此处不再赘述。</p>
<h1 id="四个4">四个4</h1>
<p>本节提及的“四个4”是从<strong>关键要素</strong>、<strong>研究范畴</strong>、<strong>公共平台</strong>、<strong>响应态度</strong>四个角度进行的简单分类，分别是：</p>
<h2 id="四个关键要素">四个关键要素</h2>
<p>在很多场合，人工智能的四个要素被认为分别是 A、B、C和D，其中：（1）A 指的是<strong>算法</strong>（Algorithm）；（2）B 指的是<strong>应用</strong>（Business）；（3）C 指的是<strong>算力</strong>（Computing Power）；（4）D 指的是<strong>数据</strong>（Data），具体细节不再赘述；</p>
<h2 id="四个研究范畴">四个研究范畴</h2>
<p>事实关于人工智能的研究一直有两个维度的考量，一个维度是：<strong>对标“人”的智能还是对标“动物”的智能</strong>；另外一个维度是：<strong>对标“脑”的思考智能还是对标“整体”的智能</strong>，基于这两个维度，可以将研究范畴分为四类：</p>
<table>
<thead>
<tr>
<th></th>
<th>对标“人”</th>
<th>对标“动物”</th>
</tr>
</thead>
<tbody>
<tr>
<td>对标“脑”</td>
<td>代表性研究如电话客服机器人（号称机器人，但事实只是在像“人一样思考”），AlphaGo 就是此层次研究；</td>
<td>代表性研究如蚁群算法、PSO 等，最近 DeepMind 团队在老鼠走迷宫的研究就是在此层次的研究；</td>
</tr>
<tr>
<td>对标“整体”</td>
<td>代表性的研究如类人机器的研究</td>
<td>代表性的研究如机器狗的研究</td>
</tr>
</tbody>
</table>
<h2 id="四个公共平台">四个公共平台</h2>
<p>2017年7月20日国家发布了新一代人工智能发展规划而后，根据该规划中提及的人工智能公共创新平台建设的提议，在11月由科技部牵头成立了首批四个公共服务平台，分别是：</p>
<ol>
<li>依托百度公司建设自动驾驶国家新一代人工智能开放创新平台；</li>
<li>依托阿里云公司建设城市大脑国家新一代人工智能开放创新平台；</li>
<li>依托腾讯公司建设医疗影像国家新一代人工智能开放创新平台；</li>
<li>依托科大讯飞公司建设智能语音国家新一代人工智能开放创新平台；</li>
</ol>
<h1 id="四个响应态度">四个响应态度</h1>
<p>人工智能是否会引发“奇点”的到来，人类对其抱有不同的态度，可以从两个维度进行划分，一个维度是：乐观的还是悲观的；另外一个维度是：理性的还是感性的，基于这两个维度，可以将响应态度分为四类：</p>
<table>
<thead>
<tr>
<th></th>
<th>乐观的</th>
<th>悲观的</th>
</tr>
</thead>
<tbody>
<tr>
<td>理性的</td>
<td>人工智能会成为人类的朋友和工具，人类正室在发明比自己优越的工具而逐步强大起来的</td>
<td>人工智能可能会带来失业、经济萧条；即便不能代替人类，人工智能会被少数人操纵，人性的“恶”引发的危险同样可怕</td>
</tr>
<tr>
<td>感性的</td>
<td>即便人工智能超越人类，切好可以让人工智能代替人类去完成人类完成不了的是，人类可以安心做自己的事</td>
<td>新技术总是带来新问题，人工智能会在许多方面取代现有的人类工作，人类无法控制机器，甚至被机器所控制</td>
</tr>
</tbody>
</table>
<h1 id="五个5">五个5</h1>
<p>本节提及的“五个5”是从棋牌博弈、研究学派、研究方向、赋能环节和思想流派五个角度进行的简单分类，分别是：</p>
<h2 id="五种棋牌博弈">五种棋牌博弈</h2>
<p>在人工智能的发展历史上，有很多棋牌博弈被当作验证人工智能算法研究成果的验证工具，典型的至少有以下5个，分别是：</p>
<ol>
<li>跳棋：1949年，Arthur Samuel在IBM701上编写世界第一款国际跳棋程序Checkers，股票大涨15%；1962年打败人类选手；1990-1994年8月JonathanSchaeffer教授率队跳棋程序Chinook与数学家MarionTinsley持续胶着大战（另外一段佳话，此处不再赘述）；</li>
<li>黑白棋：Michael Buro编写的黑白棋程序Logistello以6:0击败人类世界冠军北野武村上；</li>
<li>国际象棋：1997年，IBM “深蓝”4:2战胜卡斯帕罗夫；</li>
<li>围棋：2015年10月，AlphaGo前身（当时还不出名）5:0横扫欧洲围棋冠军樊麾；2016年3月AlphaGo打败李世石（名声大振）；然后化名Master连胜60局；2017年5月AlphaGo打败柯杰；2017年10月AlphaGo Zero打败Alpha Go；</li>
<li>德州扑克：2017年1月30日，在宾夕法尼亚州匹兹堡的Rivers赌场，CMU开发的人工智能系统Libratus战胜4位德州扑克顶级选手；</li>
</ol>
<h2 id="五个研究学派">五个研究学派</h2>
<p>机器学习有不同的学派，每个学派从不同的角度看问题：</p>
<ol>
<li>符号学派更多关注哲学，逻辑学和心理学，并将学习视为逆向演绎；</li>
<li>连接学派专注物理学和神经科学，并相信大脑的逆向工程；</li>
<li>进化学派在遗传学和进化生物学的基础上得出结论；</li>
<li>贝叶斯学派注重统计学和概率推理；</li>
<li>类推学派更多是关注心理学和数学优化来推断相似性判断。</li>
</ol>
<h2 id="五大研究方向">五大研究方向</h2>
<p>2015年中国工程院承担的人工智能2.0的战略预研项目中，提及在新的时代，人工智能的研究应该有别于传统人工智能研究中“让计算机实现的人工智能实现人一样的智能”，而是应该将“人和机器融合”形成混合智能系统、将“人、机器和网络融合”形成新型群体智能系统、将“人、机器、网络和物融合”形成复杂智能系统，为了达到这个目标有必要在五个研究方向展开相关研究，分别是：</p>
<h3 id="大数据智能">大数据智能</h3>
<p>目标是形成从数据到知识、从知识到智能的能力，打破数据孤岛，形成链接多领域的知识中心，支撑新技术和新业态的跨界融合与创新服务；</p>
<h3 id="跨媒体智能">跨媒体智能</h3>
<p>其目标是研制跨媒体智能感知、学习和推理引擎，以语义相通相容为媒介，实现跨媒体分析推理，为建立“耳聪目明”和“融会贯通”的智能提供技术支撑。人在工作的时候不再是单独的媒体工作，而是多个媒体融合，打通语言、视觉、图形、听觉等层面；</p>
<h3 id="群体智能">群体智能</h3>
<p>能够在网上把大家的智慧和计算机的智慧进行结合，整合为一个整体，建立相关平台，完成各种行为；</p>
<h3 id="自主智能">自主智能</h3>
<p>以海、陆、空、天自主无人载运操作平台、复杂无人生产加工系统等为典型对象，深入研究智能自主无人系统的技术、架构、平台和设计标准；</p>
<h3 id="人机融合智能">人机融合智能</h3>
<p>目标是实现生物智慧系统与机器智能系统的紧密耦合，相互协同工作，形成更强的智慧和能力；</p>
<h2 id="五个赋能环节">五个赋能环节</h2>
<p>在“AI+X”的具体实践过程中，涉及到的5个基本环节：</p>
<ol>
<li>数据和集成层：富集和整合各类数据为后续AI应用提供数据支撑；</li>
<li>实验和发展层：算法设计、实现、测试；</li>
<li>部署和运营层：进行数据模型的风险评估，并查看模型证明模型的可解释性、模型偏差和公平性以及模型故障安全机制；</li>
<li>智能和呈现层：将智能作为一种服务和进行赋能的功能提供给用户；</li>
<li>体验和交互层：通过人机交互实现与用户进行交互。</li>
</ol>
<h2 id="五个思想流派">五个思想流派</h2>
<p>《哈佛商业评论》将人工智能分为五大思想流派，代表了人们在拥抱人工智能方面的不同态度：</p>
<table>
<thead>
<tr>
<th>思想流派</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>乌托邦</td>
<td>人工智能为经济发展带来爆发式增长，能创造美好的未来，人类能够将他们的技能和天赋运用到有意义的事情中</td>
</tr>
<tr>
<td>反乌托邦</td>
<td>人工智能将为世界带来不小的负面影响，导致高失业率、极低的工资以及生产力、收入、商品和服务需求的下降，经济陷入困境</td>
</tr>
<tr>
<td>现实主义</td>
<td>关注它在商业中可能带来的变化，介于前两者之间，能提高生产力，节省劳动者成本，优化产品和服务，开拓市场，但同时也可能会对社会带来不确定风险。如失业和贫富差距等</td>
</tr>
<tr>
<td>乐观主义</td>
<td>科技发烧友们大多数是科技乐观派，他们认为生产力的飞跃能够产生巨大收益，带动经济的增长</td>
</tr>
<tr>
<td>生产力匮乏</td>
<td>从国家的角度看能带来的礼一并不是那么多，把这一点与人口老龄化、收入不平衡以及应对气候变化的成本结合，那么 GDP 增长将接近静止状态</td>
</tr>
</tbody>
</table>
<blockquote>
<p>来自《<a href="https://mp.weixin.qq.com/s/xH_S6lBQ3DM07dd0BScs3w">YOCSEF南京视点｜跟我走，一二三四五，人工智能之“前世今生”</a>》</p>
</blockquote>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[四种常见的 POST 提交数据方式]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/four-common-post-submission-methods</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/four-common-post-submission-methods">
        </link>
        <updated>2019-07-20T02:39:59.000Z</updated>
        <content type="html"><![CDATA[<p>协议规定 POST 提交的数据必须放在消息主体（entity-body）中，但协议并没有规定数据必须使用什么编码方式。实际上，开发者完全可以自己决定消息主体的格式，只要最后发送的 HTTP 请求满足上面的格式就可以。但是，数据发送出去，还要服务端解析成功才有意义。服务端通常是根据请求头（headers）中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码，再对主体进行解析。所以说到 POST 提交数据方案，包含了 Content-Type 和消息主体编码方式两部分。</p>
<h1 id="applicationx-www-form-urlencoded">application/x-www-form-urlencoded</h1>
<p>这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <code>form</code> 表单，如果不设置 enctype 属性，那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样（无关的请求头在本文中都省略掉了）：</p>
<pre><code>POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

title=test&amp;sub%5B%5D=1&amp;sub%5B%5D=2&amp;sub%5B%5D=3
</code></pre>
<p>首先，<code>Content-Type</code> 被指定为 <code>application/x-www-form-urlencoded</code>；其次，提交的数据按照 <code>key1=val1&amp;key2=val2</code> 的方式进行编码，<code>key</code> 和 <code>val</code> 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。很多时候，我们用 Ajax 提交数据时，也是使用这种方式。例如 <code>JQuery</code> 和 <code>QWrap</code> 的 Ajax，<code>Content-Type</code> 默认值都是「<code>application/x-www-form-urlencoded;charset=utf-8</code>」。</p>
<h1 id="multipartform-data">multipart/form-data</h1>
<p>这又是一个常见的 POST 数据提交的方式。我们使用表单上传文件时，必须让 <code>form</code> 表单的 enctype 等于 <code>multipart/form-data</code>。直接来看一个请求示例：</p>
<pre><code>POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name=&quot;text&quot;

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name=&quot;file&quot;; filename=&quot;chrome.png&quot;
Content-Type: image/png

PNG ... content of chrome.png ...
------WebKitFormBoundaryrGKCBY7qhFd3TrwA--
</code></pre>
<p>首先生成了一个 <code>boundary</code> 用于分割不同的字段，为了避免与正文内容重复，<code>boundary</code> 很长很复杂。然后 <code>Content-Type</code> 里指明了数据是以 <code>multipart/form-data</code> 来编码，本次请求的 <code>boundary</code> 是什么内容。消息主体里按照字段个数又分为多个结构类似的部分，每部分都是以 <code>--boundary</code> 开始，紧接着是内容描述信息，然后是回车，最后是字段具体内容（文本或二进制）。如果传输的是文件，还要包含文件名和文件类型信息。消息主体最后以 <code>--boundary--</code> 标示结束。关于 <code>multipart/form-data</code> 的详细定义，请前往 <a href="https://www.ietf.org/rfc/rfc1867.txt">rfc1867</a> 查看。</p>
<p>这种方式一般用来上传文件，各大服务端语言对它也有着良好的支持。</p>
<p>上面提到的这两种 <code>POST</code> 数据的方式，都是浏览器原生支持的，而且现阶段标准中原生 <code>form</code> 表单也只支持这两种方式（通过 <code>form</code> 元素的 <code>enctype</code> 属性指定，默认为 <code>application/x-www-form-urlencoded</code>。其实 <code>enctype</code> 还支持 <code>text/plain</code>，不过用得非常少）。</p>
<p>随着越来越多的 Web 站点，尤其是 WebApp，全部使用 Ajax 进行数据交互之后，我们完全可以定义新的数据提交方式，给开发带来更多便利。</p>
<h1 id="applicationjson">application/json</h1>
<p><code>application/json</code> 这个 <code>Content-Type</code> 作为响应头大家肯定不陌生。实际上，现在越来越多的人把它作为请求头，用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行，除了低版本 IE 之外的各大浏览器都原生支持 <code>JSON.stringify</code>，服务端语言也都有处理 JSON 的函数，使用 JSON 不会遇上什么麻烦。<br>
这种方案，可以方便的提交复杂的结构化数据，特别适合 RESTful 的接口。各大抓包工具如 Chrome 自带的开发者工具、Firebug、Fiddler，都会以树形结构展示 JSON 数据，非常友好。但也有些服务端语言还没有支持这种方式。</p>
<h1 id="textxml">text/xml</h1>
<p>它是一种使用 HTTP 作为传输协议，XML 作为编码方式的远程调用规范。典型的 XML-RPC 请求是这样的：</p>
<pre><code>POST http://www.example.com HTTP/1.1 
Content-Type: text/xml

&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;methodCall&gt;
    &lt;methodName&gt;examples.getStateName&lt;/methodName&gt;
    &lt;params&gt;
        &lt;param&gt;
            &lt;value&gt;&lt;i4&gt;41&lt;/i4&gt;&lt;/value&gt;
        &lt;/param&gt;
    &lt;/params&gt;
&lt;/methodCall&gt;
</code></pre>
<p><code>XML-RPC</code> 协议简单、功能够用，各种语言的实现都有。它的使用也很广泛，如 <code>WordPress</code> 的 <code>XML-RPC Api</code>，搜索引擎的 ping 服务等等。<code>JavaScript</code> 中，也有现成的库支持以这种方式进行数据交互，能很好的支持已有的 <code>XML-RPC</code> 服务。</p>
<blockquote>
<p>Referred <a href="https://imququ.com/post/four-ways-to-post-data-in-http.html">四种常见的 POST 提交数据方式 | JerryQu 的小站</a></p>
</blockquote>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[数据库范式]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/database-normal-form</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/database-normal-form">
        </link>
        <updated>2019-07-19T11:54:46.000Z</updated>
        <summary type="html"><![CDATA[<p>数据库范式在数据库设计中的地位一直很暧昧，教科书中对于数据库范式倒是都给出了学术性的定义，但实际应用中范式的应用却不甚乐观。</p>
]]></summary>
        <content type="html"><![CDATA[<p>数据库范式在数据库设计中的地位一直很暧昧，教科书中对于数据库范式倒是都给出了学术性的定义，但实际应用中范式的应用却不甚乐观。</p>
<!-- more -->
<blockquote>
<p>总结自 <a href="https://www.cnblogs.com/CareySon/archive/2010/02/16/1668803.html">数据库范式那些事 - CareySon - 博客园</a></p>
</blockquote>
<h1 id="什么是范式">什么是范式</h1>
<p>范式是为了消除重复数据减少冗余数据，从而让数据库内的数据更好的组织，让磁盘空间得到更有效利用的一种标准化标准，满足高等级的范式的先决条件是满足低等级范式。(比如满足2nf一定满足1nf)</p>
<h1 id="范式的目标">范式的目标</h1>
<p>应用数据库范式可以带来许多好处，但是最重要的好处归结为三点：</p>
<ul>
<li>减少数据冗余（这是最主要的好处，其他好处都是由此而附带的）；</li>
<li>消除异常（插入异常，更新异常，删除异常）；</li>
<li>让数据组织的更加和谐…。</li>
</ul>
<h1 id="范式有哪些">范式有哪些</h1>
<h2 id="第一范式1nf">第一范式(1NF)</h2>
<p><strong>如果一个关系模式R的所有属性都是不可分的基本数据项，则R∈1NF。</strong><br>
简单的说,第一范式就是每一个属性都不可再分。不符合第一范式则不能称为关系数据库。<br>
*<em>字段内容不可再分。</em></p>
<h2 id="第二范式2nf">第二范式(2NF)</h2>
<p><strong>若关系模式R∈1NF，并且每一个非主属性都完全函数依赖于R的码，则R∈2NF</strong><br>
单的说，是表中的属性必须完全依赖于全部主键，而不是部分主键.所以只有一个主键的表如果符合第一范式，那一定是第二范式。这样做的目的是进一步减少插入异常和更新异常。<br>
*<em>有主键的 1NF。</em></p>
<h2 id="第三范式3nf">第三范式(3NF)</h2>
<p><strong>关系模式R&lt;U，F&gt; 中若不存在这样的码X、属性组Y及非主属性Z（Z  Y）, 使得X→Y，Y→Z，成立，则称R&lt;U，F&gt; ∈ 3NF。</strong><br>
简单的说，第三范式是为了消除数据库中关键字之间的依赖关系。<br>
*<em>2NF 中任意两字段不存在一一对应关系。</em></p>
<h2 id="bc范式bcnf">BC范式(BCNF)</h2>
<p><strong>设关系模式R&lt;U，F&gt;∈1NF，如果对于R的每个函数依赖X→Y，若Y不属于X，则X必含有候选码，那么R∈BCNF。</strong><br>
简单的说，bc范式是在第三范式的基础上的一种特殊情况，既每个表中只有一个候选键（在一个数据库中每行的值都不相同，则可称为候选键）。<br>
*<em>3NF 中不存在第二个能用来做主键的字段。</em></p>
<h2 id="第四范式4nf">第四范式(4NF)</h2>
<p><strong>关系模式R&lt;U，F&gt;∈1NF，如果对于R的每个非平凡多值依赖X→→Y（Y  X），X都含有候选码，则R∈4NF。</strong><br>
简单的说，第四范式是消除表中的多值依赖，也就是说可以减少维护数据一致性的工作。<br>
*<em>BCNF 中的某字段可能存在枚举类型的组合，将这个字段中的枚举元素抽离出形成一个新的表。</em></p>
<h1 id="总结">总结</h1>
<p>上面对于数据库范式进行分解的过程中不难看出，应用的范式登记越高，则表越多。表多会带来很多问题：</p>
<ul>
<li>查询时要连接多个表，增加了查询的复杂度</li>
<li>查询时需要连接多个表，降低了数据库查询性能</li>
</ul>
<p>而现在的情况，磁盘空间成本基本可以忽略不计，所以数据冗余所造成的问题也并不是应用数据库范式的理由。<br>
因此，并不是应用的范式越高越好，要看实际情况而定。第三范式已经很大程度上减少了数据冗余，并且减少了造成插入异常，更新异常，和删除异常了。我个人观点认为，大多数情况应用到第三范式已经足够，在一定情况下第二范式也是可以的。</p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[如何有效提升自控力]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/how-to-effectively-improve-self-control</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/how-to-effectively-improve-self-control">
        </link>
        <updated>2019-07-19T04:57:46.000Z</updated>
        <summary type="html"><![CDATA[<blockquote>
<p>间歇性踌躇满志，持续性混吃等死。</p>
</blockquote>
]]></summary>
        <content type="html"><![CDATA[<blockquote>
<p>间歇性踌躇满志，持续性混吃等死。</p>
</blockquote>
<!-- more -->
<p>如何有效提升自己的自控力？以下几个小方法你值得拥有：</p>
<h1 id="限制自己的选择">限制自己的选择。</h1>
<p>想早起，就把闹钟放在房间里离床最远的地方；想避免冲动购物，去商场就不带手机不带银行卡，只带一定数额的现金；想认真工作，就直接把手机放在自己看不见的地方。通过限制自己的选择，你会更容易实现既定目标。</p>
<h1 id="加入一个和你目标相同的群体">加入一个和你目标相同的群体。</h1>
<p>例如早起打卡群、减肥健身群、读书分享群等。这是因为自控力会受到<strong>社会认同</strong>的影响，群体的存在能让你感到<strong>被支持</strong>；同时群体也起到了<strong>监督作用</strong>，能迫使你始终保持向目标前进的紧张感。</p>
<h1 id="预测诱惑并提前想好应对策略">预测诱惑并提前想好应对策略。</h1>
<p>比如减肥期间，你得先想好假如朋友叫你去撸串该怎么得体地拒绝，这样现实中真正遇到类似的情况，你就不会一时手足无措胡乱答应下来。<strong>提前对实现目标过程中的诱惑和阻力做评估，会大大降低你被意外打乱计划的可能性</strong>。</p>
<h1 id="减少行为的变化性让每天的安排都差不多">减少行为的变化性，让每天的安排都差不多。</h1>
<p>又拿减肥举例子，不要想着今天多吃一块肉，明天就少吃一碗米；而是应该保持每天的三餐食谱基本相同，这样才会让你更好地控制饮食。再比如高考复习的时候，不要想着今天不学习明天补回来，<strong>因为你明天还会这么想</strong>。</p>
<h1 id="在遇到诱惑时给自己一个等待期">在遇到诱惑时给自己一个等待期。</h1>
<p>比如在网购时，看见了特别喜欢的东西，可以把它放进购物车，然后告诉自己：“如果明天我还喜欢它，那我就把它买下来。”这样就能大大减少冲动购物的可能性。</p>
<h1 id="对于耗时比较长的任务在你实在不想做的时候可以告诉自己坚持做10分钟然后就放弃">对于耗时比较长的任务，在你实在不想做的时候，可以告诉自己“坚持做10分钟，然后就放弃。”</h1>
<p>但事实上很多事情只要你开始做了，就绝不会只做十分钟。这个道理尤其适用于健身和写论文。</p>
<h1 id="给自己树立一个意志力榜样">给自己树立一个意志力榜样。</h1>
<p>研究表明：<strong>想到自控力强的人可以增强自己的意志力</strong>。比如你可以把手机屏保设置成某个你喜欢的身材特别好的明星，没事儿就拿出来看一眼，对减肥大大的有利。</p>
<h1 id="不要对自己太过苛刻">不要对自己太过苛刻。</h1>
<p>每个人都有放纵自己的时候，不要因为一次的放纵而自暴自弃，人生还很长，你应该学会与自己沟通并和解。<strong>能原谅自己的人才能更好地控制自己</strong>。</p>
<h1 id="努力让自己活得开心一点">努力让自己活得开心一点。</h1>
<p>因为一个不快乐的人，也许会因为对未来不抱有任何期待，而在当下作出很多有风险性的举动……而如何让自己活得开心，就是另一个大命题了。至少<strong>遵从本心</strong>是最重要的。</p>
<hr>
<p>总而言之，在成年人的世界里，【及时享乐】或许能收获一时的快感，却并不能成为人生的终极解决方案。<strong>自律即自由，才是我们最应该明白的道理</strong>。</p>
<blockquote>
<p>摘自《<a href="https://mp.weixin.qq.com/s?__biz=MzU3MzEzNzI4Ng==&amp;mid=100002969&amp;idx=1&amp;sn=c2fafb9a3eed7300f2b0b51c8cae1e6e&amp;chksm=7cc704704bb08d66b6f2c2da1031847163202da89c8f147423a3dbefd28e6022505b6bd0f33f&amp;mpshare=1&amp;scene=23&amp;srcid=0901AvzrVlGp60HKh4aimoit#rd">如何有效提升自控力？这些方法也许能帮到你</a>》</p>
</blockquote>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[有所思]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/maybe-my-man-is-a-brute</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/maybe-my-man-is-a-brute">
        </link>
        <updated>2019-07-19T04:45:33.000Z</updated>
        <content type="html"><![CDATA[<h1 id="有所思">有所思</h1>
<p><em><strong>汉乐府 佚名</strong></em></p>
<pre><code>有所思，乃在大海南。
何用问遗君？双珠玳瑁簪。
用玉绍缭之。
闻君有他心，拉杂摧烧之。
摧烧之，当风扬其灰。
从今以往，勿复相思！相思与君绝！
鸡鸣狗吠，兄嫂当知之。
妃呼狶！
秋风肃肃晨风飔，
东方须臾高知之。
</code></pre>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[组织大型会议的技巧]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/tips-for-organizing-large-conferences</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/tips-for-organizing-large-conferences">
        </link>
        <updated>2019-07-19T01:40:19.000Z</updated>
        <content type="html"><![CDATA[<p>很多公司在年中和年末会举行大会，这种大型的会议，往往是把分布在全国各地的同事都拉到某一个城市，开个一到两天的会 ，同时也见见面、聚聚餐、聊聊天，或者再一起出去玩一玩。像这样的活动，要考虑到到方方面面的问题太多，而且最重要的事要考虑活动的目的是什么。</p>
<p>一般来说这样一个大的会议，往往要实现三个目的：<strong>策略性的目标统一（Strategic Alignment ）、强化联接（Networking）和发展（Development）</strong>。对于不同的会议，出于不同的目的，三部分所占比例是不同的。可能存在着这个会议80%是做第一部分策略目标统一的，强化联接和发展只占其中的一小部分，另外的会议，这个比例就需要重调。</p>
<h2 id="策略目标的统一">策略目标的统一</h2>
<p>但凡大型会议，肯定不常开，大家聚在一起必定要讨论比较大的问题，对于以前讨论过的问题，需要大家形成共识，更新一下进度，明确接下来的工作思路与方向。这往往是比较重要的话题，会议的方式往往是老板或者一些关键的内部、外部人员主讲，讲完之后要求大家进行讨论，通过讨论形成共识和结论，以及后续的工作方案，这些内容是这个会议最核心的一部分。</p>
<h2 id="强化联接">强化联接</h2>
<p>很多同事在平时的工作中很忙，没有什么机会一起坐下来谈工作或者工作以外的事，尤其是对于在不同地域工作的同事，平时的接触更加少，这个环节就显得尤为重要。另外团队大了之后在不同团队之间可能会产生一些摩擦，借助这个会议给大家提供沟通机会，去减少摩擦。具体采用的手段往往是一些团队活动，在聚餐的时候让大家喝喝酒，小酒下肚，人会比较放松，平时不太亲近的人也能勾肩搭背的聊起来，对那些之前有小矛盾、小摩擦的团队，更能有效的拉近他们之间的距离。</p>
<p>比如说两个团队的老板不和，导致下面的团队成员之间也摩擦不断，没法好好工作，解决这个问题的办法很多，除了那些高大上的，其实还可以充分利用开大会的机会，比如在设计晚宴座位的时候，把这两个大哥的名牌放一起，每个人面前放一大杯白酒，在一些环境气氛的渲染下，给这两一人灌一杯，灌完之后，这两大哥就可能会抱头痛哭，胡言乱语。他俩第二天见面，气氛会有微妙的变化，开始可以聊了，一些不愿意接触的话题，之后也可以开始接触了。</p>
<h2 id="发展">发展</h2>
<p>在企业里面，尤其是讲究以人为本的企业，给员工创造很多发展平台、机会的公司，往往会借助这样的大会，给员工做一些能力上提高的分享。通常是请外部的人过来讲课，甚至是直接安排单独的培训，或者是请内部员工讲他们的实践，还有会借着机会表扬员工对。</p>
<p>往往一个大型会议，这三大目的都能照顾到。如果你去组织一场大型会议，能兼顾这三点，并且遵从会议等目的，平衡好这三点的比重，那这场活动不仅不会无聊，还会很精彩。</p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[60首凄美的爱情精选诗句]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/60-beautiful-love-poems</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/60-beautiful-love-poems">
        </link>
        <updated>2019-07-19T00:50:31.000Z</updated>
        <content type="html"><![CDATA[<ol>
<li>
<p>自从别欢后，叹声不绝响，黄檗向春生，苦心随日长。</p>
</li>
<li>
<p>众里寻他千百度，蓦然回首，那人却在，灯火闸珊处。</p>
</li>
<li>
<p>知我意，感君怜，此情须问天！</p>
</li>
<li>
<p>相思树下说相思，思郎恨郎郎不知。</p>
</li>
<li>
<p>在天愿作比翼鸟，在地愿为连理枝。天长地久有时尽，此恨绵绵无绝期！</p>
</li>
<li>
<p>早知潮有信，嫁与弄潮儿。</p>
</li>
<li>
<p>曾经沧海难为水，除却巫山不是云。取次花丛懒回顾，半缘修道半缘君。</p>
</li>
<li>
<p>相思似海深，旧事如天远。</p>
</li>
<li>
<p>月上柳梢头，人约黄昏后。</p>
</li>
<li>
<p>相思相见知何日？此时此夜难为情。</p>
</li>
<li>
<p>小松岗，月如霜，人如飘絮花亦伤。十数载，三千年，但愿相别不相忘。</p>
</li>
<li>
<p>心似双丝网，中有千千结。</p>
</li>
<li>
<p>寻寻觅觅，冷冷清清，凄凄惨惨戚戚。这次第，怎一个愁字了得？</p>
</li>
<li>
<p>相见时难别亦难，东风无力百花残。春蚕到死丝方尽，蜡炬成灰泪始干。</p>
</li>
<li>
<p>言念君子，温其如玉，在其板屋，乱我心曲。</p>
</li>
<li>
<p>一寸相思一寸灰。</p>
</li>
<li>
<p>相见争如不见，有情还似无情。</p>
</li>
<li>
<p>一枝秾艳露凝香，云雨巫山枉断肠。</p>
</li>
<li>
<p>衣带淅宽终不悔，为伊消得人憔悴。</p>
</li>
<li>
<p>秋风入窗里，罗帐起飘扬，仰头看明月，寄情千里光。</p>
</li>
<li>
<p>人生自古有情痴，此恨不关风与月。</p>
</li>
<li>
<p>入我相思门，知我相思苦，长相思兮长相忆，短相思兮无穷极。</p>
</li>
<li>
<p>色不迷人人自迷，情人眼里出西施。</p>
</li>
<li>
<p>山无棱，天地合，乃敢与君绝。</p>
</li>
<li>
<p>身无彩凤双飞翼，心有灵犀一点通。</p>
</li>
<li>
<p>十年生死两茫荔，不思量，自难忘。小轩窗，正梳妆，相顾无言，惟有泪千行。</p>
</li>
<li>
<p>死生契阔，与子成说。执子之手，与子偕老。</p>
</li>
<li>
<p>天不老，情难绝心似双丝网，中有千千结。</p>
</li>
<li>
<p>天涯地角有穷时，只有相思无尽处。</p>
</li>
<li>
<p>往事已成空，还如一梦中。</p>
</li>
<li>
<p>问君能有几多愁？恰似一江春水向东流。</p>
</li>
<li>
<p>问世间情是何物，直教生死相许。</p>
</li>
<li>
<p>我欲与君相知，长命无绝衰。山无棱，天地合，乃敢与君绝！</p>
</li>
<li>
<p>我住长江头，君住长江尾。日日思君不见君，共饮长江水。</p>
</li>
<li>
<p>无言独上西楼。月如钩。寂寞梧桐深院锁清秋。剪不断。理还乱。是离愁。别是一般滋味在心头。</p>
</li>
<li>
<p>相爱几时穷，无物似茶浓。</p>
</li>
<li>
<p>相恨不如潮有信，相思始觉海非深。</p>
</li>
<li>
<p>君若扬路尘，妾若浊水泥，浮沈各异势，会合何时谐？</p>
</li>
<li>
<p>蜡烛有心还惜别,替人垂泪到天明。</p>
</li>
<li>
<p>两情若是长久时，又岂在朝朝暮暮。</p>
</li>
<li>
<p>洛阳城里见秋风，欲作家书意万重。复恐匆匆说不尽，行人临发又开封。</p>
</li>
<li>
<p>莫言相见阔，天上日应殊。</p>
</li>
<li>
<p>能无意酬乌鹊，惟与蜘蛛乞巧丝。</p>
</li>
<li>
<p>平生不会相思，才会相思，便害相思。</p>
</li>
<li>
<p>凄凉别后两应同，最是不胜清怨月明中。</p>
</li>
<li>
<p>君当做磐石，妾当做蒲苇，蒲苇纫如丝，磐石无转移。</p>
</li>
<li>
<p>嗟余只影系人间，如何同生不同死？</p>
</li>
<li>
<p>几次细思量，情愿相思苦！</p>
</li>
<li>
<p>还君明珠双泪垂，恨不相逄未嫁时。</p>
</li>
<li>
<p>花自飘零水自流。一种相思，两处闲愁。</p>
</li>
<li>
<p>花开堪折直须折，莫待无花空折枝！</p>
</li>
<li>
<p>红豆生南国，春来发几枝。愿君多采颉，此物最相思。</p>
</li>
<li>
<p>多情自古空余恨，好梦由来最易醒。</p>
</li>
<li>
<p>独在异乡为异客，每逄佳节倍思亲。遥知兄弟登高处，遍插茱萸少一人。</p>
</li>
<li>
<p>东边日出西边雨，道是无晴却有晴。</p>
</li>
<li>
<p>滴不尽相思血泪抛红豆，开不完春柳春花满画楼。</p>
</li>
<li>
<p>得成比目何辞死，愿作鸳鸯不羡仙。</p>
</li>
<li>
<p>此情可待成追忆，只是当时己惘然。</p>
</li>
<li>
<p>春心莫共花争发，一寸相思一寸灰。</p>
</li>
<li>
<p>春凤不相识，何事入罗帏？</p>
</li>
</ol>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[8086 汇编指令手册查询]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/8086-assembly-instruction-manual </id>
        <link href="https://tdmaker.github.io/randy-blogs//post/8086-assembly-instruction-manual ">
        </link>
        <updated>2019-07-16T06:33:43.000Z</updated>
        <summary type="html"><![CDATA[<p>8086 汇编指令手册查询，编语言是一种面向机器的语言。它能够利用计算机所在硬件性并能直接控制硬件，在微型计算机系统的开发应用和过程控制和特别受到重视。</p>
]]></summary>
        <content type="html"><![CDATA[<p>8086 汇编指令手册查询，编语言是一种面向机器的语言。它能够利用计算机所在硬件性并能直接控制硬件，在微型计算机系统的开发应用和过程控制和特别受到重视。</p>
<!-- more -->
<h1 id="数据传输指令">数据传输指令</h1>
<p>它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据。</p>
<h2 id="通用数据传送指令">通用数据传送指令.</h2>
<p>MOV 传送字或字节.<br>
MOVSX 先符号扩展,再传送.<br>
MOVZX 先零扩展,再传送.<br>
PUSH 把字压入堆栈.<br>
POP 把字弹出堆栈.<br>
PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.<br>
POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.<br>
PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.<br>
POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.<br>
BSWAP 交换32位寄存器里字节的顺序<br>
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)<br>
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )<br>
XADD 先交换再累加.( 结果在第一个操作数里 )<br>
XLAT 字节查表转换.<br>
—— BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即 0-FFH); 返回 AL 为查表结果. ( [BX+AL]-&gt;AL )</p>
<h2 id="输入输出端口传送指令">输入输出端口传送指令.</h2>
<p>IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )<br>
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )<br>
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,<br>
其范围是 0-65535.</p>
<h2 id="目的地址传送指令">目的地址传送指令.</h2>
<p>LEA 装入有效地址.<br>
例: LEA DX,string ;把偏移地址存到DX.<br>
LDS 传送目标指针,把指针内容装入DS.<br>
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.<br>
LES 传送目标指针,把指针内容装入ES.<br>
例: LES DI,string ;把段地址:偏移地址存到ES:DI.<br>
LFS 传送目标指针,把指针内容装入FS.<br>
例: LFS DI,string ;把段地址:偏移地址存到FS:DI.<br>
LGS 传送目标指针,把指针内容装入GS.<br>
例: LGS DI,string ;把段地址:偏移地址存到GS:DI.<br>
LSS 传送目标指针,把指针内容装入SS.<br>
例: LSS DI,string ;把段地址:偏移地址存到SS:DI.</p>
<h2 id="标志传送指令">标志传送指令.</h2>
<p>LAHF 标志寄存器传送,把标志装入AH.<br>
SAHF 标志寄存器传送,把AH内容装入标志寄存器.<br>
PUSHF 标志入栈.<br>
POPF 标志出栈.<br>
PUSHD 32位标志入栈.<br>
POPD 32位标志出栈.</p>
<h1 id="算术运算指令">算术运算指令</h1>
<p>ADD 加法.<br>
ADC 带进位加法.<br>
INC 加 1.<br>
AAA 加法的ASCII码调整.<br>
DAA 加法的十进制调整.<br>
SUB 减法.<br>
SBB 带借位减法.<br>
DEC 减 1.<br>
NEC 求反(以 0 减之).<br>
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).<br>
AAS 减法的ASCII码调整.<br>
DAS 减法的十进制调整.<br>
MUL 无符号乘法.<br>
IMUL 整数乘法.<br>
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),<br>
AAM 乘法的ASCII码调整.<br>
DIV 无符号除法.<br>
IDIV 整数除法.<br>
以上两条,结果回送:商回送AL,余数回送AH, (字节运算); 或 商回送AX,余数回送DX, (字运算).<br>
AAD 除法的ASCII码调整.<br>
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)<br>
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)<br>
CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)<br>
CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)</p>
<h1 id="逻辑运算指令">逻辑运算指令</h1>
<p>AND 与运算.<br>
OR 或运算.<br>
XOR 异或运算.<br>
NOT 取反.<br>
TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).<br>
SHL 逻辑左移.<br>
SAL 算术左移.(=SHL)<br>
SHR 逻辑右移.<br>
SAR 算术右移.(=SHR)<br>
ROL 循环左移.<br>
ROR 循环右移.<br>
RCL 通过进位的循环左移.<br>
RCR 通过进位的循环右移.<br>
以上八种移位指令,其移位次数可达255次.<br>
移位一次时, 可直接用操作码. 如 SHL AX,1.<br>
移位&gt;1次时, 则由寄存器CL给出移位次数.<br>
如 MOV CL,04<br>
SHL AX,CL</p>
<h1 id="串指令">串指令</h1>
<p>DS:SI 源串段寄存器 :源串变址.<br>
ES:DI 目标串段寄存器:目标串变址.<br>
CX 重复次数计数器.<br>
AL/AX 扫描值.<br>
D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量.<br>
Z标志 用来控制扫描或比较操作的结束.<br>
MOVS 串传送.<br>
( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )<br>
CMPS 串比较.<br>
( CMPSB 比较字符. CMPSW 比较字. )<br>
SCAS 串扫描.<br>
把AL或AX的内容与目标串作比较,比较结果反映在标志位.<br>
LODS 装入串.<br>
把源串中的元素(字或字节)逐一装入AL或AX中.<br>
( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )<br>
STOS 保存串.<br>
是LODS的逆过程.<br>
REP 当CX/ECX&lt;&gt;0时重复.<br>
REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX&lt;&gt;0时重复.<br>
REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX&lt;&gt;0时重复.<br>
REPC 当CF=1且CX/ECX&lt;&gt;0时重复.<br>
REPNC 当CF=0且CX/ECX&lt;&gt;0时重复.</p>
<h1 id="程序转移指令">程序转移指令</h1>
<h2 id="无条件转移指令-长转移">无条件转移指令 (长转移)</h2>
<p>JMP 无条件转移指令<br>
CALL 过程调用<br>
RET/RETF过程返回.</p>
<h2 id="条件转移指令-短转移-128到127的距离内">条件转移指令 (短转移,-128到+127的距离内)</h2>
<p>( 当且仅当(SF XOR OF)=1时,OP1&lt;OP2 )<br>
JA/JNBE 不小于或不等于时转移.<br>
JAE/JNB 大于或等于转移.<br>
JB/JNAE 小于转移.<br>
JBE/JNA 小于或等于转移.<br>
以上四条,测试无符号整数运算的结果(标志C和Z).<br>
JG/JNLE 大于转移.<br>
JGE/JNL 大于或等于转移.<br>
JL/JNGE 小于转移.<br>
JLE/JNG 小于或等于转移.<br>
以上四条,测试带符号整数运算的结果(标志S,O和Z).<br>
JE/JZ 等于转移.<br>
JNE/JNZ 不等于时转移.<br>
JC 有进位时转移.<br>
JNC 无进位时转移.<br>
JNO 不溢出时转移.<br>
JNP/JPO 奇偶性为奇数时转移.<br>
JNS 符号位为 “0” 时转移.<br>
JO 溢出转移.<br>
JP/JPE 奇偶性为偶数时转移.<br>
JS 符号位为 “1” 时转移.</p>
<h2 id="循环控制指令短转移">循环控制指令(短转移)</h2>
<p>LOOP CX不为零时循环.<br>
LOOPE/LOOPZ CX不为零且标志Z=1时循环.<br>
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.<br>
JCXZ CX为零时转移.<br>
JECXZ ECX为零时转移.</p>
<h2 id="中断指令">中断指令</h2>
<p>INT 中断指令<br>
INTO 溢出中断<br>
IRET 中断返回</p>
<h2 id="处理器控制指令">处理器控制指令</h2>
<p>HLT 处理器暂停, 直到出现中断或复位信号才继续.<br>
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.<br>
ESC 转换到外处理器.<br>
LOCK 封锁总线.<br>
NOP 空操作.<br>
STC 置进位标志位.<br>
CLC 清进位标志位.<br>
CMC 进位标志取反.<br>
STD 置方向标志位.<br>
CLD 清方向标志位.<br>
STI 置中断允许位.<br>
CLI 清中断允许位.</p>
<h1 id="伪指令">伪指令</h1>
<p>DW 定义字(2字节).<br>
PROC 定义过程.<br>
ENDP 过程结束.<br>
SEGMENT 定义段.<br>
ASSUME 建立段寄存器寻址.<br>
ENDS 段结束.<br>
END 程序结束.</p>
]]></content>
    </entry>
    <entry>
        <title type="html"><![CDATA[冯唐诗百首，撩者九十九]]></title>
        <id>https://tdmaker.github.io/randy-blogs//post/almost-all-poems-written-by-feng-tang-are-porn</id>
        <link href="https://tdmaker.github.io/randy-blogs//post/almost-all-poems-written-by-feng-tang-are-porn">
        </link>
        <updated>2019-07-16T01:52:30.000Z</updated>
        <summary type="html"><![CDATA[<p><strong>柴静曾说：</strong><br>
朋友里说起冯唐，分两类，一类喜欢他，说“他左手一指明月，右手一指沟渠，然后把手指砍了。另一类连他的名字都不能提，“阴气太重” 。</p>
]]></summary>
        <content type="html"><![CDATA[<p><strong>柴静曾说：</strong><br>
朋友里说起冯唐，分两类，一类喜欢他，说“他左手一指明月，右手一指沟渠，然后把手指砍了。另一类连他的名字都不能提，“阴气太重” 。</p>
<!-- more -->
<h2 id="周处">周处</h2>
<pre><code>像你我这样的邪逼
老天野合降生大地

来开几扇门
来挖几座坟
负责贡献本能
不管抚慰灵魂

我们是世人最好的朋友
我们是世人最差的情人
我们彼此相爱
就是为民除害
</code></pre>
<h2 id="可遇不可求的事">可遇不可求的事</h2>
<pre><code>后海有树的院子
夏代有工的玉
此时此刻的云
二十来岁的你
</code></pre>
<h2 id="-">-</h2>
<pre><code>人分两类
是你和不是你
时间分两类
你在的时候和你不在的时候
为什么多数情况下
来的不是你
你不在
</code></pre>
<h2 id="--2">-</h2>
<pre><code>春水初生，春林初盛
春风十里，不如你
</code></pre>
<h2 id="--3">-</h2>
<pre><code>于是我决定忘记我决定不见你 
于是我北上北极熊的肚皮是你 
于是我南下南十字的星光是你 
于是我东游北海道的汤泉是你 
于是我西游莫高窟的砂岩是你
</code></pre>
<h2 id="--4">-</h2>
<pre><code>煲汤比写诗重要 
自己的手艺比男人重要 
头发和胸和腰和屁股比脸蛋重要 
内心强大到混蛋 
比什么都重要
</code></pre>
<h2 id="私奔">私奔</h2>
<pre><code>那是爱
那是癌
那是如来
</code></pre>
<h2 id="--5">-</h2>
<pre><code>秋天短到没有 
你我短到不能回头
</code></pre>
<h2 id="还在">还在</h2>
<pre><code>六九冰开 
七九燕来 
你是立春之后一树一树的花开 
这么久了 
这么忍了 
这么简单的梦是你 
不容分说的还在
</code></pre>
<h2 id="寓意二">寓意（二）</h2>
<pre><code>寻常的草地
寻常的机场
寻常的中雨

抱你 
不知道下次在哪里，所以 
再抱你 

再大一点力气 
你就小到 
我风衣口袋里
</code></pre>
<h2 id="--6">-</h2>
<pre><code>我嫉妒每一个插过你的人 
我嫉妒每一个没插过你但是见过你的人 
我嫉妒每一个摸你头发的人 
我嫉妒每一个没摸过你头发但是认识你妈妈的人 
西风无端起 
东边草满地 
我离佛千万里 
我离佛特别近
</code></pre>
<h2 id="--7">-</h2>
<pre><code>你问
什么是爱情啊
“爱情？是一肉球吧？
有的人没有球
有的人有个弹球
有个人有个篮球。”

你说
“最喜欢云彩
毫无未来
一段只有两个人的现在
宝贵到干什么都是浪费
白天看云彩
晚上躺在一起
发呆
说话
做爱
把你抽干。”

我说
“有些树叶
秋天就落了
春天再长出新的来
人们管这个叫变心
我的教育管这个叫凋亡
癌的产生源于凋亡的失灵”

我问
什么是爱情啊
“就是见面欢喜
不见面想念
宽容和慈悲”
</code></pre>
<h3 id="好人">好人</h3>
<pre><code>你的问题是
浑身没有不是
没玩你睡觉抓着我的手腕
每天你醒来抱紧我的器官

你是我的贝壳但是不是那粒尘埃 
你是我的夏天但是不是那片云彩 
你是我的肉肉但是不是那根鸡鸡 
你是我的泉水但是不是那杯茅台 

我打坐 
我弹琴 
我喝茶 
我哭泣 

我明白所有的道理 
为什么还是有委屈
</code></pre>
<h2 id="我眼">我眼</h2>
<pre><code>我眼里你所有的头发九年没短 
我眼里你所有的水九年没干 
当年不该种相思 
一种一寺舍利子
</code></pre>
<h2 id="--8">-</h2>
<pre><code>生活简单 
思想龌龊 
每天除了干你
就是干活
</code></pre>
<h2 id="人间十四行">人间十四行</h2>
<pre><code>没到过人间 
没离过人间 
你答应我 
不许回到人间

你的眼睛不是来自人间 
你的头发不是来自人间 
你的奶头不是来在人间
你的逼逼不是来自人间

生活是倒的 
春椿木会肏布谷鸟吗 
布谷鸟见过冬天的喇叭花吧 
和尚自摸的时候会想起别的和尚的屌吗 

透过你的头发看过你的尖下巴 
如果他给你安稳一定要抱着他
</code></pre>
<h2 id="--9">-</h2>
<pre><code>你走进我的房 
你看了一眼我的床 
水杯子里扔进一颗糖
</code></pre>
<h2 id="一起">一起</h2>
<pre><code>想和你在海边 
一坐一夜
一日千年
</code></pre>
<h2 id="无题3">无题（3）</h2>
<pre><code>没想到秋天帝都的柳树可以这样绿 
没想到这么多年了想起你还会下起雨
</code></pre>
<h2 id="爱">爱</h2>
<pre><code>我不是自恋 
我是爱人类 
我不爱妇女
我只热爱你
</code></pre>
<h2 id="再见">再见</h2>
<pre><code>你的裙子怎么穿的 
你的眉毛怎么弯的  
你的头发怎么盘的  
记不清你  
所以要见你再见你
</code></pre>
<h2 id="--10">-</h2>
<pre><code>你说这样的酒应该陈藏二十六年 
早一年晚一年喝都是对不起老天
</code></pre>
<h2 id="--11">-</h2>
<pre><code>没到过人间 
没离过人间 
你答应我 
不许回到人间
</code></pre>
<h2 id="忍">忍</h2>
<pre><code>皇后大道西
菜铺昌记
你有懒汉衫
你抽鬼佬烟
你挑拣着蔬菜洗她们的身体

叶子燃烧所以一切是假的
你怎么还在呢

“不用扎眼了
我身上的洞够你用了”
“大道无门
我怎么就进到你这儿了？”

我是混蛋我是懦夫
我替老天管好自己
不去祸害人间不去祸害你
</code></pre>
<h2 id="--12">-</h2>
<pre><code>星之火可以燎原吗 
鸡蛋能敲碎石头吗 
文字能打败时间吗 
爱情能战胜生活吗 
拼命看你就记得住吗 
拼命抱你就能不闷吗 
拼命倾诉就不陌生吗 
拼命想念就能见到吗 
在肾结石开始生成的夏天 
心重新变得柔软 
世界观缓慢改变
</code></pre>
<h2 id="--13">-</h2>
<pre><code>我把月亮戳到天上
天就是我的
我把脚踩入地里
地就是我的
我把唇压进你的脸庞
你就是我的
</code></pre>
<h2 id="--14">-</h2>
<pre><code>心里很近的朋友
是会想念的
是隔上一个月两个月必定要见一次面的
不说什么
在一起就觉得很温暖
</code></pre>
<h2 id="--15">-</h2>
<pre><code>白白的
小小的
紧紧的
香香的
佛说第一次触摸最接近佛
</code></pre>
<h2 id="水">水</h2>
<pre><code>你眼睛的面积一定小于湖 
你也很少哭 
为什么坐在你面前 
就像站在湖边 
细细的雾水就扯地连天 
</code></pre>
<h2 id="--16">-</h2>
<pre><code>一个有雨有肉的晚上
和你分一瓶酒
</code></pre>
<h2 id="沉溺">沉溺</h2>
<pre><code>就这样看你
用所有的眼睛和所有的距离
就像风停了
风又起
</code></pre>
<h2 id="无题6">无题（6）</h2>
<pre><code>我们曾一起上山
你说你先走
我留下来对付妖怪
</code></pre>
<h2 id="右手">右手</h2>
<pre><code>梦里第一次下雨 
天空飞舞你的身子 
我扒开泥土 
种下我的种子 
多少年了 
你不知道的种子没有长出我的身子 
我肮脏的右手是天空中飞舞的无法触摸的你的身子
</code></pre>
<h2 id="--17">-</h2>
<pre><code>我最喜欢
我想你的六个瞬间
</code></pre>
<h2 id="--18">-</h2>
<pre><code>下次
带两瓶酒去
不说
一字一句
</code></pre>
<h2 id="--19">-</h2>
<pre><code>不是想喝大
是想喝大了不怕
然后和你说话 
</code></pre>
<h2 id="沉香">沉香</h2>
<pre><code>沉你在心底
偶尔香起你
</code></pre>
<h2 id="类似的颜色">类似的颜色</h2>
<pre><code>类似的颜色是
荷花高出水面的花瓣
带红沁的乾隆素面白玉碗
早上下完雨才出太阳的天
黑暗中刚洗完的你的脸
</code></pre>
<h2 id="力量">力量</h2>
<pre><code>力量随距离的平方递减的是光
力量随距离的平方递增的是你
</code></pre>
<h2 id="醉归">醉归</h2>
<pre><code>醉鬼
醉归
明月随我
一去无回
</code></pre>
<h2 id="荇菜">荇菜</h2>
<pre><code>学生时周末
带词源回家
没查

工作时酒后
带福彩回家
没擦

年轻时歪邪
带你回家
没插

向死而在
参差荇菜
太爱必呆
</code></pre>
<h2 id="命门">命门</h2>
<pre><code>命名之下
可以坐化
泉水淙淙
可以开花
摇摇秋光
颠倒梦想
小星在上
必齐之姜
命名之上
魑魅魍魉
唯汝断肠
唯汝不永伤
</code></pre>
<h2 id="前海">前海</h2>
<pre><code>在湖边最高楼 
想，对你的下流 
风如发梢穿过脸 
百米外一家骨科医院
</code></pre>
<h2 id="--20">-</h2>
<pre><code>是每寸都开的 
是你看不到的 
是绝少主动的 
是假装睡去的 
是等你进来的 
是不放你走的 
是仅仅想你的 
是不怕失去的 
是珍惜点滴的 
是你不明白的 
</code></pre>
<h2 id="真的好的女人">真的好的女人</h2>
<pre><code>我都如此毫无遮拦摆在你面前 
你还想怎样 
老天分发激素的那天 
你错过了时间
</code></pre>
<h2 id="美好的事儿">美好的事儿</h2>
<pre><code>读《剑桥中国隋唐史》和《旧唐书》 
看初唐时候百万人口的长安 
隔着西堤上的芦苇和柳树 
看远处的玉泉山 
透过你的头发 
看你的脸
</code></pre>
<h2 id="--21">-</h2>
<pre><code>喝了这么多瓶　　 
喝不出不同品种或者价钱　　 
喝了这么多年　　 
喝不出不同产地或者时间　　 
</code></pre>
<h3 id="--22">-</h3>
<pre><code>你穿了一件酒红色的连衣裙　　 
吊带在后背和前胸勾勒出酒杯　　 
你的发髻之间摆放松露、鸡纵、

麝香、沉香、黑莓和蓝莓　　 
你的眉眼之间摆放妇好、薛涛、

卓文君、李清照、朱七七和苏小小 
</code></pre>
<h2 id="--23">-</h2>
<pre><code>气味像烟花一样一团一团放出　　 
你到底是动物还是植物？　　 
味道像雾水一样一寸一寸弥漫 
你到底活了一天还是一千年？　
</code></pre>
<h2 id="无题2">无题（2）</h2>
<pre><code>深圳，雨 
北京，雨 
昆明，雨 
不见你，到处都是雨
</code></pre>
<h2 id="神迹">神迹</h2>
<pre><code>手指破了 
指纹再长出来 
我忘了你的脸 
你的香气再冒出来
</code></pre>
<h2 id="风雨">风雨</h2>
<pre><code>像风一样到来 
像根一样离开 
你不在 
我不醉 
书没读完 
半杯白水
</code></pre>
<h2 id="算术">算术</h2>
<pre><code>你大于我，大于眼前，大于王国

你小于你，小于森林，小于井底

你等于道，等于爱情，等于生命
</code></pre>
<h2 id="无题8">无题（8）</h2>
<pre><code>知道你在北方海边：

一时，啤酒，贝壳和冷风。

想起一时之间， 
多年以来浪费的妙人，

好花草，

于是诗： 
你是一夜一夜排开的酒 
一夜一夜一个人白白流走
</code></pre>
<h2 id="无题10">无题（10）</h2>
<pre><code>爱你
如呼吸
</code></pre>
<h2 id="美国">美国</h2>
<pre><code>水龙头里的水基本可喝
天基本是蓝的
网基本上通的
账簿和街上的人基本可信
你基本还是遥不可及
</code></pre>
<h2 id="绽放">绽放</h2>
<pre><code>“以前没觉得你这么淫荡”
“我几乎从来不绽放”
</code></pre>
<h2 id="物种起源">物种起源</h2>
<pre><code>公蛤蟆抱住母蛤蟆的腰
母蜘蛛吃了公蜘蛛的屌/风雨摇摇
中心遥遥
九死不掉
你的腰/你的屌
你的怀抱
</code></pre>
<h2 id="戒断">戒断</h2>
<pre><code>这个时刻
你不是佛
这个时刻
你是我的
</code></pre>
<h2 id="所有的鱼">所有的鱼</h2>
<pre><code>什么也长不过一首长诗
什么也屎不过前朝历史
一时欢喜你
我们曾经认识所有的鱼
</code></pre>
<h2 id="你一">你（一）</h2>
<pre><code>莲子
莲花
桃子
包子
</code></pre>
]]></content>
    </entry>
</feed>