tag:blogger.com,1999:blog-8629494269385731012024-02-21T16:12:55.494+08:00杨贵福的blog重剑无锋,大巧不工。Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.comBlogger1470125tag:blogger.com,1999:blog-862949426938573101.post-61164374650378391212016-12-20T16:15:00.001+08:002016-12-20T16:42:26.302+08:00由 excel 转换为 markdown,及收获<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyF21ctGXFshc12kt0q370mk_yB9vy4x4spYjq14dHCLEs-uNrRxvQW9Bmr1Zm92YJ7Kuw09cliyBkgZU7cgH7eOPcXKdybZYhxPiImwQOoK3-crus8rWnipZOuwNgjtdHm_Z4EHL4_B0/s1600/snow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyF21ctGXFshc12kt0q370mk_yB9vy4x4spYjq14dHCLEs-uNrRxvQW9Bmr1Zm92YJ7Kuw09cliyBkgZU7cgH7eOPcXKdybZYhxPiImwQOoK3-crus8rWnipZOuwNgjtdHm_Z4EHL4_B0/s320/snow.jpg" width="320" /></a></div>
<div class="entry-content">
<br />
1. 问题<br />
构建之法(现代软件工程)东北师大站[http://www.cnblogs.com/younggift/]的每周学生作业成绩,执行教学团队[https://home.cnblogs.com/u/xinz]要求,发布在
cnblogs
上。作业中包括每位同学在作业单项中取得的分数、累加、按比例分配、线性映射等数据,本学期约17次作业成绩或排序统计,产生约70个表格。成绩公布后学生申诉教师修改成绩时,这些表格需要重新计算,再次发布。每次作业申诉数量大约5次左右。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijYo1V9RVQeFK99ccYZVk2Fq0kUzGhPKnIadTbscAZEVgyS6CDuk_8GFzwD7NFS2BbiPfO7k__k6FP-Vlq1qCUR78S5MJtD1mdJHfivqL3lFJe-WLpNO5umwBg74SWZw_LryZuduAAXjg/s1600/nenu.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijYo1V9RVQeFK99ccYZVk2Fq0kUzGhPKnIadTbscAZEVgyS6CDuk_8GFzwD7NFS2BbiPfO7k__k6FP-Vlq1qCUR78S5MJtD1mdJHfivqL3lFJe-WLpNO5umwBg74SWZw_LryZuduAAXjg/s320/nenu.jpg" width="320" /></a></div>
<br />
Emacs是我平时的主要工作环境,所以优选熟悉的工具。上学期第一次成绩发布使用了
org-mode 中的表格,发布为html源代码,粘贴到
cnblogs上。成绩累加、变更后的重新计算非常麻烦,org-mode主要是大纲写作工具,不是电子表格。使用的感觉类似于在word的表格中计算。<br />
Excel适合记录、计算、数据变更后再计算,cnblogs使用纯文本、html 或markdown格式。其中 markdown
格式语法简洁,支持大纲式写作和表格,所以适合成绩发布和变更后再次发布。因此,上学期除最初一两次,以及本学期大部分作业成绩发布,先在excel下记录和计算,然后转换为
markdown 格式。<br />
本文回顾我使用的三种方法,由 excel 文件转为 markdown,及收获。<br />
2. 方案1,FFL 的 exceltk.exe<br />
推荐使用此方案。在本学期大多发布中,我都使用了这一工具。没有使用的几次是在等待升级,采用了临时方案。<br />
exceltk 最初是小牛同学拷给我的,说这个非常方便。后来 FLL 老师做过升级,其中对公式的支持、支持移动设备上查看cnblogs上的表头不变形、小数点保留位数这几次升级都很有帮助。<br />
FFL 老师对 exceltk.exe 的介绍在<br />
[http://www.cnblogs.com/math/p/exceltk.html]。<br />
源码:https://github.com/fanfeilong/exceltk<br />
下载:http://files.cnblogs.com/files/math/exceltk0.0.9.7<br />
我的使用方法类似<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="bash" style="font-family: monospace;">exceltk.exe <span style="color: #660033;">-t</span> md <span style="color: #660033;">-p</span> <span style="color: black;">2</span> <span style="color: #660033;">-xls</span> 构建之法作业成绩debug.xls</pre>
</td></tr>
</tbody></table>
</div>
把excel中的每个 sheet 导出成 markdown,小数点保留两位精度。<br />
3. 方案2,sed<br />
exceltk有一段时间不支持 excel 公式计算结果,我换用了临时方案,等待exceltk升级后切换回来。<br />
3.1 为什么需要公式<br />
我的excel中使用了 vlookup, match 等函数,以方便学生申诉以后的成绩变更。<br />
比如个人作业单项变更,需要因此变更的字段有
个人作业总和、个人作业映射到占本周总成绩20%、本周成绩总和、数周累积、数周累积排序、数周累积去除负分同学排序、数周累积映射到[50,100];再如团队成绩单项变更,需要因此变更的字段有
该团队总分、该团队总分映射到本周总成绩的30%、该团队所有成员的团队成绩、该团队所有成员的本周总成绩、该团队所有成员的数周累积以及排序和映射到[50,100]。诸如此类。由每周作业的单项数目不同,所以公式不宜用固定列的序号,比如”=SUM(B4:L4)”,而采用了vlookup
& match 函数对字段寻址。<br />
vlookup & match 函数类似这样:<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="bash" style="font-family: monospace;">=VLOOKUP<span style="color: #7a0874; font-weight: bold;">(</span>F4,小组<span style="color: black; font-weight: bold;">!</span><span style="color: #007800;">$A</span>:<span style="color: #007800;">$W</span>,MATCH<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: red;">"合计"</span>,小组<span style="color: black; font-weight: bold;">!</span><span style="color: #007800;">$1</span>:<span style="color: #007800;">$1</span>,<span style="color: black;">0</span><span style="color: #7a0874; font-weight: bold;">)</span>+<span style="color: black;">1</span>,FALSE<span style="color: #7a0874; font-weight: bold;">)</span></pre>
</td></tr>
</tbody></table>
</div>
含义是<br />
(1) F4单元格所在列是”所属小组”,每行一人,随行变化。此例中的值为<br />
“=VLOOKUP(A4,组员归属!A:B,2,FALSE)”,求值结果 “飞天小女警”。<br />
(2) 取”飞天小女警”的”合计。”取 名为”小组”的工作表 中,表头 (第一行)写<br />
作”合计”的那列的数据,要求 A列的值为 F4的那行,即”飞天小女警”。<br />
(3) 总结,姓名 -> 组员归属 -> 小组成绩.<br />
这样,当小组成绩变更以后,该团队所有成员的小组成绩、本周总成绩、数据累积等都会自动变化。我只要修改变更的单项,然后再把excel导出成
markdown发布就行了。不使用公式,每次变更需要顺序修改、复制粘贴若干次,时间长工作量大,每个单项都要消耗30分钟左右,还担心出错。使用公式后成绩变更一次几分钟。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIC7kx6shy6idaZtt8TaRTUXMiBI3JGxxJUKffxxGKhX0mY7CMVPuA2cFBbEJBMgNnXwrEn0PfTsthJ1WVlWydlPSjFx3uMekcxE_NHyV5KRnaKAC2_8AOXPANT2OkWw3MSC4utnfjMkw/s1600/vlookup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIC7kx6shy6idaZtt8TaRTUXMiBI3JGxxJUKffxxGKhX0mY7CMVPuA2cFBbEJBMgNnXwrEn0PfTsthJ1WVlWydlPSjFx3uMekcxE_NHyV5KRnaKAC2_8AOXPANT2OkWw3MSC4utnfjMkw/s320/vlookup.png" width="320" /></a></div>
<br />
3.2 excel -> csv -> markdown<br />
sed 是 perl 的灵感来源之一,另一个是 awk。它们专门辅助 shell 脚本,awk做计算,sed做文本替换。<br />
我用的临时方案脚本,在这里[https://coding.net/u/younggift/p/xls2md/]。<br />
3.2.1 excel -> csv, vba<br />
我把 excel 导出为 csv 格式,这样完成了公式的计算,也成为了文本格式,sed才能处理。<br />
使用了 stackoverflow 上的 vbs 脚本,稍作修改,按数据表名导出。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="bash" style="font-family: monospace;">----脚本开始
<span style="color: black; font-weight: bold;">if</span> WScript.Arguments.Count <span style="color: black; font-weight: bold;">&</span>lt; <span style="color: black;">2</span> Then
WScript.Echo <span style="color: red;">"Please specify the source and the destination files. Usage: ExcelToCsv <xls/xlsx source file> "</span>
Wscript.Quit
End If
csv_format = <span style="color: black;">6</span>
Set objFSO = CreateObject<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: red;">"Scripting.FileSystemObject"</span><span style="color: #7a0874; font-weight: bold;">)</span>
src_file = objFSO.GetAbsolutePathName<span style="color: #7a0874; font-weight: bold;">(</span>Wscript.Arguments.Item<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">0</span><span style="color: #7a0874; font-weight: bold;">)</span><span style="color: #7a0874; font-weight: bold;">)</span>
dest_file = objFSO.GetAbsolutePathName<span style="color: #7a0874; font-weight: bold;">(</span>WScript.Arguments.Item<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">1</span><span style="color: #7a0874; font-weight: bold;">)</span><span style="color: #7a0874; font-weight: bold;">)</span>
rem msgbox<span style="color: #7a0874; font-weight: bold;">(</span>dest_file<span style="color: #7a0874; font-weight: bold;">)</span>
Dim oExcel
Set oExcel = CreateObject<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: red;">"Excel.Application"</span><span style="color: #7a0874; font-weight: bold;">)</span>
Dim oBook
Set oBook = oExcel.Workbooks.Open<span style="color: #7a0874; font-weight: bold;">(</span>src_file<span style="color: #7a0874; font-weight: bold;">)</span>
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">1</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\个人"</span>, csv_format
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">2</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\结对"</span>, csv_format
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">3</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\小组"</span>, csv_format
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">5</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\本周"</span>, csv_format
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">8</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\数周排序-去除负分"</span>, csv_format
oBook.Worksheets<span style="color: #7a0874; font-weight: bold;">(</span><span style="color: black;">9</span><span style="color: #7a0874; font-weight: bold;">)</span>.ActivateoBook.SaveAs dest_file+<span style="color: red;">"\数周累积负分"</span>, csv_format
oBook.Close False
oExcel.Quit
----脚本结束</pre>
</td></tr>
</tbody></table>
</div>
调用的时候,在bat中,如下。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="bash" style="font-family: monospace;">----bat片段开始
chcp <span style="color: black;">936</span>
<span style="color: black; font-weight: bold;">set</span> <span style="color: #007800;">filename</span>=构建之法作业成绩beta-review.xls
xls2csv.vbs <span style="color: black; font-weight: bold;">%</span>filename<span style="color: black; font-weight: bold;">%</span> .
----bat片段结束</pre>
</td></tr>
</tbody></table>
</div>
3.2.2 cvs -> mark down, sed<br />
根据不同数据表的格式不同,我写了不同的 sed 脚本。”应该”把某些 sed 脚本抽象合并到同一个文件中,不过考虑到复用次数不多、可预见的复用增长不大、以及懒,所以就复制粘贴,然后分别修改了。<br />
所以 shell 脚本看起来这样,里面的 c1_head 与 c1, c2_head 与 c2 长得很像,抽象优化强迫症患者可能感觉不好。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="bash" style="font-family: monospace;">----shell脚本片段开始
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-f</span> c1_head.sed 本周.csv <span style="color: black; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-f</span> c2_head.sed <span style="color: black; font-weight: bold;">&</span>gt; 本周.md
<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-f</span> c1.sed 数周排序-去除负分.csv <span style="color: black; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-f</span> c2.sed <span style="color: black; font-weight: bold;">&</span>gt; 数周排序-去除负分.md
----shell脚本片段开始</pre>
</td></tr>
</tbody></table>
</div>
每行分成两个sed执行,用管道连接,重定向到指定名称的md即markdown文件中。分成两个sed执行是必要的,因为 sed
不支持对刚刚粘贴来的行通过引用行号编辑。或者是因为我没有做出足够好的正则表达式 (@典同学,@marverick@柳园bbs)
,考虑sed/正则表达式的处理能力,此处应该不涉及类似括号匹配的上下文无关文法。<br />
3.3 sed解读<br />
3.3.1 测试用例<br />
(1) cvs的前几行<br />
列之间用”,”分隔。在我的临时sed脚本中,没有处理转义”,”的情况,解决的方案是在xls中避免使用半角逗号。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">,20160901,20160908,20160922,20160929,20161013,20161020,20161027,20161103,20161110,累积,映射至[100,60],映射至[100,50]
,,,pre-α,α-1,α-2,α-review,β-1,β-2,β-review,,,
[黄兴](http://www.cnblogs.com/huangxman),72.00 ,80.00 ,68.60 ,5.15 ,41.06 ,63.93 ,60.60 ,69.60 ,78.03 ,538.97 ,100.00 ,100.00
[李俞寰](http://www.cnblogs.com/li-yuhuan/),85.00 ,86.00 ,69.53 ,35.75 ,44.35 ,64.53 ,41.20 ,31.20 ,78.63 ,536.19 ,99.79 ,99.73
[张金生](https://www.cnblogs.com/jx8zjs/),93.00 ,94.00 ,72.47 ,-1.00 ,66.06 ,-1.53 ,39.60 ,63.88 ,88.41 ,514.89 ,98.14 ,97.67
[程媛媛](https://www.cnblogs.com/yuanyuancheng/),61.00 ,76.00 ,-7.60 ,13.27 ,41.23 ,94.67 ,69.40 ,75.20 ,86.51 ,509.68 ,97.73 ,97.17</pre>
</td></tr>
</tbody></table>
</div>
<br />
(2) markdown的前几行<br />
形如”|:–|”的文字,用于分隔出表头。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|[黄兴](http://www.cnblogs.com/huangxman)|72.00 |80.00 |68.60 |5.15 |41.06 |63.93 |60.60 |69.60 |78.03 |538.97 |100.00 |100.00 |
|[李俞寰](http://www.cnblogs.com/li-yuhuan/)|85.00 |86.00 |69.53 |35.75 |44.35 |64.53 |41.20 |31.20 |78.63 |536.19 |99.79 |99.73 |
|[张金生](https://www.cnblogs.com/jx8zjs/)|93.00 |94.00 |72.47 |-1.00 |66.06 |-1.53 |39.60 |63.88 |88.41 |514.89 |98.14 |97.67 |
|[程媛媛](https://www.cnblogs.com/yuanyuancheng/)|61.00 |76.00 |-7.60 |13.27 |41.23 |94.67 |69.40 |75.20 |86.51 |509.68 |97.73 |97.17 |
|[张政](https://www.cnblogs.com/regretless/)|90.00 |98.00 |71.27 |5.07 |65.48 |-2.73 |20.00 |68.38 |92.91 |508.38 |97.63 |97.04 |</pre>
</td></tr>
</tbody></table>
</div>
3.3.2 把 , 转成 |<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;"># , => |
s/,/|/g;
s/^/|/g;
s/$/|/g;</pre>
</td></tr>
</tbody></table>
</div>
(1) s是substitute.<br />
(2) s / 原来的文字 / 替换成的文字 / 全局<br />
(3) ^表示行首,$表示行尾。<br />
总的效果是,把所有逗号换成竖线,行首行尾各加一条竖线。<br />
3.3.3 表头 |:–|<br />
数据流是这样的 (cvs) -> c1_head -> c2_head -> (md),其中括号里的是产物,没括号的是加工。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">在 c1_head.sed 中:
# table head, copy & paste
1h
1G</pre>
</td></tr>
</tbody></table>
</div>
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">在 c2_head.sed 中:
2s/[^|]//g
2s/|/|:--/g
2s/|:--$/|/g</pre>
</td></tr>
</tbody></table>
</div>
(1) 1h 复制第1行,1G粘贴在当前位置。得到<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|
||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|</pre>
</td></tr>
</tbody></table>
</div>
(2) c2_head.sed中几行的作用,是对只转换第2行,不是对全局影响。<br />
(3) 2s/[^|]//g,除了竖线以外,去除所有字符。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|
||||||||||||||</pre>
</td></tr>
</tbody></table>
</div>
(4) 2s/|/|:–/g,把第2行的所有竖线,转换为 |:–<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--</pre>
</td></tr>
</tbody></table>
</div>
(5) 2s/|:–$/|/g,把第2行行尾前的 :– 转换为 竖线。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||20160901|20160908|20160922|20160929|20161013|20161020|20161027|20161103|20161110|累积|映射至[100,60]|映射至[100,50]|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|</pre>
</td></tr>
</tbody></table>
</div>
之所以采用复制粘贴-替换的方法,是因为sed不会计数。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuGcaIpQDRwNFy3PIRLqhw-2p_HaZnu7zMlQVDP3Uu6mgYXd3fA9pNgGSNQ5JDvE2DQCT-Tf_KBstZHUd_tYswPKsnwKx8VcWcmkN2sRl7Uihq6platbem4oLzr6gfR-dVJclMaHh-q1g/s1600/%25E5%258D%2595%25E8%25A1%258C%25E8%25A1%25A8%25E5%25A4%25B4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuGcaIpQDRwNFy3PIRLqhw-2p_HaZnu7zMlQVDP3Uu6mgYXd3fA9pNgGSNQ5JDvE2DQCT-Tf_KBstZHUd_tYswPKsnwKx8VcWcmkN2sRl7Uihq6platbem4oLzr6gfR-dVJclMaHh-q1g/s320/%25E5%258D%2595%25E8%25A1%258C%25E8%25A1%25A8%25E5%25A4%25B4.png" width="320" /></a></div>
<br />
3.3.4 空行 ||||||||||||||<br />
原始 cvs 形如:<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">---cvs片段开始
姓名,继续迭代,PSP,进度条,代码堆积图,博客字数堆积图,beta发布评论,加分事项,加分分值,合计,占比20%
满分分值,,5,5,5,5,5,,,25,20.00
[程媛媛](https://www.cnblogs.com/yuanyuancheng/),,5,5,5,5,5,,,25,20.00
[杜桥](http://www.cnblogs.com/duq11/),,5,5,5,5,5,,,25,20.00
---cvs片段结束</pre>
</td></tr>
</tbody></table>
</div>
期待修改为形如下面的样子。”||||||||||||||”一行,用于建立空行,目的是造成两行表头的效果。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|满分分值|25.00 |20.00 |10|20||35.00 |30.00 |5*N|30.00 |||100.00 |
||||||||||||||
|[程媛媛](https://www.cnblogs.com/yuanyuancheng/)|25.00 |20.00 |0|0|飞天小女警|37.00 |31.71 |5.80 |34.80 |||86.51 |
|[杜桥](http://www.cnblogs.com/duq11/)|25.00 |20.00 |0|0|奋斗吧兄弟|32.00 |27.43 |5.00 |30.00 |||77.43 |
|[杜月](http://www.cnblogs.com/qianhuihui/)|24.00 |19.20 |0|0|金州勇士|48.00 |41.14 |5.12 |30.72 |||91.06 |
|[宫成荣](http://www.cnblogs.com/gongcr/)|25.00 |20.00 |0|0|新蜂|19.00 |16.29 |6.00 |36.00 |||72.29 |</pre>
</td></tr>
</tbody></table>
</div>
在 c1_head.sed 中:<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;"># table head, copy & paste
1h
1G
# blank line, copy & paste
3G</pre>
</td></tr>
</tbody></table>
</div>
在 c2_head.sed 中:<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">4d
5s/[^|]//g</pre>
</td></tr>
</tbody></table>
</div>
(1) 在 c1_head中 复制第1行,另粘贴到第3行一份。此时文本文件仍维持原有<br />
的行号,新粘贴的文字不能使用行号引用,因此不能进一步编辑。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|满分分值|25.00 |20.00 |10|20||35.00 |30.00 |5*N|30.00 |||100.00 |
||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
[程媛媛](https://www.cnblogs.com/yuanyuancheng/),,5,5,5,5,5,,,25,20.00
[杜桥](http://www.cnblogs.com/duq11/),,5,5,5,5,5,,,25,20.00</pre>
</td></tr>
</tbody></table>
</div>
(2) c2_head.sed中的4d,删除第4行空白行 (在c1_head中的第3行) 。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|满分分值|25.00 |20.00 |10|20||35.00 |30.00 |5*N|30.00 |||100.00 |
||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
[程媛媛](https://www.cnblogs.com/yuanyuancheng/),,5,5,5,5,5,,,25,20.00
[杜桥](http://www.cnblogs.com/duq11/),,5,5,5,5,5,,,25,20.00</pre>
</td></tr>
</tbody></table>
</div>
(3) 5s/[^|]//g,把原第5行 (删除第4行后显示为第4行,仍计数第5行)改为 ||||||||||||||<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">||个人作业|占比20%|结对|占比20%|所属小组|小组成绩|占比30%|贡献系数(4人分配4*20)|占比30%|特别加分事由|特别加分数值|本周得分|
|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|:--|
|满分分值|25.00 |20.00 |10|20||35.00 |30.00 |5*N|30.00 |||100.00 |
||||||||||||||
|[程媛媛](https://www.cnblogs.com/yuanyuancheng/)|25.00 |20.00 |0|0|飞天小女警|37.00 |31.71 |5.80 |34.80 |||86.51 |
|[杜桥](http://www.cnblogs.com/duq11/)|25.00 |20.00 |0|0|奋斗吧兄弟|32.00 |27.43 |5.00 |30.00 |||77.43 |
|[杜月](http://www.cnblogs.com/qianhuihui/)|24.00 |19.20 |0|0|金州勇士|48.00 |41.14 |5.12 |30.72 |||91.06 |
|[宫成荣](http://www.cnblogs.com/gongcr/)|25.00 |20.00 |0|0|新蜂|19.00 |16.29 |6.00 |36.00 |||72.29 |</pre>
</td></tr>
</tbody></table>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHtb-h4wrcHU2kT1sazsKJ5PUbXBaZ8mdhevA3Mohi13KvSWH3pNDRm-5zA_sBQYJ6qgcctTwFuvxyfC_Rbwqej3A8eUJ2l3YUQ2CH26lXhCuQevwiRRDX4UzYyvhBkUqSxoSJvFYt5lY/s1600/2%25E8%25A1%258C%25E8%25A1%25A8%25E5%25A4%25B4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="84" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHtb-h4wrcHU2kT1sazsKJ5PUbXBaZ8mdhevA3Mohi13KvSWH3pNDRm-5zA_sBQYJ6qgcctTwFuvxyfC_Rbwqej3A8eUJ2l3YUQ2CH26lXhCuQevwiRRDX4UzYyvhBkUqSxoSJvFYt5lY/s320/2%25E8%25A1%258C%25E8%25A1%25A8%25E5%25A4%25B4.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ3hk5mqBzQ4m7UV2nelXDpsRsxXTglu6tcAx9QC_z4KeyV6fE0TgvGD5GL8jr_VgWEomh5cSOnJ0Byaep7_4srDrpI89EUuPv0WHncqndHuOJU_jrfufGN6bTy0ckQ_SCDo0zJZySV1o/s1600/track_ciac.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ3hk5mqBzQ4m7UV2nelXDpsRsxXTglu6tcAx9QC_z4KeyV6fE0TgvGD5GL8jr_VgWEomh5cSOnJ0Byaep7_4srDrpI89EUuPv0WHncqndHuOJU_jrfufGN6bTy0ckQ_SCDo0zJZySV1o/s320/track_ciac.jpg" width="240" /></a></div>
</div>
<div class="entry-content">
<br />
4. 方案3,emacs elisp<br />
Emacs是我平时使用的工具,所以本学期最初的转换,当需要公式,因此由 cvs转成 markdow 还没有被 ffl 支持时,自然地想到用 elisp 作为临时方案。<br />
elisp是上下文无关文法 (或者更强?)的语言,因此可以计数,得以避免使用复制粘贴-修改这样的手段生成表头行。col-count用于存储列的数量。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="lisp" style="font-family: monospace;"><span style="color: #66cc66;">(</span><span style="color: #b1b100;">defun</span> cvs2md-table <span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>
<span style="color: red;">"replace cvs format to markdown talbe."</span>
<span style="color: #66cc66;">(</span>interactive<span style="color: #66cc66;">)</span>
<span style="color: grey; font-style: italic;">; , -> |</span>
<span style="color: #66cc66;">(</span>goto-char <span style="color: #66cc66;">(</span>point-<span style="color: #b1b100;">min</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>replace-string <span style="color: red;">","</span> <span style="color: red;">"|"</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>goto-char <span style="color: #66cc66;">(</span>point-<span style="color: #b1b100;">min</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>replace-regexp <span style="color: red;">"^"</span> <span style="color: red;">"|"</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>goto-char <span style="color: #66cc66;">(</span>point-<span style="color: #b1b100;">min</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>replace-regexp <span style="color: red;">"$"</span> <span style="color: red;">"|"</span><span style="color: #66cc66;">)</span>
<span style="color: grey; font-style: italic;">; table head</span>
<span style="color: #66cc66;">(</span><span style="color: #b1b100;">setq</span> col-count <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>goto-char <span style="color: #66cc66;">(</span>point-<span style="color: #b1b100;">min</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span><span style="color: #b1b100;">setq</span> col-count <span style="color: #66cc66;">(</span>count-matches <span style="color: red;">"|"</span> <span style="color: #66cc66;">(</span>line-beginning-position<span style="color: #66cc66;">)</span> <span style="color: #66cc66;">(</span>line-end-position<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>goto-line <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span><span style="color: #b1b100;">setq</span> head-count <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>while <span style="color: #66cc66;">(</span><span style="color: #66cc66;">&</span>lt<span style="color: grey; font-style: italic;">; head-count col-count)</span>
<span style="color: #66cc66;">(</span>insert <span style="color: red;">"|:--"</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span><span style="color: #b1b100;">setq</span> head-count <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">1</span>+ head-count<span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>insert <span style="color: red;">"|"</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>open-line <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span>
<span style="color: grey; font-style: italic;">; delete "||" in the last line</span>
<span style="color: #66cc66;">(</span>goto-char <span style="color: #66cc66;">(</span>point-<span style="color: #b1b100;">max</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>beginning-of-line<span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">(</span>kill-line<span style="color: #66cc66;">)</span>
<span style="color: #66cc66;">)</span></pre>
</td></tr>
</tbody></table>
</div>
5. 收获<br />
一个技术方案是否能被别人采用,因此具有更帮助更多的人而不仅是自己,取决于多个方面。比如,emacs这类相对小众之下开发的代码,sed这种需要运行环境和只能命令行操作的脚本,对于很多人不算友好。ffl的工具可以复制粘贴,也支持命令行,基于.net运行环境在当今不再是个问题,友好得多。<br />
语言的能力越强,越接近于图灵机,实现通用功能,比如计数、插入某个特定数量的字符,就越容易。所以在DSL中要小心配置文件容易迅速成长为上下文无关文法,然后图灵等价,成为新的语言,专用特性的优势就消失了。能力弱一些的语言,也不见得不能实现,比如把插入特定数量的字符等价为
(事实上这才是原始的需求)复制粘贴再修改某一行。还是要确定自己的问题到底是什么,计算模型和数学模型的选择,然后才是代码。<br />
要清楚–尽可能第一时间发现–语言或工具的限制,比如sed不为刚插入和文本编排行号,因此不能基于行编辑。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlN7_ZIEimiiS2Oo9ALpRTtf0__ijjTqIWWa3El-G9gnQGbsFPvcrk19qU5YDpJxO38EanJQM9SXlPDAoHkbSjQO84CHh3Pkyr6Lq8muqTmnnPihRyP3aDC8q9F0yz72ECpACnKQtlzok/s1600/track.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlN7_ZIEimiiS2Oo9ALpRTtf0__ijjTqIWWa3El-G9gnQGbsFPvcrk19qU5YDpJxO38EanJQM9SXlPDAoHkbSjQO84CHh3Pkyr6Lq8muqTmnnPihRyP3aDC8q9F0yz72ECpACnKQtlzok/s320/track.jpg" width="240" /></a></div>
<br />
————————————————————<br />
博客会手工同步到以下地址:<br />
[http://zhuanlan.zhihu.com/younggift]<br />
[https://younggift.net/]<br />
[http://blog.csdn.net/younggift]<br />
[http://giftdotyoung.blogspot.com]</div>
Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-54795900192776143642016-12-20T16:14:00.003+08:002016-12-20T16:37:31.161+08:00唐诗宋词与我<div class="entry-content">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_IcVjys-KymyOkJvKqH7ptLeQzRBKTOZd0oRsUQ2iVaO-qEspAK4x_kIGogADhIIHi5ZZv-1UCblKaFTMWvMs3pw9EzWAb6Ab2LH7YFi4y6VZIiKzactX7-H-LFLNk6BcSq2COammh4/s1600/lynx.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4_IcVjys-KymyOkJvKqH7ptLeQzRBKTOZd0oRsUQ2iVaO-qEspAK4x_kIGogADhIIHi5ZZv-1UCblKaFTMWvMs3pw9EzWAb6Ab2LH7YFi4y6VZIiKzactX7-H-LFLNk6BcSq2COammh4/s320/lynx.jpg" width="240" /></a></div>
<br />
题图临摹果壳日历2017年1月1日。<br />
唐诗宋词以后,当数元曲,而不是”我”。题目所以在唐诗宋词后面继之以我,是因为元曲里,除了课本上背过的那些,我就只知道郭靖背着黄蓉的那段情话并兴亡之论。课本上的那几篇,又都油腔滑调的,颇不符合我当时的小资情怀。对了,还有前几年编程序吵架的间隙,关同学为我们科普过一段汤显祖,兼论越
(粤?)剧。就是那位一个人相当于一支军队的关同学,主业是程序员,她的故事参见[https://zhuanlan.zhihu.com/p/19966058]。<br />
1. 第一首唐诗<br />
小时候有一段住在我姥家,大约一年时间吧。我姨家的弟弟有次去玩儿,他没有托管在我姥家,而是去幼儿园。大人们问在幼儿园学什么,然后让他背一段唐诗。他立定站稳,声音洪亮,背了一首《望庐山瀑布》。<br />
我现在还能记住当时他带给我的沉重打击。他比我小三四岁吧,就能背唐诗了。而我,应该还啥也不会背,或者也许能背”更上一层楼”,楼字的发音还是大舌头的。那个时候还不知道,又过大约两年之后,我才开始能写字,我爸启蒙的,是”岳飞”二字,繁体,然后才是我本人的名字。<br />
日照香炉生紫烟,一道瀑布挂前川。<br />
我完全听不懂,仅仅声音里的气势就把我震慑住了。<br />
我接触的第一首唐诗,由一个比我小三四岁的小孩背出来的。那个时候,我还不能表达”我也要背”,会被大人批评”别人想干啥你也想干啥”,且原文是东北方言,比这阴损得多。<br />
2. 我也能写<br />
终于上了小学,顺理成章地就可以”也背”了,不用额外恳求。每个人都拥有这样的权利,背诗。所以说,教育平等非常好。<br />
小学一年级班主任杨老师讲到《咏鹅》的时候,就是那首”鹅,鹅,鹅”,感叹着说,”你看人家骆宾王,才七岁就能写诗”,然后殷切地望着我们。其实我已经忘记这首诗的作者是谁了,刚刚还搜了一下,到底是骆宾王还是王洛宾。但是我现在还记得的是,老师话音刚落,我就举手。<br />
老师: 咋的?<br />
杨贵福: 老师我也能写。<br />
老师: 真的啊,那你写一个。<br />
杨贵福立定站稳,声音洪亮,写道: “江上往来人,但爱鲈鱼美。君看一叶舟,出没风波里。”<br />
老师说: 你这不是写,是背。不错,我还以为你们都不会背诗呢,还有哪位小朋友会背……<br />
众: 我,我,我。<br />
这首诗其实我背得艰难,尤其第三句,忘记很多次。”这一句不押韵,背起来确实难”,我的诗歌启蒙老师是我哥,他非常理解地说,”你多背几遍吧。”<br />
3. 我真的能写<br />
转眼就是小学二三年级了,认字不多的我读了能接触到的全部书。全部书的范围,应该是三四本民间故事,人参娃娃啦,人参姑娘啦,人参老大爷啦,诸如此类。一个令我感动至深的故事,是老把头
(抓人参的人)孙某某从山东远道而来,在路上跟一个人参精变成的青年结拜,后来跟人参精走散,满山寻找。最后他弹尽粮绝,饿得不行,在古河之中抓到三只
la3 gu,因为只有精细蛋白质补充而脂肪和糖类不足,饿死在河边,死后也成了精。死前他写了一首诗:<br />
家住山东我姓孙,飘洋过海来挖参。半路丢了亲兄弟,沿着古河往上寻。三天吃了个 la3 la3 gu,找不到兄弟不甘心。<br />
看了这个故事不久,有天我妈下班非常晚,我放学回家没找到饭吃,炉子也落了(阴燃的煤烧尽,需要用柴火重新生火,而柴火是宝贵资源;生炉子还需要特殊技能,当时还没有解锁),冻得够呛。后来知道那天我妈他们加班,可能是绑钢筋或者搭架子,或者自愿义务献工两小时,做什么不重要。<br />
饿死前,我也赋诗一首,如下。<br />
家住通化我姓杨,回到家中不见娘。找啊找啊没找到,炉子落了屁股凉。这事儿不怨赵工长,只是妈妈工作忙。<br />
第一首诗。留在这里,姑且作为纪念,一个小资青年的童年。最后两句,其实我没有那么高的觉悟。那么写,一个是当时我看到的都是这么高的格调,另一个是,除了”不怨”,我又有什么别的办法。我妈说,”你以为钱是大风刮来的啊,那是我和你爸汗珠子掉地上摔八瓣挣来的。”<br />
不少同学的父母从事的不是体力劳动,虽然你觉得非常辛苦--到了一定年龄,就都学会了承认父母是天下最辛苦的人--但是体力劳动还是非常不同的。真正做过一段时间,你就会明白,为什么有的体力工人会酗酒,因为肌肉太疼。<br />
我对父母的理解,只是口头的表达而已。到了初中,我迅速成长为一个小资少年,写了好几厚本诗。每页一首,字非常大,内容全是(不是大多)悲秋伤春,虽然整个初中也就三个春天三个秋天,还有感叹我班教室门口那棵大杨树要死了没人管。诗写在我妈从工地要回来的建筑施工的记录单背面。正面是我的大作,背面是铅字印刷,我们都力透纸背。记录单里偶尔有人手写的东西,鬼画符一样,看不出来是什么。封皮是洋灰袋纸那一类装订,当然上面并无水泥。我会用线装订书籍和修书,就是那时候练下来的功力,每本都像电视里线装的《九阴真经》一样。上面用钢笔描出来的毛笔字,”何以语出惊风雨,诗成泣鬼神”。<br />
初中班主任黄老师有一次看到我写的诗,评论说,”你这随感写得不错啊。”<br />
什么,随感?我全部的生活和感悟,只是诗歌里我觉得最不起眼的随感吗?难道不应该是诗言志,立意甚高,笔法娴熟。我很失望,对老师很失望。<br />
当是时也,正是198X年代末。我想,如果以后有英国作家为我写自传,可能会这样回顾那一打击:
他年少时自许颇有诗才,甚至曾经尝试写出一些长短不齐并且押韵的文字。没有发现有文学家或者诗人对他作品的评论,可以找到的唯一资料是他自己引用教语文课的黄老师在他初二时给予的中肯甚至带有鼓励性质的虚假正面评论”不错”,这一评论的肯定部分极可能建立在他当时身为中二学生的这一身份之上。他对于”不错”二字并无觉悟,反而对语文老师把他的作品归结为”随感”耿耿于怀,事实上对于一个中二少年来说,如果他除了随感之类的无病呻吟,生活竟然就没有别的,当然不可能成长为一个诗人。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4CToHobVYYsn0DTxd3A-NDKG1posqvCp03E3HVsfH9-2T1qgwvoPKPnQ2fj4NeCUrtM0SEfbp0dsjJCRzSE3pnph0IIcKY28oy7WKLF4cQAvyRYxC8cOd9n-TMmD4h9fwFk6MsGqhxas/s1600/block.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4CToHobVYYsn0DTxd3A-NDKG1posqvCp03E3HVsfH9-2T1qgwvoPKPnQ2fj4NeCUrtM0SEfbp0dsjJCRzSE3pnph0IIcKY28oy7WKLF4cQAvyRYxC8cOd9n-TMmD4h9fwFk6MsGqhxas/s320/block.jpg" width="240" /></a></div>
<br />
4. 补课<br />
初二初三,看到同学读 李璟李煜词,她还看 李清照选集
(书也许不是这个名字,李清照是没错)。书非常薄,几十页,因为他们的作品也就那么多,书皮印成线装书的样子,当然是假的,远不如我的手工。当时对借书的全部认识,就是毛主席抢了肖三的书,一把夺过,以表达对书的热爱,然后在上面写满批注,再还回去,甚至就此匿下。好在我没有那么做,而是礼貌地借,虽然并不认识人家。<br />
不过,你能想借我的书看
(虽然现在我既不乐意,也不会借),是对我的品味的直接褒奖。大学毕业以后,躺在床上读宋词赏析词典,被严同学借走。我对他的品味就此评价高出许多,虽然依然认为他在生物本专业和逻辑上甚是不严谨。栾同学则大段背诵原文,他背的不是短小而押韵的诗歌,而是余华的小说,还有电影《秋日传奇》的情节,事无巨细,连标点符号我看都不会错。大哥那个时候则基本不读书,后来我在他办公室里看到半柜子哈耶克汪丁丁,很是感叹了一番。他热情地推荐给我看汪丁丁,我翻翻评论道,”写得什么破玩意,话都说不明白。”他推荐我看哈耶克,说,这个真不一样。我很勉强地借走了《科学的反革命》,心想,等我看完回来批你一头狗屎。也是一本小册子,百十来页的样子,我去北京机场接Lars他们一行十多个人的时候随身带着,躺在靠椅上想催眠,结果就翻了大半本。唯心主义给我的第一次沉重打击,太有道理了。<br />
能够在非常薄的篇幅内包含巨量内容,只有诗歌、哲学,还有数学。流落荒岛的必备读物,及《野外生存》一本。<br />
说回初二三的那两本宋词,人家早我多少年就读过了,而我才巴巴地借来看。然后全抄下来,好在并不长。所以你看,有正确地爱好多么重要。<br />
高中,在满是灰尘的图书室靠着窗户,看《全唐诗》。一段段写得无聊,觉得要么我水平低,要么古人写得烂,但是也不敢说。直到最近在douban看到有人发出同样的抱怨,知音啊。哪能每首写得都那么好,李白的烂诗多了去了,翻来覆去就是酒好喝啊喝好酒,我愿意天天喝啊天天喝。原文忘记了,大意如此。我都怀疑那是不是后人瞎编的。也是铅字印刷,力透纸背,两面都力透纸背,所以读起来挺费劲的,不过这成功地阻止了我继续怀疑。<br />
5. 还是学理工吧<br />
大学一年级,我们有征文。对,物理系也有征文,征文学类作品,不是公式推演。我应征的作品之一是在黑板上推敲出来的一段,你可以想像旁边就是勒让德公式,还新鲜热辣。<br />
如果有一天,我不再能翱翔,你是否还会赞美我的翅膀。<br />
P同学为代表的一干人等当面问我,当我面不是当评委面,是不是抄的,怎么记得在哪里见过。我答,林黛玉也觉得他见过贾宝玉,写得好,你读起来感觉就是这样。不是抄的,是我从高中就开始写的。<br />
大学几年级忘记了,有选修课。绝大多数课都是必选的,并且我们必须亲自选。大家跑到机房,围成一圈的机器,只有数字的小键盘,按纸上的课表把自己必须也只能那么选的课录进去。只有个别课可选,我选了《唐宋诗词》。<br />
老师是个高大而柔软的胖子,脸上略有胡茬。我一度担心他的胡茬会导致漏气,并没有。<br />
他上课的时候非常有魅力,后来我发现,尤其是女同学们更觉如此。师范大学本来女生就多,喜欢唐宋诗词的男生更是稀少。你是否能体会到他讲到精彩处,全班的”啊~~哦,这样喔”这样的感觉。其实诗歌里是不太用感叹词的,除了李白,他一下子就用了好几个,”噫吁兮”。<br />
老师上课的时候还会把古诗唱出来,他唱的是《将近酒》。比后来网上传的那段差得很多,甚至我都能听出来跟跑调似的。不过他说,这不是唱,而是吟,并且声称古人就是这样吟诗的。我想提问,一方面据说古诗的格律暗合音律,所以应该是有谱子的,每次都类似的旋律,而不应该像我一样每次另谱一曲,他给我的感觉也是随便瞎吟的,并无定规。另外,我对将近酒中醉的程度与他的理解不同,我觉得那应该是喝得正high,可以打架可以交友可以吹牛的程度,他吟的状态似乎快要说不出话要睡着的感觉。写到这里,刚刚又想起来,他还吟了”但愿人长久”,与王菲版差整整一个梅艳芳外加半拉屠洪刚。<br />
还有个重大问题,他怎么知道古人就是那么吟的。我非常想讨教,但是课后老师被全班女生包围着问,我想并没有性别平等的提问时间,就赶去编程序了。<br />
匆匆,是离别的生椒。<br />
考试的时候,我非常认真地答了,题目也还简单,不必复习。但是!居然没有我的成绩。我费劲找到老师,要知道那时候既没有手机也没有微信。老师说,没有你的卷子啊,没有办法。好吧,只好认了,怎么会没有呢,我挠着头走掉,像是一个吃掉卷子的坏学生。直到我自己做了教师很多年以后,我才意识到,这是教学事故啊,你怎么能把个一心向学热爱诗歌的少年的卷子整没了,还很有理的样子。<br />
他还在课上教我们,”腹有诗书气自华”,看着女同学们这样说。我当时还心有戚戚焉地附和,恩,男生也可以腹有诗书。<br />
老师之不靠谱和敷衍,让我最后终于绝了写诗的念头。引用小于同学的话,看你们都在那里,我肯定不能加入啊。不屑与你为伍的感觉。所以,我坚定了信念,从此走上一条成为理工学生的道路。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcvkbZHI5-BOwQLxGQ2z1rNjWSTr_C43g9bPtQkLWERZazuGFFFURAAJVvew4M8e0DksJehMc7tq_s1V05pIcXSBIZZsmuaZX-V-Errotsy0YnfXvSmiSvC5x3h7-JKleTHYMxc4HQ73g/s1600/ice_road.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcvkbZHI5-BOwQLxGQ2z1rNjWSTr_C43g9bPtQkLWERZazuGFFFURAAJVvew4M8e0DksJehMc7tq_s1V05pIcXSBIZZsmuaZX-V-Errotsy0YnfXvSmiSvC5x3h7-JKleTHYMxc4HQ73g/s320/ice_road.jpg" width="240" /></a></div>
<br />
6. 补记<br />
放弃诗歌很久,初中的本子再也不动,生了霉斑。宋词词典被压在UML用户手册下面,连积灰的机会也没有。有天有人提到《唐诗三百首》第一篇是什么,他说错了,我脱口而出,不是“孤鸿海上来,池潢不敢顾。侧见双翠鸟,巢在三珠树”么。然后我悲哀地发现,后面四句,我想不起来了。<br />
有一天,我写了一段八句律,发在朋友圈,还配照片什么。关同学在下面回,老师,好工整啊。如果有人夸你写得有感觉有才华有情怀,就跟某些人夸女生有气质差不多,意思是实在难看,而又希望评论保持礼貌。而关同学说”工整”,说明她也有此道中人,真的明白,相当于评论你唱歌”不跑调”,而不是”好听””用灵魂在歌唱”。我突然意识到,不仅仅是我,还有人也在骨子里潜藏着诗的种子。只是,我们竟日在键盘上敲下来的都是用分号结束的句子。<br />
看人家喝酒的时候,徒夫Y老师回顾了几段他为了逼迫儿子而作的诗,每首都是观景,然后立马可取,墨迹未干。多为格律,其中竟然还有六言。我说,六言,你一定写过词吧。他说,我背过平水韵。我喝可乐敬酒时说,如果徒夫Y老师只是学问好,那么我就会觉得他是一位好学者,不过他同时可能是个乏味的人。但是他居然还能做诗,居然还能在喝酒的时候读给我们,那非常之不一样。<br />
我看到《构建之法--现代软件工程》的作者邹欣老师出现在一张照片里,板着脸抿着嘴,挽起袖子,大马金刀地坐在中央,专注地看着眼前的书或者纸张,态度就像review代码。那张照片是人文学者杨早老师的读书会。<br />
我看到导师在抱怨的时候在朋友圈里发了两首诗,文彩熠然。我击手机称颂,原来老师还有这个本事,平时都看不出来,以为他顶多会拉二胡呢,还没有亲见。<br />
我看到你们隐藏在骨子里的诗的灵魂。请不要让它湮没,不要放弃,偶尔让它出来透口气。世事尘嚣,唯超然可以安静。<br />
我们不请你喝酒道别离,而是还在追随。老师加油。有两三员大将横刀立马,当可以定中原。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW5939rRdIr3q_1SlsOvmObQvfqnSZgHVYu_eYZlbttN0kVPv4kJlO0Tfp70VY0REoWa8LPaTtUx4xRjKL6f5jr8oG1fXwkp16LUPikYhFCw792_LzVRSPh0Ke-wXbkPfcw4Osqgq9Wcg/s1600/view_small.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="109" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjW5939rRdIr3q_1SlsOvmObQvfqnSZgHVYu_eYZlbttN0kVPv4kJlO0Tfp70VY0REoWa8LPaTtUx4xRjKL6f5jr8oG1fXwkp16LUPikYhFCw792_LzVRSPh0Ke-wXbkPfcw4Osqgq9Wcg/s320/view_small.jpg" width="320" /></a></div>
<br />
————————————————————<br />
博客会手工同步到以下地址:<br />
[http://zhuanlan.zhihu.com/younggift]<br />
[https://younggift.net/]<br />
[http://blog.csdn.net/younggift]<br />
[http://giftdotyoung.blogspot.com]</div>
Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-4089486967141718442016-12-20T16:13:00.001+08:002016-12-20T16:29:17.453+08:00全国教师管理信息系统填报 照片处理,使用 imagemagick<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNg0MzlGjDdaSdB93NjgeS7hMDraTwC_4yZ25Z0IbOOTgSV2s7DbcAxGSuFSTcrrSJkWMsUWVfZ4InSVX0Y-ZJtpwfh9QNJGIXoZ1SCdz-oo63SIYLsyDN9sSKTd6MYz_LnBrKT2lejw/s1600/snow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMNg0MzlGjDdaSdB93NjgeS7hMDraTwC_4yZ25Z0IbOOTgSV2s7DbcAxGSuFSTcrrSJkWMsUWVfZ4InSVX0Y-ZJtpwfh9QNJGIXoZ1SCdz-oo63SIYLsyDN9sSKTd6MYz_LnBrKT2lejw/s320/snow.jpg" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="entry-content">
1. 通知正文截选<br />
各位老师大家好!根据教育部要求,我校全国教师管理信息系统填报工作以及开展,请大家登陆<a href="http://bwyxjs.emis.edu.cn:8082/selfservice/index">http://bwyxjs.emis.edu.cn:8082/selfservice/index</a>。 相关要求,首次填报将于12月10日完成。时间紧,任务重,希望大家支持和谅解,按时完成任务。<br />
2. 照片要求<br />
26mm*32mm, >=150dpi, <60k jpg="" p=""></60k><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Or1aV4ST9Cxoiq6F40W_whvUUFgrg8D4rhpbDnB01TZYSJiO0NxL1-QKeTCVZ7OrAofo54UqRzr-rPQysB9NUGDsMnSASrFcIpDiqGXxrJWgkIZubjcDdQUUTjx6Dao7iXnixRBNPaY/s1600/%25E8%25A6%2581%25E6%25B1%2582.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Or1aV4ST9Cxoiq6F40W_whvUUFgrg8D4rhpbDnB01TZYSJiO0NxL1-QKeTCVZ7OrAofo54UqRzr-rPQysB9NUGDsMnSASrFcIpDiqGXxrJWgkIZubjcDdQUUTjx6Dao7iXnixRBNPaY/s320/%25E8%25A6%2581%25E6%25B1%2582.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<60k jpg="" p=""><br />
3. 操作流程<br />
如果看不懂下述操作流程,把下面的内容发给您的学生,请他帮助。如果他说“不会”,请他提高信息化素养,或者使用PS。<br />
3.1 下载 imagemagick<br />
[<a href="http://www.imagemagick.org/script/binary-releases.php">http://www.imagemagick.org/script/binary-releases.php</a>]<br />
或<br />
[<a class="" href="https://www.imagemagick.org/download/binaries/ImageMagick-7.0.3-8-Q16-x64-dll.exe">https://www.imagemagick.org/download/binaries/ImageMagick-7.0.3-8-Q16-x64-dll.exe</a>]<br />
3.2 剪切<br />
准备原始照片。<br />
使用windows画图工具(win+r, mspaint)把原始照片切成 宽:高 为 26:32,另存为 <b>crop.png</b>。<br />
3.3 转换<br />
使用imagemagick转换照片为指定规格。<br />
(1) 进入命令行<br />
</60k><br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">Win+r, cmd</pre>
</td></tr>
</tbody></table>
</div>
(2) 进入照片所在目录<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">f:;cd \20161201</pre>
</td></tr>
</tbody></table>
</div>
(3)转换<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">convert -density 150 -units pixelsperinch -resize 154x189 -quality 100% crop.png output1.jpg</pre>
</td></tr>
</tbody></table>
</div>
4.4 结束<br />
<b>output1.jpg</b>就是符合 全国教师管理信息系统 要求的照片。<br />
4. 解释<br />
如果看不懂上述操作流程,把上面的内容发给您的学生,请他帮助。如果他说“不会”,请他提高信息化素养,或者使用PS。<br />
如果看不懂上述操作流程,本节也不会看懂的。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc0cZTKZPi0k9jNN7HdfZ3j0y4HhoKoBReEr_5gnJpqePI5bbMY22KCj3iSmyACGcGMXC9CTI6KezZ0dQ0tRGNSiiK5aHVbyIX_haCwIvRd2-4eofKvjHo4TnBJX8xvpH9hacTTc41WYo/s1600/original.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc0cZTKZPi0k9jNN7HdfZ3j0y4HhoKoBReEr_5gnJpqePI5bbMY22KCj3iSmyACGcGMXC9CTI6KezZ0dQ0tRGNSiiK5aHVbyIX_haCwIvRd2-4eofKvjHo4TnBJX8xvpH9hacTTc41WYo/s320/original.jpg" width="240" /></a><br />
剪切这一步很难自动处理,需要能AI找到人脸。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUoM4xELggbTOAc2tHO-9YjD7gavatZFIPnW-16z_8bAKdBX2qScrEkFh7N5Ipdgx8z0hmUfQRW9N0ogNAzZCAdKBXVQpL1EF-WrRSTgjl0LjVV7jDD3cE1dEdiNpmaaQdw6_fRPlJLJ0/s1600/crop.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUoM4xELggbTOAc2tHO-9YjD7gavatZFIPnW-16z_8bAKdBX2qScrEkFh7N5Ipdgx8z0hmUfQRW9N0ogNAzZCAdKBXVQpL1EF-WrRSTgjl0LjVV7jDD3cE1dEdiNpmaaQdw6_fRPlJLJ0/s1600/crop.png" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJD_Z9ClLmMUYrBwDNkIEbUkB4Qqo-P-p_YkIIlqQmefB5S3gILAMxrOxAtWvpPCuqgNI-POleHlXNWjuoH6ars2IR3uLNtSlzJQb8tBdRH5U1wzul42pXZGRpItEZltXTqHEIaEJ_kNY/s1600/output.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJD_Z9ClLmMUYrBwDNkIEbUkB4Qqo-P-p_YkIIlqQmefB5S3gILAMxrOxAtWvpPCuqgNI-POleHlXNWjuoH6ars2IR3uLNtSlzJQb8tBdRH5U1wzul42pXZGRpItEZltXTqHEIaEJ_kNY/s1600/output.jpg" /></a><br />
4.1 size<br />
厘米->像素 换算<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">宽度 =26/25.4*150
高度 =150/25.4*32</pre>
</td></tr>
</tbody></table>
</div>
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">precise_image_width_in_mm=$( echo \
"$image_width_px / $resolution * 25.4" \
| bc ‐l )</pre>
</td></tr>
</tbody></table>
</div>
[<a href="http://stackoverflow.com/questions/11773688/how-to-change-the-print-size-of-an-image-in-mm-on-command-line">http://stackoverflow.com/questions/11773688/how-to-change-the-print-size-of-an-image-in-mm-on-command-line</a>]<br />
4.2 dpi<br />
-density 150 -units<br />
4.3 quality<br />
如果文件尺寸过大,可以再压缩。<br />
4.4 unit<br />
可以转换为以公制厘米为单位。此步骤可选,并非必须。<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">convert output1.jpg -units pixelspercentimeter output2.jpg</pre>
</td></tr>
</tbody></table>
</div>
4.5 identify<br />
检验转换结果。此步骤可选,并非必须。<br />
4.5.1 英制<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">F:\20161201>identify -verbose out
put.jpg | head
Image: output.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Class: DirectClass
Geometry: 154x189+0+0
Resolution: 150x150
Print size: 1.02667x1.26
Units: PixelsPerInch
Type: TrueColor
Endianess: Undefined
Colorspace: RGB</pre>
</td></tr>
</tbody></table>
</div>
4.5.2 公制<br />
<div class="wp_syntax">
<table><tbody>
<tr><td class="code"><pre class="text" style="font-family: monospace;">F:\20161201>identify -verbose output2.jpg | head
Image: output2.jpg
Format: JPEG (Joint Photographic Experts Group JFIF format)
Class: DirectClass
Geometry: 154x189+0+0
Resolution: 59x59
Print size: 2.61017x3.20339
Units: PixelsPerCentimeter
Type: TrueColor
Endianess: Undefined
Colorspace: RGB</pre>
</td></tr>
</tbody></table>
</div>
4.5.3 mspaint检验<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnBCnxfuSI5yq1sq19sxHtBC0lURM0yGd_M9b92h150jCfsBave2ZOVPjl2slLDcMBn-R3zKOzVigbSVaLY6cdW50KvSrrRoVTPeO9phCCCc55htIu-zrbabEfeAW8dwx9tqF1fdj2nkk/s1600/mspaint.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnBCnxfuSI5yq1sq19sxHtBC0lURM0yGd_M9b92h150jCfsBave2ZOVPjl2slLDcMBn-R3zKOzVigbSVaLY6cdW50KvSrrRoVTPeO9phCCCc55htIu-zrbabEfeAW8dwx9tqF1fdj2nkk/s320/mspaint.png" width="320" /></a><br />
4.5.4 资源管理器检验<br />
150dpi下,宽度154像素,合26毫米;高度189像素,合32毫米。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWQwLVNHFiZY-tDFI7-jxQdx44bUBFVZn9oZIkVsOo6bmZR7SCffT_Mt3PYioB4dbCKaLfu7mKJE6n1zMkoS9fcyBwTRBfi3yOPzT0TFq8_as_cdpuRBDjt5t2CCZaCHgIsEoCdvL1e20/s1600/explorer.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWQwLVNHFiZY-tDFI7-jxQdx44bUBFVZn9oZIkVsOo6bmZR7SCffT_Mt3PYioB4dbCKaLfu7mKJE6n1zMkoS9fcyBwTRBfi3yOPzT0TFq8_as_cdpuRBDjt5t2CCZaCHgIsEoCdvL1e20/s320/explorer.png" width="234" /></a><br />
5. 后记<br />
据说照片是可选的,不是必填项 😀<br />
PDB老师说acdsee就行。<br />
LXL老师说Photoshop可以。<br />
李记者说用 gimp可以。<br />
————————————————————<br />
博客会手工同步到以下地址:<br />
[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br />
[<a href="https://younggift.net/">https://younggift.net/</a>]<br />
[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br />
[<a href="http://giftdotyoung.blogspot.com/">http://giftdotyoung.blogspot.com</a>]<br />
</div>
Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-89034645666803147312016-12-20T16:10:00.000+08:002016-12-20T16:23:52.450+08:00仅仅是声音<div class="entry-content">
<br />
1. 录放机<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMks4JMwMDmfBvKQ0pe6maSY91nDy4qs_hTK9lOV1sJYIy7tIQRpuTYg9rzQwsGAZhZOwNQnL_nMu-X7GYa3cK01ehf6cIcNVTXZtgr5sZ38auFAeTJpsOdgOGPGj8waaIHG-STe0Jyz0/s1600/birch.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMks4JMwMDmfBvKQ0pe6maSY91nDy4qs_hTK9lOV1sJYIy7tIQRpuTYg9rzQwsGAZhZOwNQnL_nMu-X7GYa3cK01ehf6cIcNVTXZtgr5sZ38auFAeTJpsOdgOGPGj8waaIHG-STe0Jyz0/s320/birch.jpg" width="240" /></a></div>
<br />
我唱歌跑调挺厉害的,厉害到什么程度呢,如果你认识我更早一些,就会见识到我是个作曲家,为每首重新谱曲,并且每次都不一样。<br />
乐感这么差,跟我的成长环境多少有些关系。我小时候家里能发声固定频率的东西,除了后来被我上弦拧坏了的座钟,还有个半导体收音机,一直装在皮套子里,一直到不用的时候还是全新的。那个收音机成天讲的都是时事政治,因此我一直到小学四五年级,还认为”南斯拉夫”是一种风镜,棕色的皮子里嵌着两片镜片。因为每次我玩那个风镜的时候,收音机就讲”南斯拉夫”,这个故事告诉我们巴甫洛夫说的是真的。事实上,直到现在,当我听到南斯拉夫这个词的时候,母语的第一反应仍然是风镜,然后需要翻译成汉语。<br />
当然,成长环境恶劣不是我音盲的全部原因,同样的生活环境,我哥从小乐感极佳,听每周一歌基本一次就可以自己唱了--可能词记不全,但是调子不会错,跟我刚好相反。我还见识过我妈拿着简谱视谱即唱,《欢迎颂》,我问怎么做到的,她说,”就照着唱呗。”我也就照着唱了一下,他们说”别吵吵”。当然,他们这么强大,可能正是导致我自暴自弃的原因吧。<br />
后来半导体收音机终于换成了录放机,能当收音机,还能当录音机用。一个大家伙,半米多长,30厘米高,20厘米厚。买录放机的一个原因,是我在我爸的同事T叔家里,用他家的录音机录了一整个下午同一个故事,哪本笑话集里的《吝啬鬼》,就是向邻居借锤子邻居竟然不借,大骂邻居吝啬,只好把自己的锤子拿出来用那个故事。我父母觉得我这样太不懂事了,打扰别人,就买了一台。买的时候非常慎重的左挑右选,请了朋友帮参谋,参谋以后还请客喝酒感谢。席间一位叔叔看我和我哥兴高采烈地一直玩录放机,哈哈大笑说,”这是大狗打回来食儿,小狗吃呐。”我偷偷问我妈,他怎么骂人呢。我妈说,那是土话,不是骂人的。我当时的年龄,大概就是还听不懂这种玩笑的心智那么大。<br />
据研究,音盲与不能听出弦外之音高度相关。我觉得好像对,因为跟你们对话的时候,我经常偷摸做句子成份分析,只是因为经常做很熟练,所以你们多数时候觉察不出来。好在我不孤独,孙HT同学和邦哥也都有类似问题,他们从小学开始,就也对问题本身的目的而不是解法困惑。我们共同的问题是,老师的这个问法可能有一百种意思,应该在试卷上写哪种意思对应的答案。<br />
这台录放机一直陪伴我上大学离开家。我哥在我大一的时候给我买了一个巨酷巨先进的随身听--跟你父母给你们买PAD的原因一样,为了帮我学习英语。在第一学期就丢了,放在教室的桌膛里,不见了。我才明白,原来大学的文化与我所想的并非完全一致。哥说再给我买一个,我没脸要了。这样,直到大四倒数第二次,我的英语四级才过。当然,录音机丢了也不是原因,因为直到通过的那次考试,听力部分我都是根本不听直接答的。盲听答题的习惯一直持续到出国外语培训,牛老师教育我关于外国人可能会因为我不能日常会话而小看全体中国人,我才奋发图强开始学习。这是另一个故事了,以前也讲过,这次不再细说。<br />
家里的那台录放机带给我最大的影响,是我用它放过无数遍高仓健的《追捕》的录音剪辑。录音剪辑是那个时代特有的艺术体裁,全称是电影录音剪辑,把电影录音在广播电台放,里面还有绘声绘色的解说。”通化人民广播电台,330米909千赫,本台现在开始播音。”唉呀,太有感觉了。<br />
我们录了不少优秀的电影录音剪辑,尤其是《追捕》,听的次数之多,我能大段大段地背诵台词,那些人物在我的头脑中早就形成了亲切的形象,杜丘什么样,真由美什么样,她的马什么样,她爸爸的飞机什么样。朝昌议员,唐塔,长冈了介,还有那个横路敬二。有个初中代数老师讽刺一个同学,”你怎么跟横路敬二似的”。大家面面相觑,都不知道她什么意思,我知道,但是不能说,憋着不敢乐。低沉的咆哮从松林里隐隐传出,真由美大叫”啊~~”,史村警长大叫”小姐快跑!”。音乐声起,是紧急的鼓点,或者提琴快弓。杜丘的声音切入,吐字清晰,沉稳有力,”熊。”<br />
杜丘沉毅果决,在我的心里,一定不会长得像郭富成,林志颖那样。但是我一直没有见到过他的形象--你可能也注意到,上面这些人名的写法可能也是错的,因为我一直靠听,没有读过--直到有一年央视春晚,那个时候叫做春节联欢会,现场放了一段录像配音。我当时正吃多了瓜子花生,脂肪摄入过高吐完躲坑上难受呢,没戴眼镜,隐约看到了心目中的英雄杜丘的样子,居然是那么长一张马脸。我难过得转过头去。但是杜丘冬人应该是什么样子呢,长得像施瓦辛格或者史泰龙么,或者像周润发刘德华?<br />
后来我又看了几次《追捕》的视频,看了《远山的呼唤》,看了《幸福的黄手帕》。看了《千里走单骑》。我想,杜丘也许就是高仓健的样子。也许,他的样子并不重要,我是因为声音而认识了他,关键不是他的样子,而是,我希望自己是他的样子。 <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIX3a5UL1nCpDWHjNS31nin7pRg0uVftfH7ws_Quj66O0D66iBVxwZ0CfXo1lqqnMuXaeRzIpU1-9dfUQUv8GClgwqxLhZRFMom_VCfBi33fmha6Z69qZEIe9iWnVziInAjZkLjpdPvWk/s1600/hand.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIX3a5UL1nCpDWHjNS31nin7pRg0uVftfH7ws_Quj66O0D66iBVxwZ0CfXo1lqqnMuXaeRzIpU1-9dfUQUv8GClgwqxLhZRFMom_VCfBi33fmha6Z69qZEIe9iWnVziInAjZkLjpdPvWk/s320/hand.jpg" width="240" /></a></div>
<br />
2. 磁带<br />
尽管有录放机,后来我对声音的敏感仍然一直很差。比如玩成语接龙,如果不允许音同字不同,就是必须是那个读,字面意义的,那么我能以相当碾压的姿态进行游戏。如果允许音同字不同,仅读音对就行,我瞬间就被碾压了。那些成语字词,在我心里从来不是声音,而是样子和意义。我是用五笔那样的路线听文字的形状,而不是它们的声音。我还记得1996年Z老师告诉我接一位联想公司的
Hong
Shanhe,电话联系。我问,哪个”Hong”。如果仅语音联系,是不必知道哪个”Hong”的,当时我并不明白,觉得如果不能写下来的都不能沟通。<br />
录放机对我的音乐启蒙是二人传,《回杯记》《马前泼水》《包公陪情》。其实家里有两盘流行歌曲磁盘,程琳的《小螺号》和唱《小小的我》那个苏红,但是基本没有印象了,而几盘二人传,有一阵经常在我脑海里翻来覆去地唱,尽管后来证实都是跑调的。还有《刘玲醉酒》,”大烧锅喝干了三百六,小烧锅喝干了六百三。往南喝到东南海,往西喝到老寿山
(老四川),往南喝到云南地,往北喝到塞外边。东西南北全喝遍,它未曾把我醉半边。这酒家你好大胆,信口雌黄吐狂言。今天我,上楼去把酒缸酒篓全喝干……”<br />
初中跟同学LJL借过一盘吉他曲,回家一边写作业一边听。我妈说,”你那能写好作业么,净费电。”磁带听了一次就还了,我不记得翻录了没有,总之没有再听。那些吉他曲很好听,是只弹不唱的那种,我先前以为吉他全都是留长发穿喇叭裤的小流氓才弹的呢,而且必须会”撕吼”才行。好吧,我有这个误解的时候是1988年至1991年间,那时候只有”撕吼”这种行为,还没有这个词。<br />
高中?高中没有音乐课。有过一次庆祝毛主席诞辰或逝世多少周年的文艺汇演,我们班JM同学带领几位女生在红星剧场参加汇报演出来着,她们都小脸红扑扑的,唱”太阳最红,毛主席最亲”和”呀拉索”。<br />
到处找不到《明天会更好》或者《让世界充满爱》再不就是《黄河大合唱》,同学演出想唱要学,我们去通化电视台或者广播电台求人家给我们翻录。不记得怎么混进去的了,人家不给录,说不是版权什么的,而是你们的磁带会弄脏我的机器。后来我们几个死皮赖脸地求,录了。<br />
大学学校保卫处旁边有几个铁棚子,里面有卖磁带的。都是听歌的磁带,英语的磁盘在图书馆。我在图书馆录过几盘 Step by
Step,那是巨难入门的听力,特意制造了噪音提高难度,听了几次就放在一边直到毕业似乎卖掉了。或者卖掉的是同学的磁带,我的早丢了也说不定。听歌是件奢侈的事,得花钱。尤其打口带,明明有缺欠还卖得挺贵,我想都不敢想。事实上,也听不出来有什么好。我连物理系要求全体消除舞盲的时候,也分不清三步和四步的点儿,每次问同学,这是几步,然后数一二三开始。<br />
工作以后也用过磁带,备份 Sun 服务器的数据。样子跟录音机磁带差不多,贵多了。<br />
磁带存储了各种声音,各种声道,各种乐器的旋律和节奏。还有很多人的回忆。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhayDhfDh7eHbAWuhGdg0PCvcjSDHCBUV7u53ezZ_28H3NfMv4eASPOrlDY4xAmWHJCHRtFzXDBIup9L2sqgD1JuwwAwNy5qvxrW3kBnmDleBatXJSa_sCzFxuV5aNL7e9nH2GKJ-xJwY8/s1600/how_many_roads.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhayDhfDh7eHbAWuhGdg0PCvcjSDHCBUV7u53ezZ_28H3NfMv4eASPOrlDY4xAmWHJCHRtFzXDBIup9L2sqgD1JuwwAwNy5qvxrW3kBnmDleBatXJSa_sCzFxuV5aNL7e9nH2GKJ-xJwY8/s320/how_many_roads.jpg" width="320" /></a></div>
<br />
3. 音箱<br />
毕业以后在单位用单位的音箱,最好的是木质的千里马或者类似的名字。把音量放大最大的时候,整个屋子都震动,但是不失真。<br />
比这样的音箱更牛的是大学时物理系的,黑色的,一抱粗,似乎是哪届师兄做了留下来的。功放很多年都是电子管的,开着盒子用,可能是放过热,亮闪闪的。每次舞会的时候都有师兄叮嘱,功放功率不能开到太大,别把音箱烧了。<br />
毕业以后我自己用的音箱,第一个是学弟waxia送给我的,无源的,听了很久。在家看电影的时候就用,声音不太大,也不是非常清晰,不过比机器风扇的声音还是大很多的。要知道,更早的时候,我用pc的纸盒喇叭看过VCD。<br />
兔子同学送过我一对有源的音箱,被老猫心情不好的时候扒拉到地上,摔得声音破碎,继续对付着用了很久。后来很多年,有人告诉我有专门卖那种胶带的,可以补上,不过那个时候我已经换了新的音箱。<br />
BY同学送我一对巨大的音箱,现在正用。用了多半年,因为桌子面积小,一直都是一前一后对着我。搬家以后我回去单独去拿音箱和计算机,正好屋子空出来有地方,把音箱一左一右排开放了一会音乐。我当时就震惊了,原来真的是立体声的啊,声音从显示器后面传出来。我抬起显示器的机械臂,下面空无一物,音乐从虚无中汩汩流出。<br />
还有过一个单耳的蓝牙耳机,原来不以为然,觉得就是那么回事。结果有一天刷牙的时候发现,它居然能在有噪音的时候自动放大音量,顿时觉得高大上的很,非常喜欢每天带着听一听。因为如此密集地带去,某天丢了再也没有找到。<br />
想起来蓝牙耳机非常贵的时候,牛老师说,有个蓝牙耳机他不用了,要送给我。我说,不要,没啥用,我的手机不能连接蓝牙。后来师姐说,那玩意老贵了,为了这个耳机,你再买个手机都值啊。恩,建议很好,就是晚了点,总不能跑回去再要。<br />
新的住址过于繁华,非常吵。买了一副主动去噪音的耳机,原来是打算清净一下好能干活。后来发现,还有别的用途。在班车上,在火车上,尤其在家里夜深人静的时候,打开主动降噪,听程壁的歌《给猫夏的你》,听夜の良曲《落叶》。就像端起一杯咖啡,就像电影里燃起一枝烟,瞬间就离开喧嚣,与这个世界隔离。<br />
音箱和耳机,从声音的维度上让你与这个世界隔绝,进入到另一个空间。好的音箱和好的耳机的坏处是,当你见过那么好的世界,就再难忍受更差的效果。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGGVJrclW3JduN1Ejgauq6IG77eDSywTLrNOYawS8iTrOVO79sfp_rlOfrWA82zEm-yjls7DFNAGQK6HnpBuKT4ZhqeL1wN4uyvd3cg-sZ_iGZrx0iXwrbciWFGshr-1vyEVuDZqw29zg/s1600/cat_foot.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGGVJrclW3JduN1Ejgauq6IG77eDSywTLrNOYawS8iTrOVO79sfp_rlOfrWA82zEm-yjls7DFNAGQK6HnpBuKT4ZhqeL1wN4uyvd3cg-sZ_iGZrx0iXwrbciWFGshr-1vyEVuDZqw29zg/s320/cat_foot.jpg" width="240" /></a></div>
<br />
4. 好声音<br />
《中国好声音》除了今年的,此前的我听了每一首。我会选择这一期结束之后的某一天,在网站上一气看完。一方面我能忍受并非实时地参与,另一方面我不想被那么多广告耽误时间。有一次是在真的电视上看的,广告之长确实让我很惊讶,也坚定了我不看电视的决心。<br />
后来我们听说,好声音里很多歌手并非所宣称的那样单纯的是美甲店老板或者商铺的伙计,他们不少人受到过非常专业的音乐训练,卖化肥也可能只是临时的营生,就跟我尽管也卖过对联送过福字
(计划过卖瓜子和冰棍)
,不过我的主要职业是高校教师。徐海星给大家留下了深刻的印象,就是那个像阿拉蕾一样的女孩,闪着大眼睛,穿着娃娃服还是学生服站在舞台上。她提到她的爸爸去世了,应该在看着她的演出。从那以后,有不少观众指出,他们不想知道歌手的家世和家事,不想知道歌手的音乐背景,怎么经过了专业的和艰难的训练,甚至不再想听歌手们在谈感想时咬着迈克大喊,”我想唱歌”,对着他们的父母。<br />
但是我仍然愿意相信,他们的吼叫里有真实的成份。罗素说,柏拉图笔下的斯巴达有大量虚构的成份,与真实的斯巴达非常不同,但是虚构的斯巴达对于人类历史的影响,比真实的斯巴达可能更大。<br />
我们是来听歌手的声音的,而不是看演员的演技。所以,我们也可以忽略掉所有与声音无关的一切,闭上眼睛,从始至终。不要表演,这可以不是我们对歌手的要求,而是对我们自己的要求。你--能不能,不用声音以外的因素去评判,能不能,不受其他因素的影响而感受。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhyO1xEKI5X5rPHCt_YlAXraReSiAhzUHt6VDC3fmeTQafTJ_h3se-A1akykVxFIlMJPVF3G0eV4cejTnFhtb80zVtqX56-Cvp5ZgnpdFTBQfj2c-r_Z9VfrUYJ7Y4dz578o2Qs6Dj4Cw/s1600/windows.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhyO1xEKI5X5rPHCt_YlAXraReSiAhzUHt6VDC3fmeTQafTJ_h3se-A1akykVxFIlMJPVF3G0eV4cejTnFhtb80zVtqX56-Cvp5ZgnpdFTBQfj2c-r_Z9VfrUYJ7Y4dz578o2Qs6Dj4Cw/s320/windows.jpg" width="240" /></a></div>
<br />
我愿意相信他们”想唱歌”,只是,他们的愿望可能并不那么单纯。比如,他希望唱歌的同时,能有很多人来听,他希望追影灯和聚光灯都集中在他的身上,他希望他的父母也能支持他,他的成就也能支持他的父母对他的支持。他希望用各种手段向你证明,他们”想唱歌”的愿望有多么迫切。<br />
不过,人们不仅希望忽略/去掉这些,而且也希望对这些手段做出惩罚,尤其是我们还不能判别真伪的时候。那么,你打算对那些真的愿望给予奖励么,这是否有违仅只声音本身的原则?<br />
我记得梁博。那个严肃脸的少年,他一直在唱同一种类型的歌。有人告诉我,一个乐评人贬损了所有的歌手,除了他。因为他的嗓子会在这种演唱风格中受到损耗,直到最后不能演唱,但是,也只有这种损耗的唱法才能表达那种情感。<br />
权振东,柔弱的男生形象,站在擂台上面对佳宁组合两个人,其中的男士一本正经的样子,像音乐教师,女士则一看风格凌厉。他们合唱《冬天来了》,组合先唱,这时我想,太好听了啊,这么完美和学院派,柔弱的男生肯定输了。当权振东开始唱的时候,我一拍大腿。原来,柔软可以是一种力量,从锋利的刀剑里慢慢地渗透出来。我想起民歌和美声合唱的时候,无论民歌多么高亢,都不能完全遮住美声的柔。<br />
权振东是梁博的老师,他们的学校离我的住处只有不到5分钟的路程,每天我上班都会路过。我也想过,梁博和权振东就在这里啊,但是我一点也不想走进去遇到他们。我希望他们就一直是音乐里传达出的那个样子,不想跟他们喝酒,不想成为朋友。也不想走上去对他说,”我支持你”。如果能有所帮助,当然很好,如果能只是远远欣赏,也很好。单只口头的支持淡而无味。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLP0as9lbikqcOH8JAc4Wdhw3dqtuBGCNHneOkOG9PHIdNRO8sLMx4DWzzIXY7jReEYIvzy6bCtQW0pM_JWZ8_RrwSIIUJXodbzgXJaQXBxd0CPxFbJ5cwGI37dgOrXG2a40dvNBTrj0/s1600/snow.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLP0as9lbikqcOH8JAc4Wdhw3dqtuBGCNHneOkOG9PHIdNRO8sLMx4DWzzIXY7jReEYIvzy6bCtQW0pM_JWZ8_RrwSIIUJXodbzgXJaQXBxd0CPxFbJ5cwGI37dgOrXG2a40dvNBTrj0/s320/snow.jpg" width="320" /></a></div>
<br />
我听不懂四位导师所说的那些”好听”,也不懂”灵魂歌者”是什么样子的,也不懂”走心”和”用心”,甚至不懂”当下”二字的含义。对于那些音乐术语,我是真的不懂,知识结构欠缺。而另一些,使用他们的人自己可能也不明白。<br />
我只是喜欢张磊的声音,喜欢姚贝娜的大气。我不懂很多,我听着阚立文唱《那些年》,完全没有想起歌曲来自我看过的电影《那些年我们一起追的女孩》,这不影响我号啕大哭。我听了很多遍,并且知道阚立文不会成为冠军,甚至不会进入再下一轮比赛。我听修儿唱《张三的歌》,哈哈大笑,说,这个好玩。我不知道,后面导师们解释的那些雷鬼啊什么的风格。我并没有想过那是歌手的原创,抑或者是师有所承,派系渊源流长。<br />
我只是听他们唱歌而已。就像魏雪漫谈到,为什么她的年龄大这么多,她作为成熟的歌手为什么参加比赛。她说,她想做很多事情,她想结婚生孩子,但是那些不是一个人能够完成的,唱歌是一个人就可以做的,所以她来了。就像刘双双唱完《致青春》,她深情地吻上她抱着的吉他。<br />
就像张惠妹笨嘴拙舌地只会说”鸡皮疙瘩”,但是当她顺着歌手的旋律歌唱延伸的时候,那是天籁降临。长期训练的专业素养和天赋集于一身,这些共同地形成了这个人。<br />
有的歌手,在听过很多遍以后,听者会剔除当时的感动,变得挑剔起来。我会觉得马吟吟的《海上花》还是有点沙哑了,尤其每次听的沙哑都相同。我会觉得张婧懿的《斑马》有点上不来气,程壁的呼吸声也让我气短。有不少人在声音之余觉得,盲人女歌手张玉霞长得不好看。他们可能把贝多芬盲女的故事代入到这里了,由于不能看到自己的脸,其实盲人很难把握自己的表情,我见过最好的就是没有淡然没有表情。<br />
尽管并不完美,但是他们仍然是”想唱歌”的歌手。我想,你应该想到,吴莫愁的音乐大篷车根本不会是她所想像的或者笑哈哈的说起的那样。剥落的油漆,尘土扬天,人的气味,油腻的衣服。这才应该是全部,还有猥琐的观众和低俗调子。你不应该去想像,音乐大篷车唱的是校园民谣。<br />
但是她”想唱歌”,我们忽略掉其他的一切,或者不去细想,只是体会坚强和热爱。还有在恶劣环境下成长起来的努力和天赋。<br />
我猜测那个一直戴着帽子的大男生,一激动就蹲在地上,并非完全真实。就像后来有个小伙子一直很帅地笑着,一直执意把耳机套在脖子上,作为装饰。他们,所以上面这些歌手共同的是,想更多一些机会唱歌,如果我们姑且抛开唱歌之后的目的。<br />
我们不能接受那些假的,而愿意全部的热情都是真实的,并不是因为我们有多么讨厌撒谎的人,而是因为,我们希望那些屏幕上唱歌的人,就是我们自己。我们希望更加纯粹的情感,我们希望他们能够替我们做到。所以白领骨干精英们当年喜欢张靓颖,年轻小女孩们喜欢李宇春。所以,有人喜欢莫西子诗,他唱道,”要死就一定要死在你手里”。<br />
那么,为什么要由别人来替我们完成呢?我们此刻就应该去做我们最想做的事情,或者去做你最希望得到结果的事,就像明天就会死去,就像下一秒就会死去,并且此刻的选择令你在死前没有遗憾。<br />
电影里说,对于年轻人,可能费点时间不算什么,但是对于有些人,”每一次呼吸的时间都是宝贵的”。<br />
歌手们说,他们为唱歌而生。为之而生的意思,就是可以为之而死,因为时间就是生命本身.我们能付出的最大的代价,不是别的,正是生命,也就是时间。此时此刻,我们选择做的,应该就是我们真正地愿意为之而死的事。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1WZpEP3h0i5ckDvmrhoeEuQcflc60a5SE4hHDi_msuAk93XxqC2oGQY991Xx1mF0eSywLn3UuHEMLoAzxMI1MBSfPHcsIOCcUViaENmTV9ZnD7CsETHCvGvfE9fpC4bnMqFQXAHh_cjs/s1600/jingyue.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1WZpEP3h0i5ckDvmrhoeEuQcflc60a5SE4hHDi_msuAk93XxqC2oGQY991Xx1mF0eSywLn3UuHEMLoAzxMI1MBSfPHcsIOCcUViaENmTV9ZnD7CsETHCvGvfE9fpC4bnMqFQXAHh_cjs/s320/jingyue.jpg" width="320" /></a></div>
<br />
————————————————————<br />
博客会手工同步到以下地址:<br />
[http://zhuanlan.zhihu.com/younggift]<br />
[https://younggift.net/]<br />
[http://blog.csdn.net/younggift]<br />
[http://giftdotyoung.blogspot.com]</div>
Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-52119564402391738822016-11-03T23:06:00.001+08:002016-11-03T23:06:42.597+08:00远隔天涯<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-4HxA9MJ_RxpoyuRwz-wvppJYfxwMqpQow1FBjHkY-jE5OLyHRVA0SzaB_lUhWBOgAe61Yw6NCz5A1ctTPAhvQsmhA-fJdZJ0K5_39jjdT0r4gtPKnworQRCIgMub0EgdllIl-k8uh9Y/s1600/blade-702598.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-4HxA9MJ_RxpoyuRwz-wvppJYfxwMqpQow1FBjHkY-jE5OLyHRVA0SzaB_lUhWBOgAe61Yw6NCz5A1ctTPAhvQsmhA-fJdZJ0K5_39jjdT0r4gtPKnworQRCIgMub0EgdllIl-k8uh9Y/s320/blade-702598.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758830496566786" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVBH4k75YGaJGf_6SdLSgDfTlrvHd0BV-uPOi_YjyK2oSmFf9LS80fjeXKHVCa7Y8lAsleGyT4WfFFwiddf1do4KKQeGJQyViljJa7irkyIYDIWtDO9BZwHJy5-ipkkTbxHQrZq86juuU/s1600/green_leave-704957.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVBH4k75YGaJGf_6SdLSgDfTlrvHd0BV-uPOi_YjyK2oSmFf9LS80fjeXKHVCa7Y8lAsleGyT4WfFFwiddf1do4KKQeGJQyViljJa7irkyIYDIWtDO9BZwHJy5-ipkkTbxHQrZq86juuU/s320/green_leave-704957.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758838985283842" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTiuAqbaPVWJ5aunu2I1j3DdjTVIhQfeK1jN6EyEpQLIZrYKHIADA-UEjbRfZDHR5nWTfGP1d53iLrE4a27W6kyItS54PIlL6FyzMIwQHWGieS8t5hAe3dHkK2gMPvtrGywH8lWaMqRP4/s1600/java-710134.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTiuAqbaPVWJ5aunu2I1j3DdjTVIhQfeK1jN6EyEpQLIZrYKHIADA-UEjbRfZDHR5nWTfGP1d53iLrE4a27W6kyItS54PIlL6FyzMIwQHWGieS8t5hAe3dHkK2gMPvtrGywH8lWaMqRP4/s320/java-710134.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758859559616418" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWrfTE9ltbo6Pe46eR0Er9ExnMd3L_dArcHyuIH7ckWc3Wye88VmIrnjqx8zMyk5GHrNQ54avLGUoQnZjfG9U3S-pEKAoh3oAclk-sXGzi3-lzG8OpRIj1s4ESMTfaMuD2ntyc2nXPufQ/s1600/keyboard-712505.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWrfTE9ltbo6Pe46eR0Er9ExnMd3L_dArcHyuIH7ckWc3Wye88VmIrnjqx8zMyk5GHrNQ54avLGUoQnZjfG9U3S-pEKAoh3oAclk-sXGzi3-lzG8OpRIj1s4ESMTfaMuD2ntyc2nXPufQ/s320/keyboard-712505.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758865693290898" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvAm3isS3R6xB9hpN69-J5uHaP90slCfdZOxfh3D14P7s9HO-5P3t4qzJZ2jy4USwFgZnamHw8YRhtuW-d8riJ36ceL6Bl_3EqB9q-MBR16lhpV_3awX8J8CKQk9jjdaZp5AumA7dFAk8/s1600/shadow_tree-714535.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvAm3isS3R6xB9hpN69-J5uHaP90slCfdZOxfh3D14P7s9HO-5P3t4qzJZ2jy4USwFgZnamHw8YRhtuW-d8riJ36ceL6Bl_3EqB9q-MBR16lhpV_3awX8J8CKQk9jjdaZp5AumA7dFAk8/s320/shadow_tree-714535.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758875734627778" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMi5uDtoFuA8Xs6IU0l9tjdYD4LE_Mpa172RQx2uP3EJTPCR7E1hgxMHVny_fFYYR5AWuHGx2en4APaB00JhiEGBRhCHcZ3gE6KKClfeR9mRvq311QzqYVqJCqse9Vwflw90TTKGKg8c/s1600/trees-716652.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWMi5uDtoFuA8Xs6IU0l9tjdYD4LE_Mpa172RQx2uP3EJTPCR7E1hgxMHVny_fFYYR5AWuHGx2en4APaB00JhiEGBRhCHcZ3gE6KKClfeR9mRvq311QzqYVqJCqse9Vwflw90TTKGKg8c/s320/trees-716652.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6348758888961497346" /></a></p><div dir="ltr"><br><br>我跟大家开的一个玩笑,经常在每当大家指出我如何如何就活不长久的时候说出来,"我以后是咱们里活得最久的一个,然后挨个给你们写传记,编派你们。哪个子孙要是说我瞎写,我就指着他说,那时候你出生了么,你知道个啥。"<br><br>但是有时候我也怀疑,我能不能活过你们所有的人。或者,在你们全都离开以后,剩下的时间够不够我写完。<br><br>所以,趁我们还都活着的时候回忆一下。<br><br>我所有的同学里,已知去世的,一共5个人了。每一个当我们回忆起来的时候,都一阵唏嘘。除了在大学就去世的那位,其余的都是在喝酒前或喝酒中听说的。每一次我都想说,让我们这杯敬给某某,他不能跟我们一起喝了也。我不敢说,怕你们大家一起哭出来,或者我一个人哭出来,那岂不是更糟糕。我知道,你们也是这么想的。<br><br>即使我们都生活在这同一个世界,大都也远隔天涯。远到,另一座城市,铁路或航线的另一端。因为求生,即使上了车就可以端起书隔开喧嚣,其实那也很久。从离开家到站台,从另一个站台到你的居处,分别需要1个小时以上。比如从沈阳或哈尔滨到长春,不是1个小时,而是3个小时以上。再加上请假和各种任务的拖延,加上往返劳顿以后的休整,就想,也许以后吧。我已经很久没能把当天的任务完成,然后非常放心地看碟、打游戏、喝杯咖啡。咖啡大多数时候是兴奋而不是享受。我也已经很久没有探望任何一个同学了。<br><br>我和我爱人去探望过一位师兄,最近又联系上了,发现虽然换了若干手机,他的名字在我现在的手机里还是写好的词组。我去看他的那个年代既没有手机也很少有电话,所以我也没有预约,就突然出现。他刚好安排了家教,把我们安排在他家那么大的房子里以后就跑了。过了一会儿,他爱人也要去家教了,我们才意识到自己唐突,也跑了。跑得仓皇,把一本机械工业出版社的关于需求或者测试的小薄册子丢在了他家。后来他问起过,我说就放在你那儿吧。已经15年以上。<br><br>这位师兄是我景仰的想成为的那种人。<br><br>他当年高考失利,似乎被他爸揍了 (?)我见过他的父亲,完全不像会打人的样子。被揍以后他就跑啦,从内蒙古随便搭了一辆火车,朝着远在天涯不知道什么地方。我不记得他说的是过了多久,也不知道当年那段路程需要跑几天,他吃的什么。总之,下了火车以后,他就到了北京。<br><br>他讲的时候,我的脑海里就浮现出浅丘戈壁,风吹草扬。少年就这样离开家乡,下车的时候看到满眼绿车皮长长的列车,一排又一排。<br><br>我问过,那后来呢。他说,后来就回家了,再挨揍。我不记得是当年,又或者是下一年,他就考到了东北师大。<br><br>他下一年,我也来了。迎新晚会是在新共教,那次演出是我从未见过的,大学生活的开始,原来可以这样。这位师兄和后来我的大哥合唱一首《青春》。一个人蹲在地上,举着话筒,另一个人坐椅子上抱着吉他。我当时惊叹,这就是友谊啊。高翔旭唱《舍不得你的人是我》 (感谢郭勇纠正) ,他后来的媳妇在一群白衣少女中为他伴舞,这里面不知道哪个女生跑进圈里为他献花。我一拍大腿,这就是爱情啊。金一雄和朴英唱《糊涂的爱》,后来他们就恋爱了。主持人介绍金环老师,最高一级的同学 (几乎全是男生)一齐起哄,因为前几天她还是师姐。后来我最初执教的时候,也刚刚不是师兄,现在师弟兼学生们还偶尔回忆起来。<br><br>后来,和这位师兄,我们还一起参加过教师技能大赛。他是霹雳舞的天才,整个人看起来就是那个样子。前几天一位同学来访,我们回忆起当年共同认识的一些人。她说,她记得93年有个男生,是什么什么样子。我立即脱口而出,那是谁谁啊,他跳霹雳舞蹈特别好,他是不是整个人看起来就像是踩在弹簧上。在那次教师技能大赛上,有才艺表演,他就跳霹雳舞,把我们从电影里看的各种动作全来了一遍。从来没有想过,这样的动作真人也是可以做出来的。他就像体操运动员一样,充满力量地跳来蹦去。嗯,原来小流氓们的舞蹈也可以在大学校园里跳啊,如果我会打口哨一定要来一声响的。<br><br>后来我们喝酒的时候,师兄说,他上场以前特别紧张,走来走去都不对劲,就觉得要出事。后来,女主持人走过来告诉他,"同学,你拉链开了。"然后他做了一个拉裤子拉链的动作。他就不紧张了,上场非常带劲,完全成功。我和大哥听完以后哈哈笑。笑完我就问 (很多年,我一直是这种理解水平,你习惯就知道了),"她说你拉链开了,你怎么就知道是裤子?"师兄说,"我浑身上下就这一个地方有拉链啊。"<br><br>这位跳霹雳舞的大侠,帮着同学出主意怎么对师妹表白,如今佳偶的孩子已经十多岁了。这位跳霹雳舞的大侠,在我另一次去看他的时候对我说,你当年青睐过的女生啊,现在已经是个非常普通的女人罢啦。这位从内蒙敢跑到北京的少年,居然住着大房子,跟老婆两个人出去家教,我那个时候实在很难接受。<br><br>我非常想问,你的梦想呢。而且这句话你可以想像语气。我们那个时候,从来没有师兄学长这样的尊称,都是三个字直称其名,我现在仍然觉得只称后两个多么暧昧。<br><br>我没有问,我觉得没有了梦想,或者换了梦想的人,不希望被问。更何况你远远看着,希望成为的那个人,你不希望他给你讲一大屁股做人的道理。如果那样,我就只想说滚,大家连怀念就都没有,有什么好。<br><br>有些师兄师姐和同学后来的样子,在另一个故事里有提到,这里略过。<br><br>但是!<br><br>他从来没有丢弃他的梦想,还是那样的少年。或者说,在做着本职的同时,他的身上也仍然满是那个唱着民谣疯狂地跳着舞蹈的少年的影子。<br><br>这次联系上是从大哥那要来这位师兄的微信。加上以后照例一顿扯屁。近照给我看看,还剩多少头发之类的。他发给我一张光膀子上篮的照片。在他的朋友圈里,我看到他炫两把吉他,光洁如新,弦声若空。<br><br>我突然想起大哥提起这位师兄前几年抱怨沈阳不让骑摩托了。我当时说,不骑不骑呗,那么危险。大哥说,你懂啥啊,又说,不骑不就白买了吗。我说,一个摩托能有多少钱。大哥说,八万。我说,八万能买一辆很不错的车啊。大哥说,那也不是摩托。<br><br>这两年他跟大哥电话的时候,提到要做万有引力常数测量装备。我说,电话给我,我来我来。我说,"那叫卡文迪许扭称",然后一顿否定。可是,他敢于和愿意做这个我记得需要一座山来帮助测量的装置,而不是问"师大附中最近有什么题啊""你打字速度有多快啊",这本身就多么令人向往。<br><br>这样疯狂的同学,居然还活着,还是按他原来的样子活着,活得还不错。前几年还能揍学生。这多么令我欣喜。他在照片里满脑袋黑的白的头发扬起来,对我竖起中指,咧着嘴笑得像个傻瓜。我很高兴。<br><br>这位同学远在沈阳,和我3个小时的车程。大哥大婚的时候他来了,因为晕车,大哥陪他从车站走到学校,我似乎出差去了。我去过沈阳见他两次,很多年没再去。没有像当年那样电话也不打信也不写,突然就跑到学校办公室敲门。其实即使在同一个城市,在同一个校园,也是这样。<br><br>建一同学和我在同一城市,铁子老弟和我在同一校园,都已久未谋面。他们都在忙着各自的事情,我在忙着理各种乱七八糟的线头。如果不是有共同的事业,人生很难在错开以后再有什么交集,除了喝酒买醉的时候。<br><br>更不用说,我那些已经离开的同学。想再相聚一叙一饮,唯有百年。恼了散了不得相聚,还可以偶尔微信电话,那些人和相信他们的那些人,没有"哪天再聚",而是永不能相见了。<br><br>不过我也想,如果不得相见,近在一城,或者远在天涯,或者是生死相隔。有什么分别?<br><br>有的。<br><br>那就是,如果你还活着,像我的这位师兄一样活着原来的样子,在世俗之中又能安身立命。你既能跟世人胡吹海塞,也能偶尔让我看到你弹吉他的样子,看到你终于架起HAM天线的时候,看到你忙完世事终于坐着火车路过西伯利亚的白桦林。<br><br>看到你看着我的文字哈哈大笑或者热泪盈框。<br><br>又,我发现个秘密。如果用五笔打字,打出文字颠倒来,是一种疲劳程度,如果打出音同字不同的错误来,就是累得必须休息了。<br><br>----<br><br>下面是与正文毫无关系的 emacs lisp,用于把 excel的cvs转成 markdonw 格式的 talbe。因为有更好的替代品,我不会再维护,扔在硬盘里就找不到了,估且存在此处,不另文发布。<br><br>(defun cvs2md-table ()<br> "replace cvs format to markdown talbe."<br> (interactive)<br> ; , -> |<br> (goto-char (point-min)) <br> (replace-string "," "|")<br> (goto-char (point-min))<br> (replace-regexp "^" "|")<br> (goto-char (point-min))<br> (replace-regexp "$" "|")<br> ; table head<br> (setq col-count 0)<br> (goto-char (point-min))<br> (setq col-count (count-matches "|" (line-beginning-position) (line-end-position)))<br> (goto-line 2)<br> (setq head-count 0)<br> (while (< head-count col-count)<br> (insert "|:--")<br> (setq head-count (1+ head-count))<br> )<br> (insert "|")<br> (open-line 1)<br> ; delete "||" in the last line<br> (goto-char (point-max))<br> (beginning-of-line)<br> (kill-line)<br> )<br><br><br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="https://younggift.net/">https://younggift.net/</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-32814503271565288472016-10-08T23:46:00.001+08:002016-10-08T23:46:52.425+08:00猜测在学习新工具中的作用,一个实例<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2-XYhecU5IHxAl9mLX412a88Qg7_pvkymOpCjZAWmq3K2wp4OZiwkaauN3S4kwsQrINfkeJe1JBVPgokaNcqAwQ6spmMAHbYNIMWiW5oz_EWG6xJckueqP9iYrzKWlczkIbpFY7T9XYs/s1600/epoch-712426.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2-XYhecU5IHxAl9mLX412a88Qg7_pvkymOpCjZAWmq3K2wp4OZiwkaauN3S4kwsQrINfkeJe1JBVPgokaNcqAwQ6spmMAHbYNIMWiW5oz_EWG6xJckueqP9iYrzKWlczkIbpFY7T9XYs/s320/epoch-712426.png" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120961219968178" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv5kMf7gH2YZBxpY193eIYODnKL01UWIk-55Ru8IrJ-5z4ezfg73MSEcQSJ5WElu8rUxdtyajI_eh6LaHSpNIYi0REdJIqcLhuiI0s2blTb7vf4wp7ZbI9fqCAm7eoOvIY0SWPs_OL39Q/s1600/graph-714121.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv5kMf7gH2YZBxpY193eIYODnKL01UWIk-55Ru8IrJ-5z4ezfg73MSEcQSJ5WElu8rUxdtyajI_eh6LaHSpNIYi0REdJIqcLhuiI0s2blTb7vf4wp7ZbI9fqCAm7eoOvIY0SWPs_OL39Q/s320/graph-714121.png" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120965218189202" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHeh5XVqaUMgES6czf4A6ga2vk96egGDlTC3EKxLqRH7SqDOUczjtDreMOKZUuhUnkAzNuyAJV2JEj2Lt22wVBEhZZfhv3XCn_OlONGnAYLiU6Q6jLEDVKThJm0ASIDdOAhyF87h_GoFQ/s1600/hole-715271.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHeh5XVqaUMgES6czf4A6ga2vk96egGDlTC3EKxLqRH7SqDOUczjtDreMOKZUuhUnkAzNuyAJV2JEj2Lt22wVBEhZZfhv3XCn_OlONGnAYLiU6Q6jLEDVKThJm0ASIDdOAhyF87h_GoFQ/s320/hole-715271.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120971530490914" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvwHs_mxK4RTx4DkoLRAOlNKwp0jEP5jrB8gKFA_Nt1e6nKLyinozlm2zCrqwBLWSX32uYP9zdaW3xNiu8uDbCU5CuMU4-_R868tSCVcwUKm-KRrgUddDgLCctKM-urfDR7mr3zEXYKw/s1600/keys-716790.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvwHs_mxK4RTx4DkoLRAOlNKwp0jEP5jrB8gKFA_Nt1e6nKLyinozlm2zCrqwBLWSX32uYP9zdaW3xNiu8uDbCU5CuMU4-_R868tSCVcwUKm-KRrgUddDgLCctKM-urfDR7mr3zEXYKw/s320/keys-716790.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120979108435218" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyAtevFBvOYGLD1b9Bj16qNUVKHS4-y5GAtrpzM1qDD3FtjsDLA6RJFEaqUlSDpHqDHLNvErdNVpqtFa9LBTWJz8w4f-KuXQ3z6P70M2Zn_sV7tIrb5arShpKz3FIWLncvQXRwRkJ9HRI/s1600/zoom_graph-717909.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyAtevFBvOYGLD1b9Bj16qNUVKHS4-y5GAtrpzM1qDD3FtjsDLA6RJFEaqUlSDpHqDHLNvErdNVpqtFa9LBTWJz8w4f-KuXQ3z6P70M2Zn_sV7tIrb5arShpKz3FIWLncvQXRwRkJ9HRI/s320/zoom_graph-717909.png" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120980700920210" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv_-kA24SWSfPgPVMIAumDNSGDQxXXcKAc5QODJm-yaWjsSW2L5LS7we3OQ5iK37PS1fxqQMgYfqNbzhYSznV5h-gyxBF-zldF_qH7b2ggwuLIi3TfiNZ1bUVfnDyPAyyoYhG2XS-GViM/s1600/%253D%253FUTF-8%253FB%253F5rWB6YeP5Zu%252BLnBuZw%253D%253D%253F%253D-719396"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv_-kA24SWSfPgPVMIAumDNSGDQxXXcKAc5QODJm-yaWjsSW2L5LS7we3OQ5iK37PS1fxqQMgYfqNbzhYSznV5h-gyxBF-zldF_qH7b2ggwuLIi3TfiNZ1bUVfnDyPAyyoYhG2XS-GViM/s320/%253D%253FUTF-8%253FB%253F5rWB6YeP5Zu%252BLnBuZw%253D%253D%253F%253D-719396" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120992938701842" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwMgGxDLS-8PZJXGJarUExRxaOlBugIxUg353m_JHTw8102Rfv8Atm7C78wxU-KmjBy3iDKDDXeUc1IDKyMFdUigPUEnV5LTY9h4_9llZj1Sai1pRipGTUSHLZR0SzJDbND_sxJ7OiC44/s1600/%253D%253FUTF-8%253FB%253F5aSp5rCU5Zu%252BMi5wbmc%253D%253F%253D-720904"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwMgGxDLS-8PZJXGJarUExRxaOlBugIxUg353m_JHTw8102Rfv8Atm7C78wxU-KmjBy3iDKDDXeUc1IDKyMFdUigPUEnV5LTY9h4_9llZj1Sai1pRipGTUSHLZR0SzJDbND_sxJ7OiC44/s320/%253D%253FUTF-8%253FB%253F5aSp5rCU5Zu%252BMi5wbmc%253D%253F%253D-720904" border="0" alt="" id="BLOGGER_PHOTO_ID_6339120994469352850" /></a></p><div dir="ltr">猜测在学习新工具中的作用,一个实例<br><br>1. <br><br>当年我参加李YL老师组织的Linux内核源码讨论班,大家坐教室里,人手一本厚厚的《Linux内核源代码情景分析》。多厚呢,上下册,单册800页左右。我们都把书摊在桌面上,举起来太累了,听轮值的某个人讲,说我看到哪哪儿了,这一段的意思是啥啥,这段代码引用了某个数据结构,在哪哪页呢,那个人讲,我们就哗哗翻书。<br><br>用翻书的办法讨论,因为那是2002年前后,教室里没有计算机,没有笔记本,没有投影仪,也没有平板。<br><br>轮到我讲了。我讲了两页,然后提到某某处我猜是怎么怎么回事,假设如此,那么我们继续往下看,某某段的说法就容易解释。在我结束的时候,康凯同学点评,他说: 杨老师你不能这么整啊,咋能"假设"呢,你应该找*到底*是什么回事。我问,在哪找,咱们没机器代码查起来慢啊。他说:在书上找啊。<br><br>我拒绝了他的读书方法建议,答复如下。我本科是学电子的,是物理系出身,我所受到的教育就是,先假设,然后用实验事实证实或推翻假设,从我假设以后书上后面的那些段落,都是用来证实或推翻我的假设的依据。<br><br>2.<br><br>这让我想起书上讲的妈妈给孩子讲睡前故事。妈妈每当讲到关键时刻,就对孩子说,你猜后面会发生什么呢。然后孩子就自发地产生了编故事的能力。书上是这么讲的,我妈没给我讲过睡前故事,所以我也不知道是不是真的。不过,听说过一千零一夜故事,我担心那孩子被悬念勾着更睡不着了吧。<br><br>当听到真正的故事时,还会和自己头脑中的对比,"这不合理,杜丘怎么就会忘了装子弹","这个设定太取巧了,谁能想到杀人犯还有个双胞胎"。<br><br>我们在听故事的时候,对情节和人物确实是有预设 (猜测) 的。知识不仅来自书本 (!),而且来自猜测。然后我们需要根据猜测设计实验,检验我们的猜测正确与否。如果猜测对了,我们就快捷地得到了新的知识,虽然书上可能没写--书上并未写全你要用到的所有的知识,所以也不要预期可以依照书本生活和工作。<br><br>猜测-设计实验验证-使用知识,这是成熟的工程师区别于初学者的一个重要标志,因为工程的一部分正是实验科学。我很多年以后才知道,从培根的实证主义到波普尔的证伪主义,到罗素的对一致性的追求,设计实验的朴素观点背后还有哲学理论的支撑。<br><br>不知道这么年过去了,康凯同学对当年的讨论作何感想。他们毕业的时候聚餐叫我去喝酒,刚好没有成行,所以没有来得及问他那时的看法。不过计算机系的同学可能因为缺乏充分的实验,所以一直以来给我这样的印象,重课本而轻实验设计。谷同学和孙同学曾经非常惊讶地对我说:鞠同学怎么可以这么做呢,她根本不知道书上确切地是怎么写的 (当然也不知道知识是不是就是那样) ,就说,那咱们试试吧;一试,行,就说咱们就这么整吧。我当时的评论,这正是鞠同学厉害的地方。<br><br>猜测是建模/谓词判断/命题,设计实验是根据逻辑推论--如果猜测正确,那么这样设定实验,结果该当如此,如果结果不如此,那么猜测是错误的。这样,猜测-设计实验验证,以后我们就得到了新的模型/定理,作为工具可以应用于符合条件的场合,用于预测结果,用于改变环境。<br><br>老师有的时候提到"学活了"或者"学死了",区别大体指的就应该是这个吧。<br><br>3. 一个实例,用rrdtool提取cacti数据<br><br>以下的故事,用以展示猜测在整个学习使用新工具流程中的位置。<br><br>3.1. 要显示流量,读cacti,是图片,不能 XML parse<br><br>需求是这样,要在程序中显示校园网各汇聚层交换机的流量 (上行和下行)。你可以想像客户站在大屏幕前,指着天气图说,你看就是这条线上的数据,要显示在这里这里和这里。<br><br>(天气图)<br><br>天气图是cacti展示出来的,cacti是网络流量监控的图形化工具,配置以后通过cacti已经可以查看各汇取层交换机的流量数据了,点击线路,就可以看到。<br><br>(流量图)<br><br>凡能看到的,就能抽取。所以主力研发郑同学就说,那我先研究一下 java httpclient 吧。我否定了这个计划。我否定的并非使用 httpclient,而是投入时间去尝试学习研究,而是先假设这一部分不会有问题。httpclient是著名的apache的项目,而且濮同学早就用过,所以是确定地技术路线,没有风险。反倒是另一件事情有高风险,并非"凡能看到的,就能抽取"。httpclient能模仿浏览器的各种行为 (js解释呢?),但是 xml parser 部分 图片是不可以"抽取"成文字的。只要没有变成文字,那么就不能放心,客户可能打算换字体字型字号呢。万一天气图里的数据是图片,httpclient这条技术路线整体需要放弃。<br><br>天气图里的数据是图片。<br><br>而且从图片的 caption 和 URL 里得不到文字。<br><br>故事的第一幕就此结束。英雄遇到灾难,离开故乡,开始历险。<br><br>3.2 cacti数据可以用rrdtool读取,UNIX时间戳,zhumao同学说<br><br>我和向龙同学分别对着自己的显示器,显示器后面很多公里线路以后是郑同学,我们都愁眉苦脸。zhumao同学催,啥时候能去吃午饭呐。我敲键盘,"要完了啊。"<br><br>zhumao同学远程说,cacti的数据都在数据库里,可以抽出来。<br><br>峰回路转,午饭可以下咽了。<br><br>下午,我和向龙同学研究从哪个"数据库"里抽数据。向龙介绍cacti的数据库配置的是mysql,然后我俩把mysql数据库翻个遍,各个表,各个字段。从尺寸上看就不会容纳那么多日志。<br><br>但是zhumao同学技术上很可靠,应该不是虚言。所以我们判定,"数据库"一词不是指关系型数据库,而是泛指能存信息的容器。<br><br>zhumao同学远程说,抽取的工具是rrdtool。过了一会又说,时间节点用的是UNXI的1970年时间戳。<br><br>希望重新燃起,我看到大半夜的微信上向龙同学和郑同学进行各种尝试。<br><br>3.3 猜不到数据在哪里<br><br>我以为故事快结束了,但是向龙同学和郑同学说,"猜不到数据在哪里"。<br><br>"不是说用rrdtool么,zhumao用过啊。"<br><br>"zhumao只是说可以用rrdtool,他并没有声称自己用过。"<br><br>郑同学已经把rrdtool的语法研究得八九不离十了,就是抽出来的数据和天气图上显示的对不上号。<br><br>故事一般都是这个路线,一到关键时刻--钥匙就丢了,计算机刚好没电,掌握密码的人被打死了,主角的最主要助手突然叛变,"其实我是卧底"。为什么到关键时刻才会这样,之前一点也不。因为关键时刻是这么定义的,出现了困难的时候,如果不能克服,那就是完蛋。而在实验和工程中,每一个困难如果不能克服或者绕过去,那么就会完蛋,所以有N多关键时刻。比看警匪片和侦探故事还刺激。<br><br>4. graph properties 可以查看源代码 rrdtool graph<br><br>向龙同学提供我授权登录cacti (天气图及设置) 和 ssh到rrdtool工具所在操作系统,更关键地,他随时提供给我现场的部署、状态,比如天气图上的线路和rrdtool数据库的对应关系,他和郑同学尝试过的指令和结果。<br><br>长弓已经架好,重装步兵阵列在前,巨龙就在前方洞穴之中,只差最后一击。当然,这一击以后发现还要再出击N次也是常有的事,不过如果这次失手了,那就是最后一击,然后我们全军覆没。<br><br>4.1. 猜测及实验验证<br><br>(流量图)<br><br>向龙给我展示的是这张图。整张chart以及图例和注释全都是一整张图片,PNG格式。我确认了我看到的和战友们所看到的相同。天气图是一张图片,我在郑同学这样声称以后也确认过一次。<br><br>猜测: 这张图是此刻实时生成的,是从"数据库"里读出来的,不是原来在磁盘中的。<br><br>否定: 向龙指出,zhumao在磁盘确实找到过这张图片。 (赞叹zhumao的反向工程能力)<br><br>再猜测: 磁盘里的这张图片也应该是生成的,用rrdtool工具从"数据库"里读出来,然后生成的。<br><br>猜测的依据: rrdtool 是 round robin database,文本或压缩文本的存储效率要比图片高很多。理智的设计不会存储图片。<br><br>鼠标在图示右上角的小扳手上悬停,显示tips为 properties,左键单击,是这个界面。<br><br>(rrdtool graph)<br><br>长得真是如我期待,上面是代码,下面是代码生成的图。<br><br>那段代码是:<br><br>----代码开始----<br>/usr/bin/rrdtool graph - \<br>--imgformat=PNG \<br>--start='1474880074' \<br>--end='1474880360' \<br>--title='H3C12508 - Traffic - Ten-GigabitEthe' \<br>--rigid \<br>--base='1000' \<br>--height='120' \<br>--width='500' \<br>--alt-autoscale-max \<br>--lower-limit='0' \<br>COMMENT:"From 2016/09/26 16\:54\:34 To 2016/09/26 16\:59\:20\c" \<br>COMMENT:" \n" \<br>--vertical-label='bits per second' \<br>--slope-mode \<br>--font TITLE:10: \<br>--font AXIS:7: \<br>--font LEGEND:8: \<br>--font UNIT:7: \<br>DEF:a='/var/www/html/cacti/rra/h3c12508_traffic_in_190.rrd':'traffic_in':AVERAGE \<br>DEF:b='/var/www/html/cacti/rra/h3c12508_traffic_in_190.rrd':'traffic_out':AVERAGE \<br>CDEF:cdefa='a,8,*' \<br>CDEF:cdefe='b,8,*' \<br>AREA:cdefa#00CF00FF:'Inbound' \<br>GPRINT:cdefa:LAST:' Current\:%8.2lf%s' \<br>GPRINT:cdefa:AVERAGE:'Average\:%8.2lf%s' \<br>GPRINT:cdefa:MAX:'Maximum\:%8.2lf%s\n' \<br>LINE1:cdefe#002A97FF:'Outbound' \<br>GPRINT:cdefe:LAST:'Current\:%8.2lf%s' \<br>GPRINT:cdefe:AVERAGE:'Average\:%8.2lf%s' \<br>GPRINT:cdefe:MAX:'Maximum\:%8.2lf%s' <br>----代码结束----<br><br>"/usr/bin/rrdtool",这是一段命令行。<br><br>ssh到服务器,向龙告诉我去哪里可以找到 rrdtool 和 数据库文件。我跑了一遍上述代码,输出一个png文件到文件系统中,正是我想期待的。<br><br>故事发展到这里,我们知道,"/usr/bin/rrdtool graph"及正确的参数可以从数据库中抽取数据。只是抽取得到的形式还不尽人意,我们想要文本,得到的是图片。<br><br>就此验证zhumao的猜测都是正确的。<br><br>事实上,在另一条分支上,向龙和郑同学走得更远。他们已经得到了纯文本的结果,用的指令是"rrdtool fetch",只是抽得的结果还没有与天气图对应上。"rrdtool graph"直接证实了zhumao的猜测是正确的,抽取数据可行。<br><br>4.2 手册<br><br>运维和编程的著名格言: RTFM -- Read The Fxxking Manual.<br><br>我找到官方站点,[<a href="https://oss.oetiker.ch/rrdtool/doc/index.en.html]">https://oss.oetiker.ch/rrdtool/doc/index.en.html]</a>,去读手册。此前郑同学也已经独立到过这里。<br><br>然后我根据 rrdtool graph 手册解释了刚刚那段代码里的这一小段<br><br>CDEF:cdefa='a,8,*<br><br>其含义中的重点是: 乘以8. 因为数据库里以字节为单位的,输出的图形是比特为单位的。<br><br>我执行了下面这段<br>----代码开始----<br>$ rrdtool fetch h3c12508_traffic_in_190.rrd \<br>> --start='1474880074' \<br>> --end='1474880360' \<br>> AVERAGE<br> traffic_in traffic_out<br><br>1474880100: 1.9393791780e+08 4.9525977422e+08<br>1474880400: 1.9499877230e+08 4.8637343825e+08<br>----代码结束----<br><br>然后手动 (用 windows calc)计算<br><br>traffic_in :<br>1.9393791780e+08 * 8/1000000000 = 1.5515033424<br>1.9499877230e+08 * 8/1000000000 = 1.5599901784<br>平均值为 (1.5515033424+1.5599901784)/2 = 1.5557467604<br>作为对比,图示中的数据 Inbound 为 1.56G.<br><br>traffic_out :<br>4.9525977422e+08*8/1000000000 = 3.96207819376<br>4.8637343825e+08*8/1000000000 = 3.890987506<br>平均值为(3.96207819376+3.890987506)/2 = 3.92653284988<br>作为对比,图示中的数据 Outbound 为 3.93G.<br><br>抽取出的数据与图示吻合了。<br><br>4.3 放大图示,对比数据,向龙同学说<br><br>我展示方法,向龙同学说,我乘以8了啊。我问你从哪边往哪边乘的。他说,因为不确定到底如何,做了不少猜测,从两边分别都乘过。这是本故事的另一个寓意了,猜测的时候如果知道那样一定正确,尽可能减少其他可能,就更好。不就此展开。<br><br>事实上,这个实验的最后一击并不那么简单。向龙同学提供了对比数据的spec说明: 放大图示到某个具体的分钟,抽取的数据与这个具体的分钟的数据对比,避免在时间段内平均等造成的误差 (和复杂性)。同时,向龙同学提供了放大图示的手段,郑同学此前不知道放大的方法,我没有想到选取具体的时间节点。<br><br>4.4 时间转换,双向;新的关键环节:时区<br><br>有的同学可能已经注意到我上面引用的代码中的时间是UNIX时间戳,这是zhumao提示的。具体使用的时候,我的时间戳来自两个来源,(1) 从 rrdtool graph 的代码中抄,(2) 利用在线工具 [<a href="http://www.epochconverter.com/">http://www.epochconverter.com/</a>] 双向转换。<br><br>(图)<br><br>我这样找到在线工具的, bing: unix time stamp convert,然后右上角"Switch to Bing in English"。第一页前几个就很好使。<br><br>(3)命令行工具,Linux内置<br><br>----代码开始----<br>$ date --date='2016-09-26 17:02 CST' +%s<br>1474880520<br><br>$ date --date @1474880520<br>Mon Sep 26 17:02:00 CST 2016<br>----代码结束----<br><br>(4) 等实验完成了我才注意到,rrdtool fetch 接受一般的时间格式,还有倒退几分钟这样的功能。可以不用UNIX时间戳的。<br><br>在转换时间格式时我注意到有时区,所以为了避免可能的问题,确认了一下操作系统本地时区是东八区,北京时间。<br><br><br>----代码开始----<br>$ date -R<br>Mon, 26 Sep 2016 17:36:37<br>+0800<br><br>$ date +%z<br>+0800<br>$ date +%Z<br>CST<br>----代码结束----<br><br>5. 加强、改进,玩<br><br>大局已定,我们对手册里的其他工具做了些尝试。与其说是加强和改进实验结果,不如说像猫抓到老鼠以后行为,"总算抓到了,快让我玩会。"我在程序跑对了以后,也总喜欢再多跑两次,好像生怕它会跑出不同的结果,或者多享受几次正确地运行。<br><br>5.1 用命令行过滤数据<br><br>为了后续开发方便,我用命令行去除了数据中无用的部分。<br><br>----代码开始----<br>$ rrdtool fetch h3c12508_traffic_in_190.rrd -s -5min AVERAGE | tail -2 | head -1<br>1474879500: 1.9791172526e+08 5.0410319243e+08<br>----代码结束----<br><br>其中的 -s -5min 指数据截取的开始时间为从此刻回退5分钟,结束时间为此刻。<br><br>5.2. 查手册,得到解释及更丰富的语法<br><br>还有导出为xml格式<br><br>----代码开始----<br>$ rrdtool xport \<br>> --start='1474595681' \<br>> --end='1474595683' \<br>> DEF:a=h3c12508_traffic_in_190.rrd:traffic_in:AVERAGE \<br>> CDEF:cdefa='a,8,*' \<br>> XPORT:cdefa:"IN"<br><?xml version="1.0" encoding="ISO-8859-1"?><br><br><xport><br> <meta><br> <start>1474596000</start><br> <step>1800</step><br> <end>1474596000</end><br> <rows>1</rows><br> <columns>1</columns><br> <legend><br> <entry>IN</entry><br> </legend><br> </meta><br> <data><br> <row><t>1474596000</t><v>9.0713941203e+08</v></row><br> </data><br></xport><br>----代码结束----<br><br><br>导出为json格式<br><br>----代码开始----<br>$ rrdtool xport \<br>> --start='1474595681' \<br>> --end='1474595683' \<br>> --json \<br>> DEF:a=h3c12508_traffic_in_190.rrd:traffic_in:AVERAGE \<br>> CDEF:cdefa='a,8,*' \<br>> XPORT:cdefa:"IN"<br>{ about: 'RRDtool xport JSON output',<br> meta: {<br> start: 1474596000,<br> step: 1800,<br> end: 1474596000,<br> legend: [<br> 'IN'<br> ]<br> },<br> data: [<br> [ 9.0713941203e+08 ]<br> ]<br>}<br>----代码结束----<br><br>5.3. 后备方法 rrdcgi, librrd, rrddump<br><br>我们还知道些后备的方法,在当前项目中不会用到。<br><br>估计可以用于http输出的rrdcgi, 估计可以与其他语言 (C?)联合开发用的librrd,估计可以把数据库倒出来的工具rrddump。<br><br>6. 总结<br><br>猜测在学习新工具中的作用如此重要,以至于如果你没有猜测的话,就不要按下回车。哪怕你有很多种猜测也好,只要列出一张表来,一个个试过去,留下看起来最正确的那个。但是如果你没有猜测,就失去了主动性,而是被动地观察实验现象,却对支配实验现象背后的物理图景毫无察觉。<br><br>据说,李靖与李世民讨论兵法,他说: 千章万句,不出乎"致人而不致于人"而已。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="https://younggift.net/">https://younggift.net/</a>] 悄然支持http2,再次感谢高博先生<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-12897912482828301622016-09-25T18:27:00.001+08:002016-09-25T18:27:43.186+08:00读书的层次<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijh2cMdoLF-3xk8OxMKJYdy5yL5saVW8FE0Svvx9ECI6kpW4fEi6ogZMHOMKE8Vj3urUfuWm2uoomlIQhmX11-0VDtzdDiKsdlR_UOac_X-VmZAk4sSy8emMXHNKUOKUlRkiRmw7zXB3E/s1600/268083529194917900-763187.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijh2cMdoLF-3xk8OxMKJYdy5yL5saVW8FE0Svvx9ECI6kpW4fEi6ogZMHOMKE8Vj3urUfuWm2uoomlIQhmX11-0VDtzdDiKsdlR_UOac_X-VmZAk4sSy8emMXHNKUOKUlRkiRmw7zXB3E/s320/268083529194917900-763187.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6334214609808879426" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGPh24CPp4Rraren8P1A3PJ3bVZfjK9Iwd8YVyHz2W7NVhXdV5mB4hWUzaXSG_-tNj-NpjyZkC23of6DgUaHSFNfm1zjUS2bDCE6prwSED3_xsU25j6RVjP3oENQSB-AkBh_dXKDtehhY/s1600/309347656264971844-765609.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGPh24CPp4Rraren8P1A3PJ3bVZfjK9Iwd8YVyHz2W7NVhXdV5mB4hWUzaXSG_-tNj-NpjyZkC23of6DgUaHSFNfm1zjUS2bDCE6prwSED3_xsU25j6RVjP3oENQSB-AkBh_dXKDtehhY/s320/309347656264971844-765609.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6334214617629386962" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM8AJn7LwolMEBcS9axSrrbg61qysn5-Is3WUHKQHpcN8F8ADJQ4XZB_Grlh3b6xAuq9yp_JrH9Nl8Uj9YhwuR_NyUJdxbK62ui-974IE0n9sVGf0adflo-u59p0_eLs09BiRR7t-p3Xc/s1600/550145133099239756-767758.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM8AJn7LwolMEBcS9axSrrbg61qysn5-Is3WUHKQHpcN8F8ADJQ4XZB_Grlh3b6xAuq9yp_JrH9Nl8Uj9YhwuR_NyUJdxbK62ui-974IE0n9sVGf0adflo-u59p0_eLs09BiRR7t-p3Xc/s320/550145133099239756-767758.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6334214626560533186" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAcHw77Cly80sIsfGpHadb1nJhOU0b3-BT3mJAa-OWSaXnjp6i8t2lrzzCXjhAFUCZn0hGmZ6aaoTr5hHfjieWoEF8gZ8ZeHFhuaQh6oJruT2e51kro4oc2bl7DCx1w1PKPcAkbyy9nss/s1600/824061398513530290-769733.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAcHw77Cly80sIsfGpHadb1nJhOU0b3-BT3mJAa-OWSaXnjp6i8t2lrzzCXjhAFUCZn0hGmZ6aaoTr5hHfjieWoEF8gZ8ZeHFhuaQh6oJruT2e51kro4oc2bl7DCx1w1PKPcAkbyy9nss/s320/824061398513530290-769733.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6334214638822300578" /></a></p><div dir="ltr"><br><br>我读书少,不敢妄谈读书,更不敢讨论层次。只不过还是因为读书少这个原因,想不出来别的文字,题目才取此下策。我只想讲几个故事。<br><br>1.<br><br>因为家里没有几本书,我小学三四年级的时候开始经常去市图书馆。图书馆的大部分不对少年儿童开放,只有两处除外。一处是少儿外借,以童话和科普为主,没有习题集,另一种只能在阅览室里看,花花绿绿的少儿杂志。我当时对少儿杂志颇为不屑,觉得怎么那么幼稚呢,都是大人模仿孩子说话,内容明显骗人,感觉作者以为你很弱智的样子。所以我大多数时候只读外借的那些,觉得自己很与众不同的样子。想借大人的书,不让。<br><br>这正是当今不少成年读书人的写照。就是那种感觉,我很孤独,我的观点如此帅呆,我如此卓而不群,与传说中的萨特叔本华尼采有得一拼,只是现在还没有成名罢了,你们这群盲人。也不是一样一样的,相去不远也。<br><br>现在的你当然一眼就看出来我当年的幼稚了,三四年级的孩子中的一个孩子,不过如此。<br><br>很多时候,孤独仅仅因为视野狭窄,没有找到同路人,没有看到引路人。我至今经常为想到某个观点沾沾自喜,后来发现早有人提出,而且深刻得多,完备得多。说来还是见识少。如果多些这样的打击,孤独感顿消,在古今了不起的思想中,你我的看法连渺然众矣的资格怕都没有。某些人的"祖上早已有之"也在此列,包括莱布尼兹的二进制即我周易之阴阳,包括康德的道德不就是己所不欲勿施于人么,那都是你的肤浅理解。肤浅二字,正是字面含义,不是替你自谦。<br><br>2.<br><br>前一段王宝强新闻,有人提到在《唐人街探案》中早有伏笔。我怎么也想不起来,几经启发还是毫无印象。后来到douban上找剧照,才一拍脑袋,啊对对对。有些电影电视情节,看了就忘,甚至连"不好"二字的评价都没有印象。当年李记者、小刘同学大力推荐 The Big Bang Theory,我看了半集实在难以继续。后来跟Johan Lilius 教授提起这剧集,他说,不错。我说,是么,如果你推荐的话倒是值得再试一次啊。他笑着补充,看的时候记着把脑子关掉一会儿。我试了,果然灵验。如果你只保持那么几分钟的记忆 (金鱼七分钟记忆是扯淡,你喂过就知道,它们见到人影挥手就会有巴浦洛夫条件反射,决不是七分钟前训练出来的),只关注隐约的印象,不要太过于深究细节和合理性,bang,整个世界都好了,很幽默。<br><br>我用同样的方法看《破产姐妹》也很好。当年流行过的《学习的革命》《给加西亚的信》《少年派的奇幻飘流》如果我能持这样的态度,估计读起来也会顺畅很多。<br><br>但是并非所有的作品都适合这种骑马观花一样的心态,那些需要拿来真正干活儿的知识,松懈不得。可惜有些人读什么都是"在这个夏天,我度过了人生中难忘的一段,读到了如此感人的作品",除了感觉,别无其他留下。当然,还有,可以吹嘘,比如我读过《飘》《乱世佳人》《呼啸山庄》《简爱》《傲慢与偏见》《瓦尔登湖》。然后呢,这些作品的细节你还记得哪些,这些作品改变了你的什么品质和观点,能背诵一段出来也陶冶一下我的情操么?注: 我举例这些女性喜欢枚举的作品决不是男权思想,而是因为男性通常连这些都不读,甚至连篇名都不知道。<br><br>3.<br><br>当年本科一年级,大家在宿舍吹牛,不记得怎么就说到了希特勒。我就说,希特勒他不是德国人,他出生在奥地利,就像拿破仑出生在科西嘉岛,那时候科西嘉属于意大利。有人使用了群嘲技能,我被各种嘲笑。<br><br>第二天,我去图书馆借来《第三帝国的兴亡》,指着其中的某行给那位最坚定不相信我的同学看。他先是奇怪我为什么举本书给他看,然后是大度地说,"哎呀,你还这么当真啊",中间唯独没有原来如此的表情。<br><br>不少人读书是这位同学的态度,忘了就忘了,能怎么样呢。另有不少人读书 (或者读摘要)是我当时的态度,你看这个你又不知道吧。<br><br>忘了就忘了的态度,我在科幻作者中见到不止一例。参加科幻的笔会,我带着对那些作品景仰的心去的,每遇到一位作者就巴巴地说,"我读过你的某某篇,那一段太感人啦,那个人物我太喜欢啦"。好几位作者对我说,"我不记得了啊,因为我写过好几个版本,发表的时候都不知道是哪个版本了。"我信以为真,直到遇到潘海天先生。我非常心潮澎湃地对他回忆了他写的斩蛟一段场景,他很淡淡地说,"大家都是作者,你不用这样。"然后奇怪的说,"这段发表的时候删了,你在哪看到的?"我在清韵论坛上看到的。他是我见到的科幻作者中第一位记得自己写过什么的,刘慈欣先生也记得自己写过些什么。<br><br>有些作者没有忘记自己写了什么,甚至比读者记得的更多。我拜见《构建之法》作者邹欣先生,说了我在教学和工程中的一些困惑。其中有几个问题解答时他提到,就在书里的某某处作过讨论,有一处甚至引用了一下原文。面对这样的作者/读书人,我不敢奢谈我读过。因为当时还有我以前的一位学生在场,我回顾了一个故事的细节,用来说明软件工程中的沟通困难。我讲完以后,邹欣老师补充说,这个故事出自 Malcolm Gladwell。我特别担心他接着说,你哪里哪里还讲错了。你精确地记着,才能说读过了。<br><br>当年我跟 Lars 教授讨论 Applying UML and Patterns 的教学体会,他委婉地指出,如果你仔细读的话,就会注意到领域模型和分析模型不是一回事。语气坚定到我不敢辩驳,只能感谢指点,我回去再仔细看看核对一下。相信他当时就是我面对某些同学瞎说教材骗人时的感觉--你真的读过书么?站在他对面的我的感觉要好得多,谢谢赐教,令我知道自己的无知,才能进步。<br><br>作为人群的分界线,除了忘了就忘了的态度,另一类是你看这个你又不知道吧,就是当初显摆知道希特勒的我的那种。摆出一大堆 (自以为) 你不知道的细节,以显示众人皆醉我独醒。比如,吾生也有涯而知也无涯 的后面还有半句,国民党在抗战正面战场中的作用被抹杀了,阿拉伯在中世纪非常发达--然后得出结论咱们都被课本害了。只有你被课本害了,不包括我。我清楚记得,你显摆的这些在课本里本来就有,吾生也有涯那段,在课本的脚注里提到了出处,还提到了后半句;抗战正面战场,我们的课本里有血战台儿庄,还配了某位将军的肖像插图,蔡廷锴和蒋光鼐的名字,在历史课本的八一宣言那节附近,不知道你学的什么课本;阿拉伯在中世纪对西方文化的保留,在奥斯曼土耳其一章里有。<br><br>另一种知识,汉字中笔画最多的是 齉,读作 nang,四声,36画,你知道么?我特别希望你回我一句,有用么。<br><br>4.<br><br>我有一次请教 Johan Lilius 教授一个性能相关的设计框架问题,该问题困惑了我不止一年。他一共回答了两点。第一点,他问我,你的显示器刷新频率是多少?我说,60Hz吧,怎么了。他说,你的程序为什么要比显示器刷新更快呢。我一拍大腿,对啊。他回答的第二点,说,"你等会"然后就开始翻笔记本电脑,过了一会给我一篇论文,说你看看就明白了。我一看,80年代的,再看内容,解决了我的困难/告诉我不必再沿此路继续。<br><br>我指着那篇文章说,老师啊,这太让人生绝望了。我想了这么多年解决不了,而1987年 (或者1986)年人家都写成论文了。他说,博士学习是这样的,你要阅读大量的文献,要了解别人做了哪些工作。我的导师牛老师和马老师也这么教导过我,只是我没有这么实践而已。<br><br>自觉站在一群俗人中间,以为自己不同于俗人,但是也只读着俗人的书,做着俗人的事,却寄希望于有超出朋侪的观点。这多么不现实。有些女性每天读着《小时代》以及诸如此类的情感糖块,幻想自己是世界的中心宇宙的未来,只等霸道总裁发现自己的美丽;有些男性读着周易、佛学、基督,长篇大论指出世界该当如何发展,如果中国/亚洲/世界按他那么整指定就好了。反正又不付出什么代价,大不了到头来一句,"啊呀我记错了"或者"肯定是你理解执行还有问题"。<br><br>如果说见识少的结果只是孤独,孤芳自赏就是另一个层次了。<br><br>5.<br><br>当年我有个学生是基督徒,她跟同学们谈起一些事迹和理论,我提醒 你某个地方可能记错了啊,补充某处如何如何。她说,老师你又不信,为什么会知道这些呢。<br><br>我当时有开玩笑的意思,"就是等着遇到像你这样信的人,然后指出你说错了啊。"<br><br>我现在有时会沉默,觉得你高兴就好。有时,我会站出来说,你别瞎扯了,你说的那些我们也知道,但还是得出了不同的结论。当我出声的时候,我想到的是邹欣、刘慈欣、潘海天、Johan Lilius、Lars 这些人。我向他们学习,像他们帮助我那样,也告诉你,1.并非所有的人都和你周围的人一样,你只是见得少;2.你可能和你周围的人并没有什么差别,得看得更仔细一些;3.你真的确信并敢于声称你读过某本书么?<br><br>仰之弥坚。<br><br>有时,吾生也有涯很令人绝望,到死也读不完也读不到那种程度,活着还有什么意思;有时,想想这样也很好,还有那么多书没有读那么多道理没有懂那么多细致的义理没有参透,怎么舍得去死。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="https://younggift.net/">https://younggift.net/</a>] 悄然换成了https,再次感谢高博先生<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br><br>我读书少,不敢妄谈读书,更不敢讨论层次。只不过还是因为读书少这个原因,想不出来别的文字,题目才取此下策。我只想讲几个故事。<br><br>1.<br><br>因为家里没有几本书,我小学三四年级的时候开始经常去市图书馆。图书馆的大部分不对少年儿童开放,只有两处除外。一处是少儿外借,以童话和科普为主,没有习题集,另一种只能在阅览室里看,花花绿绿的少儿杂志。我当时对少儿杂志颇为不屑,觉得怎么那么幼稚呢,都是大人模仿孩子说话,内容明显骗人,感觉作者以为你很弱智的样子。所以我大多数时候只读外借的那些,觉得自己很与众不同的样子。想借大人的书,不让。<br><br>这正是当今不少成年读书人的写照。就是那种感觉,我很孤独,我的观点如此帅呆,我如此卓而不群,与传说中的萨特叔本华尼采有得一拼,只是现在还没有成名罢了,你们这群盲人。也不是一样一样的,相去不远也。<br><br>现在的你当然一眼就看出来我当年的幼稚了,三四年级的孩子中的一个孩子,不过如此。<br><br>很多时候,孤独仅仅因为视野狭窄,没有找到同路人,没有看到引路人。我至今经常为想到某个观点沾沾自喜,后来发现早有人提出,而且深刻得多,完备得多。说来还是见识少。如果多些这样的打击,孤独感顿消,在古今了不起的思想中,你我的看法连渺然众矣的资格怕都没有。某些人的"祖上早已有之"也在此列,包括莱布尼兹的二进制即我周易之阴阳,包括康德的道德不就是己所不欲勿施于人么,那都是你的肤浅理解。肤浅二字,正是字面含义,不是替你自谦。<br><br>2.<br><br>前一段王宝强新闻,有人提到在《唐人街探案》中早有伏笔。我怎么也想不起来,几经启发还是毫无印象。后来到douban上找剧照,才一拍脑袋,啊对对对。有些电影电视情节,看了就忘,甚至连"不好"二字的评价都没有印象。当年李记者、小刘同学大力推荐 The Big Bang Theory,我看了半集实在难以继续。后来跟Johan Lilius 教授提起这剧集,他说,不错。我说,是么,如果你推荐的话倒是值得再试一次啊。他笑着补充,看的时候记着把脑子关掉一会儿。我试了,果然灵验。如果你只保持那么几分钟的记忆 (金鱼七分钟记忆是扯淡,你喂过就知道,它们见到人影挥手就会有巴浦洛夫条件反射,决不是七分钟前训练出来的),只关注隐约的印象,不要太过于深究细节和合理性,bang,整个世界都好了,很幽默。<br><br>我用同样的方法看《破产姐妹》也很好。当年流行过的《学习的革命》《给加西亚的信》《少年派的奇幻飘流》如果我能持这样的态度,估计读起来也会顺畅很多。<br><br>但是并非所有的作品都适合这种骑马观花一样的心态,那些需要拿来真正干活儿的知识,松懈不得。可惜有些人读什么都是"在这个夏天,我度过了人生中难忘的一段,读到了如此感人的作品",除了感觉,别无其他留下。当然,还有,可以吹嘘,比如我读过《飘》《乱世佳人》《呼啸山庄》《简爱》《傲慢与偏见》《瓦尔登湖》。然后呢,这些作品的细节你还记得哪些,这些作品改变了你的什么品质和观点,能背诵一段出来也陶冶一下我的情操么?注: 我举例这些女性喜欢枚举的作品决不是男权思想,而是因为男性通常连这些都不读,甚至连篇名都不知道。<br><br>3.<br><br>当年本科一年级,大家在宿舍吹牛,不记得怎么就说到了希特勒。我就说,希特勒他不是德国人,他出生在奥地利,就像拿破仑出生在科西嘉岛,那时候科西嘉属于意大利。有人使用了群嘲技能,我被各种嘲笑。<br><br>第二天,我去图书馆借来《第三帝国的兴亡》,指着其中的某行给那位最坚定不相信我的同学看。他先是奇怪我为什么举本书给他看,然后是大度地说,"哎呀,你还这么当真啊",中间唯独没有原来如此的表情。<br><br>不少人读书是这位同学的态度,忘了就忘了,能怎么样呢。另有不少人读书 (或者读摘要)是我当时的态度,你看这个你又不知道吧。<br><br>忘了就忘了的态度,我在科幻作者中见到不止一例。参加科幻的笔会,我带着对那些作品景仰的心去的,每遇到一位作者就巴巴地说,"我读过你的某某篇,那一段太感人啦,那个人物我太喜欢啦"。好几位作者对我说,"我不记得了啊,因为我写过好几个版本,发表的时候都不知道是哪个版本了。"我信以为真,直到遇到潘海天先生。我非常心潮澎湃地对他回忆了他写的斩蛟一段场景,他很淡淡地说,"大家都是作者,你不用这样。"然后奇怪的说,"这段发表的时候删了,你在哪看到的?"我在清韵论坛上看到的。他是我见到的科幻作者中第一位记得自己写过什么的,刘慈欣先生也记得自己写过些什么。<br><br>有些作者没有忘记自己写了什么,甚至比读者记得的更多。我拜见《构建之法》作者邹欣先生,说了我在教学和工程中的一些困惑。其中有几个问题解答时他提到,就在书里的某某处作过讨论,有一处甚至引用了一下原文。面对这样的作者/读书人,我不敢奢谈我读过。因为当时还有我以前的一位学生在场,我回顾了一个故事的细节,用来说明软件工程中的沟通困难。我讲完以后,邹欣老师补充说,这个故事出自 Malcolm Gladwell。我特别担心他接着说,你哪里哪里还讲错了。你精确地记着,才能说读过了。<br><br>当年我跟 Lars 教授讨论 Applying UML and Patterns 的教学体会,他委婉地指出,如果你仔细读的话,就会注意到领域模型和分析模型不是一回事。语气坚定到我不敢辩驳,只能感谢指点,我回去再仔细看看核对一下。相信他当时就是我面对某些同学瞎说教材骗人时的感觉--你真的读过书么?站在他对面的我的感觉要好得多,谢谢赐教,令我知道自己的无知,才能进步。<br><br>作为人群的分界线,除了忘了就忘了的态度,另一类是你看这个你又不知道吧,就是当初显摆知道希特勒的我的那种。摆出一大堆 (自以为) 你不知道的细节,以显示众人皆醉我独醒。比如,吾生也有涯而知也无涯 的后面还有半句,国民党在抗战正面战场中的作用被抹杀了,阿拉伯在中世纪非常发达--然后得出结论咱们都被课本害了。只有你被课本害了,不包括我。我清楚记得,你显摆的这些在课本里本来就有,吾生也有涯那段,在课本的脚注里提到了出处,还提到了后半句;抗战正面战场,我们的课本里有血战台儿庄,还配了某位将军的肖像插图,蔡廷锴和蒋光鼐的名字,在历史课本的八一宣言那节附近,不知道你学的什么课本;阿拉伯在中世纪对西方文化的保留,在奥斯曼土耳其一章里有。<br><br>另一种知识,汉字中笔画最多的是 齉,读作 nang,四声,36画,你知道么?我特别希望你回我一句,有用么。<br><br>4.<br><br>我有一次请教 Johan Lilius 教授一个性能相关的设计框架问题,该问题困惑了我不止一年。他一共回答了两点。第一点,他问我,你的显示器刷新频率是多少?我说,60Hz吧,怎么了。他说,你的程序为什么要比显示器刷新更快呢。我一拍大腿,对啊。他回答的第二点,说,"你等会"然后就开始翻笔记本电脑,过了一会给我一篇论文,说你看看就明白了。我一看,80年代的,再看内容,解决了我的困难/告诉我不必再沿此路继续。<br><br>我指着那篇文章说,老师啊,这太让人生绝望了。我想了这么多年解决不了,而1987年 (或者1986)年人家都写成论文了。他说,博士学习是这样的,你要阅读大量的文献,要了解别人做了哪些工作。我的导师牛老师和马老师也这么教导过我,只是我没有这么实践而已。<br><br>自觉站在一群俗人中间,以为自己不同于俗人,但是也只读着俗人的书,做着俗人的事,却寄希望于有超出朋侪的观点。这多么不现实。有些女性每天读着《小时代》以及诸如此类的情感糖块,幻想自己是世界的中心宇宙的未来,只等霸道总裁发现自己的美丽;有些男性读着周易、佛学、基督,长篇大论指出世界该当如何发展,如果中国/亚洲/世界按他那么整指定就好了。反正又不付出什么代价,大不了到头来一句,"啊呀我记错了"或者"肯定是你理解执行还有问题"。<br><br>如果说见识少的结果只是孤独,孤芳自赏就是另一个层次了。<br><br>5.<br><br>当年我有个学生是基督徒,她跟同学们谈起一些事迹和理论,我提醒 你某个地方可能记错了啊,补充某处如何如何。她说,老师你又不信,为什么会知道这些呢。<br><br>我当时有开玩笑的意思,"就是等着遇到像你这样信的人,然后指出你说错了啊。"<br><br>我现在有时会沉默,觉得你高兴就好。有时,我会站出来说,你别瞎扯了,你说的那些我们也知道,但还是得出了不同的结论。当我出声的时候,我想到的是邹欣、刘慈欣、潘海天、Johan Lilius、Lars 这些人。我向他们学习,像他们帮助我那样,也告诉你,1.并非所有的人都和你周围的人一样,你只是见得少;2.你可能和你周围的人并没有什么差别,得看得更仔细一些;3.你真的确信并敢于声称你读过某本书么?<br><br>仰之弥坚。<br><br>有时,吾生也有涯很令人绝望,到死也读不完也读不到那种程度,活着还有什么意思;有时,想想这样也很好,还有那么多书没有读那么多道理没有懂那么多细致的义理没有参透,怎么舍得去死。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="https://younggift.net/">https://younggift.net/</a>] 悄然换成了https,再次感谢高博先生<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-25181403553147661022016-09-12T20:39:00.001+08:002016-09-12T20:39:40.044+08:007个少根筋的笑话<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLU4Sfc3XVF3c0c36McUfNOYdyXYFVnRtTL61b4L3FvCd-j5CITTk6Q8p39xNxdbFfWcnyn0YVOyrsuX_z1jCtGgq6FvmUEVpXCXAiMNucm3-LOoUpGEsfalneRfuYV5YsgTRQol2dqEY/s1600/IMG_5334-780045.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLU4Sfc3XVF3c0c36McUfNOYdyXYFVnRtTL61b4L3FvCd-j5CITTk6Q8p39xNxdbFfWcnyn0YVOyrsuX_z1jCtGgq6FvmUEVpXCXAiMNucm3-LOoUpGEsfalneRfuYV5YsgTRQol2dqEY/s320/IMG_5334-780045.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_6329424505553367778" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiY624JiHNjKWvHE-T9vqKTjcPqKkwXTFvusk8d_3EYSzpUvLR5bIo-eM2bxrGimms8CY-FwFOGiN5CeqbfU9wvGg2XIaUYK7coEMP7nqlvsmLvQ5V7v0Vs5CKNtuCwY9xv_Wi3DTUKjA/s1600/IMG_5501-781979.PNG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiY624JiHNjKWvHE-T9vqKTjcPqKkwXTFvusk8d_3EYSzpUvLR5bIo-eM2bxrGimms8CY-FwFOGiN5CeqbfU9wvGg2XIaUYK7coEMP7nqlvsmLvQ5V7v0Vs5CKNtuCwY9xv_Wi3DTUKjA/s320/IMG_5501-781979.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_6329424512549935922" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc84nluNM73BHxFyDTvKT8SKfE-klPq9CA0yarO8-qU6_kfSAbLdpYaWa5gY5wfreSCNjWejHGGQmiBMD6OyFpC0sVYWnMKi-25HCJsqujUu4tmTrEgTxcdhdMtOTJz1l0mrC_i3Q4jQo/s1600/IMG_5509-783848.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc84nluNM73BHxFyDTvKT8SKfE-klPq9CA0yarO8-qU6_kfSAbLdpYaWa5gY5wfreSCNjWejHGGQmiBMD6OyFpC0sVYWnMKi-25HCJsqujUu4tmTrEgTxcdhdMtOTJz1l0mrC_i3Q4jQo/s320/IMG_5509-783848.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_6329424520721415490" /></a></p><div dir="ltr"><br><br>1.李记者第一次跟我提他有个朋友在兰博基尼工作,我问,"那是什么玩意?"<br><br>2.被提醒去日本过海关要是有假货会被没收,我问,"有个耐克/啊迪,看价格应该是假的,是不是不行。"老师说,"这种没事,LV啥的才不行。"我又问,"LV是什么。"<br><br>3.新闻说,"不喝茅台难道喝拉菲么。"我没问就能猜到,拉菲一定是某种好酒。<br><br>4.出差在外有人说,"现在某司存一万赠一万呐。"我困惑,"我们那儿是存一百赠一百啊。"<br><br>5.当年,我对导师说,"我想跟你学摄影行不行啊?"导师说行啊,然后开始讲各种技术,最后说,"相机最好先整台东海或者凤凰,便宜,坏了不心疼。"我问,"得多少钱呐。"他说,"一两千吧。"我马上说,"那我不学了。"后来导师送我了一台Nikon F3,我学了好几胶卷,然后珍藏着,有人想买也不卖。老外问我,你喜欢摄影啊,咋学的,我说,"用Nikon F3学的,我的第一台相机。"他表情很夸张,我想他一定认为我是富二代。<br><br>6.跟一位黎巴嫩的同学同办公室,印象里黎巴嫩总打杖,就问,"你们上一次战争是啥时候?"他说,"上周五。"<br><br>7.还是这位黎巴嫩,我问他,"你们阿拉伯人真的能娶四个媳妇么?"他笑,"你是不是觉得特别好?""没有,我就是好奇。"他大笑,"你是不是觉得特别好?""没有,我就是好奇。""哈哈,在我们那儿,你根本连一个媳妇也娶不到。""为啥?""因为你没钱。"<br><br>8.用微博,关注了叶卡编辑强烈推荐的邹欣老师,据说很多优秀信息。结果我发现邹欣老师已经将近一年没发消息了。最近某天为了用某个APP发微博,把微博APP升级了,瞬间发现,原来邹欣老师一直在发,只是我的APP版本太低,看不到。<br><br>9. 转了同事发的照片到某群里,内容是某团队纳新,3份申请的学生们填写的计划和心愿。群里某人提醒我,上面还有姓名和电话呢,太不尊重学生隐私了吧。对啊,我赶紧把照片上面的敏感信息都涂掉,然后发到群里了。这时发现脱敏的那些原照已经不能撤销了。<br><br>以上都是真事,不是笑话,是不是很好笑。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://younggift.net/">http://younggift.net/</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-39682669517774761752016-09-11T20:03:00.001+08:002016-09-11T20:03:51.619+08:00相忘于江湖<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAqrweu7GXp-RT5yloMrYgwuld3PJ8FBlb-XIGEThmpGX3vaq72rgYDyRtClJwlJhJO5QZlkDbXMNuu-zVTXNPGL0BAuacuCedv9hTHAvF6ri8JQZKmLl6RKDK3rY1_NooiQU30FpU77I/s1600/251159608890595519-731620.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAqrweu7GXp-RT5yloMrYgwuld3PJ8FBlb-XIGEThmpGX3vaq72rgYDyRtClJwlJhJO5QZlkDbXMNuu-zVTXNPGL0BAuacuCedv9hTHAvF6ri8JQZKmLl6RKDK3rY1_NooiQU30FpU77I/s320/251159608890595519-731620.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6329044196423505970" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEW6bNJTDM0wxuCdMPelZqlCkQAOVtQwJQmi8hCepn6uV3OVX99ESr0Lta2_dXkvulGyJrJsuFfiIyZXr6eh-cmPeERSZhSdm0cQzAx_VpbNs1M8PkkMZ5F5rWdB_1ukdFppt5Lwf8tM0/s1600/412470264993999120-734980.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEW6bNJTDM0wxuCdMPelZqlCkQAOVtQwJQmi8hCepn6uV3OVX99ESr0Lta2_dXkvulGyJrJsuFfiIyZXr6eh-cmPeERSZhSdm0cQzAx_VpbNs1M8PkkMZ5F5rWdB_1ukdFppt5Lwf8tM0/s320/412470264993999120-734980.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6329044208736445042" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbJQI0LaKZ-vu0rJNmM648XND7uAMOhxqN59YZbpLryXu6mY1z2N443YRa14ODpzEdmmPUzmVeh2gTWqnZNeWg59DZrIZc5LHUi4LUleV_N-Pzz6M5ItyulaPaPWO_W8YVPjY0b9Gk1-Y/s1600/472934461456471054-738078.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbJQI0LaKZ-vu0rJNmM648XND7uAMOhxqN59YZbpLryXu6mY1z2N443YRa14ODpzEdmmPUzmVeh2gTWqnZNeWg59DZrIZc5LHUi4LUleV_N-Pzz6M5ItyulaPaPWO_W8YVPjY0b9Gk1-Y/s320/472934461456471054-738078.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6329044218255716258" /></a></p><div dir="ltr">一年一度教师节,以及各种节日,同学们都要向导师表达敬意。表达敬意途径之一,是向导师献花,大家集钱买一束一篮或者一果盘,搬导师办公室去,导师好像儿女归省,很有面子的样子。<br><br>也有同事抱怨,"你看某某专业的学生啊,给每门课的老师都送了花,咱们的学生,啧啧。"还有的担心,这样的学生以后到社会上怎么能吃得开呢。我们这里文理混杂,理工科的学生相比人文类的,木讷有余,确实情商智商均低的样子。我开玩笑说,"你真想收礼物啊,那简单,你得'念央儿'。"'念央儿'我以为是东北方言,别的地方不知道怎么说,此处大体是在班级上很高兴地说,"某某届同学对我可好啦,还有谁谁和谁谁也是,给我一大筐鲜花,办公室都摆不下啦。"同事说,"我哪敢,那不得被投诉啊。"我哈哈大笑,"老师都是这样的,期待学生会有什么不同?"<br><br>除了教授知识、提供训练指导这类义务,教师对学生并无任何权利。<br><br>我的导师马老师收到果篮以后,就把同学们留下,请他们把果篮搬走分吃了,然后再给补几百块钱,"你们去喝酒庆祝一下吧,我就不去了,免得你们拘束。"<br><br>我的导师牛老师讲过另一个故事,差不多的寓意。他去芬兰的时候,合作的教授阿里依瓦斯卡亲自开车接机。牛老师说,"派你的学生来不就行了嘛。"阿里教授说,"他们是我的学生,接你是私事,我没有权利让他们做。"<br><br>牛老师讲这个故事的时候,我还没有毕业,并且从此开始领教每次吃饭只有导师可以付钱。毕业以后终于一次有机会我来请客,而且事先说好了,临期末了导师又要执意他买单。我急了,说,"这顿你要是不让我请,今天我就不吃了/以后永远不和你吃饭了。"这才得逞。<br><br>我本科的导师李老师教导过我,如果你收了学生的礼物,学生心里就会看不起你。<br><br>我的导师们都是这么做并且这么教导我的,我也尽力模仿。按中国的习俗,如果我对学生们说,"你们千万别给我送礼啊",这就会被理解为鼓励甚至督促。所以我演示。当偶有同学送我东西时,我一概问明价格,"因为买礼物送给你需要花时间,你又不一定喜欢,真是困扰我,所以我原价照付。"如果你不告诉我价格,我只好搜索,然后估算。凡是领毕业证之前,哪怕一天,我们都是师生,这一点你就只好服从我。<br><br>毕业以后的学生,我也极少跟任何其他同学提到他们送过我什么。事实上有不少,如果我一直不说,你们可能会以为严苛的老师同学们一定记恨一生。计有明信片,咖啡、杯子、勺子,印章,各种坚果,刚毕业时花大价钱买的我现在还没有穷尽玩法的玩具,花束,诸如此类的,亲自送来或者快递。<br><br>我之所以极少提到,是有原因的。当你鼓励的时候就是评价,即使正面评价的时候也一定包含对不同行为的贬低。佛教徒说,我本人不吃肉,我并不反对你吃肉,不过你修行到一定程度的时候,一定就不吃了。合理的推论就是: 你的修行不够,吃素是更好的,因此你不是"更好"的。所以,大张旗鼓地宣传学生对导师如何好,无异于鼓励这种行为,并否定其他同学。前几天我偶然提到某以前的学生送我啥啥之后的故事,一位没毕业的同学就私聊微信提到,限于我的规则所以啥也不能送我,只好努力干活云云。L哥,我讲那个故事的重点完全是后半截的情节,你心思太重了也。<br><br>我不期待跟你们建立任何超出知识和经验传递以外的关系,所有后来结下的情份都是我们一起战斗互相战斗产生的战斗友谊。仅仅这样,已经很好。我不希望你我之间产生任何人身依附,只有同生共死才能有人身依附,而你承担不了与我生死与共的负担。超出知识和经验传递以外的关系,这也包括没有能力向你提供道德训诫和演示。<br><br>前几天读到的一个小故事,作者说,流浪猫送给喂他食物的人一些小猎物,老鼠、鸟、兔子,并不是认为"人类太笨,不能养活自己",而是对他的爱--基督教意义中的爱你的邻人和爱你的亲人的相同的那种爱。这种爱就像两个侠客在江湖行走,偶尔小聚喝杯淡酒,聊聊人生和别后的际遇,比比剑法,然后"'今番良晤,豪兴不浅,他日江湖相逢,再当杯酒言欢,咱们就此别过。'"没有虚假的思念,也没有"有时间喝酒啊""一定一定",能相聚时自然相聚。<br><br>我希望,咱们就是这样,相忘于江湖。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://younggift.net/">http://younggift.net/</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-88203156395135363902016-08-15T22:27:00.001+08:002016-08-15T22:27:56.577+08:00继续背单词,8个月过去了<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVkbQPvhEcYehB3twXg7j8fr7Vs8Tb9A8Yuslyy8Lh-gkzCDiHRCvDXYZHAGH6fP1mkailEisKlV5yZSeSmm3sg0HONom9vUwCY91ThplmFix7D3LjPxrMN_34IWEgEDxovpXKtF2IHQs/s1600/249428053735204532-776578.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVkbQPvhEcYehB3twXg7j8fr7Vs8Tb9A8Yuslyy8Lh-gkzCDiHRCvDXYZHAGH6fP1mkailEisKlV5yZSeSmm3sg0HONom9vUwCY91ThplmFix7D3LjPxrMN_34IWEgEDxovpXKtF2IHQs/s320/249428053735204532-776578.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062023470682898" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh346USmkYBaagMkP536K06nZtEq-YR73u07LFjSbULtvFgAcMikvU3oOgyTRh0_NgteqRBHDPc4dRuNT6gOP6QqpRfiekLEGCvORe6jdp4uE4bLyFExv3L2eR62A6L5U42wuU1DXswVSA/s1600/281771869616657326-779397.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh346USmkYBaagMkP536K06nZtEq-YR73u07LFjSbULtvFgAcMikvU3oOgyTRh0_NgteqRBHDPc4dRuNT6gOP6QqpRfiekLEGCvORe6jdp4uE4bLyFExv3L2eR62A6L5U42wuU1DXswVSA/s320/281771869616657326-779397.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062034973919298" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_NEeKmogNetvSPJbay7UWHk_SQtlDDYfKJfIy95PRk8cAXu7HJ8kpyGL2ZCMii1plwj205fPx0lIyG2yy8LeqwDeKgkCDL0CxmGSXxHjliiXa2TyhnvlFO2aaN_Q3W2hOQMcLOcphQ7E/s1600/371946024317289427-781819.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_NEeKmogNetvSPJbay7UWHk_SQtlDDYfKJfIy95PRk8cAXu7HJ8kpyGL2ZCMii1plwj205fPx0lIyG2yy8LeqwDeKgkCDL0CxmGSXxHjliiXa2TyhnvlFO2aaN_Q3W2hOQMcLOcphQ7E/s320/371946024317289427-781819.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062046357802466" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoUnnYZ2zaxxwGYrHziOTLuSBpKoKyyy54CkGvQbbzhEsKU8LcCieLASy-_X_9nzRpm5bz9MzP-Er4q-YP9L6E1x5JgEV25I7paA4zxi1G-A2DDpEoQYmkkPgVe_2T9eTHwLaZcjgShg/s1600/439853597373071395-784251.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLoUnnYZ2zaxxwGYrHziOTLuSBpKoKyyy54CkGvQbbzhEsKU8LcCieLASy-_X_9nzRpm5bz9MzP-Er4q-YP9L6E1x5JgEV25I7paA4zxi1G-A2DDpEoQYmkkPgVe_2T9eTHwLaZcjgShg/s320/439853597373071395-784251.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062054150639314" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwuTqwVZ9ca2t05DuuLtIy07pcw02ywDsIUIJrNe3B1bxbgbRgBVthymkt_isakvuayRNY3HxtbAJrP0Gk_hA3Yy47dhrLH8biLLkWwoS32MNN9nUWxnrvEShm2WQNFXJr33sw5hP6Dw/s1600/475953298344451274-786633.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIwuTqwVZ9ca2t05DuuLtIy07pcw02ywDsIUIJrNe3B1bxbgbRgBVthymkt_isakvuayRNY3HxtbAJrP0Gk_hA3Yy47dhrLH8biLLkWwoS32MNN9nUWxnrvEShm2WQNFXJr33sw5hP6Dw/s320/475953298344451274-786633.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062065527758178" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEIj2fNknEmX5rUguVUVu50J25jlw9oo-Km0IcKEj8qK1FadGCfx9I6qQbYgjyO4HP4dLVzRaDfWW1x4IVE9AQynUp0SZwJUYMzMJOHT6fL5Jpa5M6b6fAwmLgW8RnxYLQh0ZzIi0bwkw/s1600/519939632509498442-789200.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEIj2fNknEmX5rUguVUVu50J25jlw9oo-Km0IcKEj8qK1FadGCfx9I6qQbYgjyO4HP4dLVzRaDfWW1x4IVE9AQynUp0SZwJUYMzMJOHT6fL5Jpa5M6b6fAwmLgW8RnxYLQh0ZzIi0bwkw/s320/519939632509498442-789200.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062076580721490" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisrFdvCbxM6H3I9YA4-Ekd-I_IwJB_MGglROnjcAmmGYwI7GAlI7fjBljuUGc3a63pZIGQ1ft3qrYxiwy0-EjzKcTcgEfEsZ6rSqCudgte6vsDRL5CbdaNHZ1jXTGoU07zy8XqMTRxTWA/s1600/725732918178518183-791671.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisrFdvCbxM6H3I9YA4-Ekd-I_IwJB_MGglROnjcAmmGYwI7GAlI7fjBljuUGc3a63pZIGQ1ft3qrYxiwy0-EjzKcTcgEfEsZ6rSqCudgte6vsDRL5CbdaNHZ1jXTGoU07zy8XqMTRxTWA/s320/725732918178518183-791671.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062090457286722" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1m3lLjmGuMym4dfcWaOFnHoRgn3NlVVC1qy4GuvExV2lB7EvgTru0EBg3P3677sSRnaMPxSZFnMrqDv7-QPERy2KudEUtDqlorrfCZMAFqPjoeggkrbr0FF9lTI9875_7RTsMyJVeRyQ/s1600/865106733758962013-794149.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1m3lLjmGuMym4dfcWaOFnHoRgn3NlVVC1qy4GuvExV2lB7EvgTru0EBg3P3677sSRnaMPxSZFnMrqDv7-QPERy2KudEUtDqlorrfCZMAFqPjoeggkrbr0FF9lTI9875_7RTsMyJVeRyQ/s320/865106733758962013-794149.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6319062096972813922" /></a></p><div dir="ltr">继续背单词,8个月过去了<br><br>8个月前,我在用百词斩背单词。当时背了49天,完成了托福、托福核心、GRE3000几本书,单词量测试从5000~8000上升到11000左右。向大家推荐[<a href="https://zhuanlan.zhihu.com/p/20468330?refer=younggift]">https://zhuanlan.zhihu.com/p/20468330?refer=younggift]</a>了百词斩以后,我没有停止,而是继续背单词。<br><br>现在,我使用百词斩背了230天,8个月前的时间消耗只是至今的五分之一。之后我还使用 扇贝 背单词,一个更严厉 (反复复习考核、进度更缓慢) 和没有图片和视频的 (有声音)的不幽默的APP。使用扇贝至今188天,也远过了8个月前的持续49天,那时我觉得49天已经很是漫长。<br><br>只是那个时候还没有想到,49天之后有更加漫长的历程。我想起小学时读过的一段文字,说一位日本作家患了癌症,还有一年半的生命,写了本书叫做《一年有半》。有人说只有这么短的生命还写什么书,难道不应该去享受人生么。这位作家说,与无限长的死亡相比,有限的人的生命无论多么漫长也只是一瞬。我们感觉到的此刻的漫长,不过是因为还没有见到更漫长的所在。<br><br>百词斩因为进度太快,背完托福以后进入GRE,很多单词是我从来没见过的,维持速度的结果是记得不牢,等复习和测试的时候学习效果非常糟糕。1月1日完成GRE这本书的学习以后,为了巩固我设置了30天复习,结束以后又设置了30天、100天复习。每一次,我都在想,30天、100天,这么长,啥时候能整完呐。类似的,为了精细点学习,我开始 扇贝,那是2月4日。每天只能学习150个单词,其中新词25个,预计结束学习时间是7月28日。在1月1日看100多天,在2月4日时看7月28日,非常遥远。最终这些漫长的时间都已经过去了。<br><br>前些天开会,巧遇出国英语培训的高老师。我兴奋地报告,"老师我向您汇报一下,我背单词现在测单词量达到1万8啦,我背新概念第二册……",老师接着说,"全背完啦?"我说,"没有,背了从55课到92课啦。"老师说,"现在是还有出国机会是吧?"我同保持着兴奋响亮地回答说,"没有。"<br><br>不是为了现世的功利,只是补课以前落下的作业。以前看到有人说,GRE单词并不是什么高大上,而是英美的严肃日常中经常出现的词汇,我没有信;以前看英文小说的时候,跳过大段的景物或人物服饰或对话,觉得无聊 (中文小说我并不会跳过)。当背单词到某个阶段的时候,渐渐发现,小说和严肃课本中,都经常现出GRE词汇,GRE词汇就是常用词汇,渐渐发现,那些我跳过的内容,正是文章的精华之不可或缺的部分。<br><br>有时候我会感觉非常后悔,如果当年更努力一些,早一些拥有现在的词汇量,应该可以看到多少错过的风景。人生苦短,早些开始,早些受益。<br><br>我现在所花费的200多天,是我的一些同学当年就已经花费过的--而且不会短很多。在2月初看到7月末的时候,我被这么多个月震惊了,那就是从寒假看到暑假了啊。如果我被那时的漫长天数吓住没有开始,此刻,也还会有200多天在等着我。<br><br>总天数是降不下来的。如果降总天数,只有提高每天的工作量。每天一组百词斩然后150个单词扇贝的工作量并不小,有相当一段时间,我每天要花费1个小时。再增加时间,不是身体吃不消,就是老板们要愤怒。事实上,我见过同学们通过四级六级研究生英语,他们也都花费了100天或者几百天。在这么漫长的时间段里,就像马拉松一样,我甚至失去了突击的兴趣。有那么几天,我一天背下几天的单词量,然后在接下来的几天发现很快又忘记了,所以突击毫无值价。记忆和遗忘的规律限制我,突击无益,只有稳定而缓慢地前进。更重要的是,想想还有一二百天,突击这么三五天,又有什么意义,毕竟没有能力就这么一路突击下去。这种突击我甚至进行了好几次,每次兴致勃勃地开始最后灰心丧气地结束。但是这也没有什么负面影响,和三位数的天数相比,那些失败的尝试也只是战斗的伤疤,并带不来致命的影响。和漫长的时间相比,任何短期的成败在全局中都影响甚微。唯一影响巨大的,就是持续的时间。<br><br>在这段时间里,我也有过很多次动摇。我经常在夜深人静的时候,背完马上开始的这个今天的份额,然后开始质疑自己的动机和意义,"我这是图的什么呢?我多大多大年龄了,我再也不需要英语考试了,我有诸多理由不做这件事。"我安慰自己,如果此刻不背单词,就有更头疼更难办的任务等着。没错,另外一些甚至不知道如何开始的任务的压力是我开始并保持背单词的重要原因。我安慰自己,期待单词量2万的那天,期待 扇贝承诺的,开启看另一个世界的眼睛的时刻。我安慰自己,反正今天还剩3/4就背完了,还有1/3,还有20个。我发现自己醒过来,手指无意识地划错了好几个单词,刚刚睡着了,然后我靠在椅背上把一条腿直腿抬起,让自己更清醒一些,然后开始背下一组。<br><br>并不是有意想折磨自己,如果不是午夜开始,白天之繁忙可能让我根本没有时间背单词吧。<br><br>最令人沮丧的并不是时间的消耗,而是成绩上升之缓慢。百词斩GRE3000那本书刚结束的时候,每次测试100个单词,我能错到20多个,1/5。而且错误率长期居高不下,长期有多长,我已发不记得了。后来,错16个,保持了又很长时间,突然有一天,开始下降到错10个以下。然后反复,错多些,错少些。现在,每100个错5个左右,并且保持稳定了。<br><br>测试单词量也不停地波动。在百词斩里,可能由于算法调整,也可能是结果就应该不是非常稳定,单词里在1万以上以后就往复波动,从1万2到1万6来回调制我的喜忧,后来终于稳定地开始上升,1万2,1万4。<br><br>单词量测试一直在波动上升,不波动而是稳定变化的,是每天消耗时间的下降。因为错的数量慢慢变少,因为点击的信心越来越足,从最初的1小时到半小时,到后来十几分钟就能结束战斗。<br><br>单词量追求的目标是扇贝的2万。扇贝最初的测试,因为有百词斩的基础,虽然GRE如此糟烂,但单词量已经1万,有个1万词汇的奖牌。下一个此类奖牌就是2万。背完 扇贝 的GRE巴朗词表 以后,我隔几天就测一次单词量,有时候全对了,单词量也只有1万8多一点,可能随机出现的词汇难度和覆盖范围不同吧。我期待着终于有一天,"嘭"的一声,2万的奖牌就到手了。很多次,快测试结束的时候误操作错了一个。很多次,心跳加速得控制呼吸,又在最后关头出来个从来没见过的单词。很多次,全对,18500,19500,我大叫"你耍赖"。非常平静地又是一次全对,2万,系统送了奖牌。但是我已经不再为奖牌激动了,我得到了更可贵的。<br><br>当我在百词斩和扇贝里看到另一个APP中刚好背过的单词,当我在 冰与火之歌,在 幸福之路,在 Rework,在 Conqueror of the Seas,在诸多教科书里看到那些"刚刚"背完的单词,当我看到有些似乎眼熟,确切意思想不起来,查下词典,"啊,原来是你",这种感觉就像看到多年未见的老友远隔重洋打来电话,然后我一下听出他的声音。<br><br>此生共渡,你是不是偶然也感慨,如果早些相识多些珍惜,就更好了。<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://younggift.net/">http://younggift.net/</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-34704670910249900562016-06-24T00:21:00.001+08:002016-06-24T00:21:15.191+08:00书是进入另一个世界的门径(2)--5篇短书评<div dir="ltr"><br>1. 编程格调<br><br>原著书名为 The Elements of of Programming Style, 胆敢取名 elements 的书还可以一版再版的,都牛得不得了,比如《几何原本》。此书与《几何原本》从几条简单原理推导出整个世界类似,给出若干来自实践的原则和原则应用的案例,如何应用还得你我在实践中参详,像习题集。对于计算机专业短短的历史,这些原则非常古老,书成于FORTRAN流行的时代。但是真正本质的原则往往从行业诞生之日就隐约存在,并不需世事变迁而有所损益,只是等待时间雕琢慢慢让它们清晰起来。比如C语言的成功并不像课本前言中写得那么轻易和简单,超越同时代诸多竞争语言赢得声名和后继影响决非偶然。本书作者之一即是C语言和UNIX创造者之一。<br><br>2. 探索幸福的人--苏格拉底传<br><br>最初他是牧羊少年,跟从导师膜拜太阳,观察父亲雕刻,亲近美丽的恋人,与年轻友人终日游乐。希波战争,他披甲从军为城邦杀敌。战事既毕,父母双亡恋人嫁作他人妇。他终日沉思而无所得。后来,他学习母亲成为智慧的助产师,为伯利克里用父亲的刻刀完成凯旋门上的三女神,形象分别来自舞蹈的快乐的悲伤的同一个人。后来,他和身为僭主的学生斗争,后又因学生而起受审死刑。在判决以后等待行刑的篇章里,我虽然早知结局竟也心存侥幸,期待前往克里特岛的船不能如约而归,用阿波罗的神喻推翻人世的裁决。然后苏格拉底嘲笑所有的愚蠢,也嘲笑我,他说死不过是另一个开始,他说我所关心和引述的所有时间线都不重要,世俗以外的那部分才是真正地活过。<br><br>3. 抚顺故事集、民国了、心殇:我在伪满洲国读书的日子、匠人<br><br>《民国了》讲的是民国以前的人物,讲的是导致满清覆灭民国形成的昏乱大势中的群像,投机的、争利的、夺权的、有勇无谋的、无组织无纪律的,世无英雄竖子成名。其间鳞光片羽的几位旁观NPC的头旁写着醒目的名字: 陈独秀、毛泽东、蒋介石、叶圣陶。所以这是一部前传么?《抚顺故事集》讲的不是这座东北城市,而是城中的人,所以是《呼兰河传》;《匠人》讲的不是工匠精神,而是身为这些职业或随便什么职业的人,所以是另一部《一个一个人》。《心殇》讲的是关内少年在东北日满时期所见的蛮横的校长、亲切的邮局姐姐、马场割草的兵士,还有影响至深的老师。他是优秀的学生,只知有日满不知有中国。高中即将毕业满心向往留日学习时,东北光复。大潮之下,众生皆是沙砾。大潮之下,看群书对世事人物的怜悯、诅咒、白描,猜测作者的意境,也许可以暂缓苦痛?<br><br>4. 信息简史,人类群星闪耀时<br><br>《信息简史》断断续续读了超过一整年,每次出差旅行都随身携带,然后郑重推荐给zhumao看。还记得在东汤温泉,靠在床上,虫鸣不断,有几个孩子笑叫,手边咖啡,眼前正读的是《信息简史》,触手可及的是《人类群星闪耀时》。就像有一些流行歌曲或小说人物嵌入在你的成长道路上,以后每当你听到这段旋律,看到这个名字,它们都不仅仅是别人所见的那些,而是背后整整十年的青春岁月,是你的爱和怅然。是你强忍着没有流下来的泪水。这两本书揭示那些事件、定理背后的意义。《人类群星闪耀时》讲述历史课本上的重要事件,关注事件背后人类的光辉;《信息简史》讲述那些今天看来如此显然和正确的定理诞生时的艰难,把信息论的脉络隐隐地埋在我对"万一错失良机没有发现"这样担心的故事之中。<br><br>5. Conqueror of the Seas<br><br>如果我来翻译,会定名为《征服众海》。汉语中有群山、众山,而海则不同,最多只有四海,那已经是天下一统的代名词。麦哲伦征服了一众海洋,大西洋的风暴、加勒比海的热情、南美沿岸的丛林、亚马逊河以南每一个河口和港湾、幽暗如地狱之门的麦哲伦海峡、平静冗长危险的太平洋、还有他在远征开始以前就已征战过的印度洋、印度尼西亚群岛,传说中的香料群岛。伴随他的,不止是地理名词,大地和海洋从来不会毫无代价地就低头臣服。他背叛了国王和祖国,他杀死了背叛和试图背叛的船长,他最初计算错误而后欺骗舰队"海峡就在前方,不远就是终点",他忍受着腐肉和溲水,他面无表情从不征求船长们的意见,下令"向前向前"。船员出发时265人,归来时18人,他本人命丧为西班牙夺取岛屿的战役,被他铁链锁住5个月的一名叛军继续下面的任务。他用生命换来的岛屿后来卖给了他宁死也不回去的葡萄牙。跟他一起环球的奴隶没有按遗嘱解放而是被残酷对待所以策划土著突袭,击杀了绝大多数优秀将领。按他的意愿应成为世代总督的孩子一个早殇一个流产,他的妻子在他出发后一年去世,又过了两年,他的船队归来,没有带回他的尸体,而他希望安葬在海港的教堂。环球航行,五艘巨舰仅剩其一。很多吨食物和工具换成了很多吨香料,这就是全部么,交换和利益?这不是全部,甚至不是征服众海的意义所在。生的意义,在于航向人类所未知的领域,死的意义也是。<br><br>---------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://younggift.net/">http://younggift.net/</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-15254393454659875712016-06-09T02:27:00.001+08:002016-06-09T02:27:41.890+08:00回望来时的路:构建之法 东北师大站 2016春季学期<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_YdxiCiEpvUrnlWjmxpxzQTfy83GoNSL0P01nRRCUtUbn6gntp_YSZvKiSXe-c5TUI7qYFrYNMgCCV3NjbhM7Fh4CBjlbvV0VBbAck-k7c7hOp0NwbMwTvQW7zvXt0MtS8e_kBltkFdI/s1600/bitter-761891.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_YdxiCiEpvUrnlWjmxpxzQTfy83GoNSL0P01nRRCUtUbn6gntp_YSZvKiSXe-c5TUI7qYFrYNMgCCV3NjbhM7Fh4CBjlbvV0VBbAck-k7c7hOp0NwbMwTvQW7zvXt0MtS8e_kBltkFdI/s320/bitter-761891.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890010818064578" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj38-fbc2rvGXT20RlqFl1YnjRTBjfFq3LUmTFIWtY2dMTht6PQq_o7r-N4ZaAxP-jxUf6g6Y9w-1EaWF1qKHImgZ0bBjodVCzQ3WXQPsQuhnhqZVQhcOQp-WuJ5ICrHywUOJeY2zTLgc/s1600/book-763744.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj38-fbc2rvGXT20RlqFl1YnjRTBjfFq3LUmTFIWtY2dMTht6PQq_o7r-N4ZaAxP-jxUf6g6Y9w-1EaWF1qKHImgZ0bBjodVCzQ3WXQPsQuhnhqZVQhcOQp-WuJ5ICrHywUOJeY2zTLgc/s320/book-763744.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890022236706498" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCZxTb434ri5vYk9VNh2oiikfINcdNuGNy7VxQ8jQNNr4FQBYo57NKvgnNQGbcvL1vObSGniJq9RCa6Xm8YVtHZpiiSNf_iv9JE5fdeT21dPBEhn_8KHnAsubycxem1HdWz-JebW4LqQ/s1600/gaoxin-765511.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCZxTb434ri5vYk9VNh2oiikfINcdNuGNy7VxQ8jQNNr4FQBYo57NKvgnNQGbcvL1vObSGniJq9RCa6Xm8YVtHZpiiSNf_iv9JE5fdeT21dPBEhn_8KHnAsubycxem1HdWz-JebW4LqQ/s320/gaoxin-765511.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890027457046818" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpkGFhSRtDsIviMSnKlRzybS8ik_RU2KevFVUhAQdusrgbKwI52-Ycmv0XaF_YfWKqPKiDvLEhKHPMAhNaeujF_EI4r4W1k2NSz7dkGM4Y670ZbNPmG1C_kIN_YUIwQqNr8gI8Kf19490/s1600/liuweishuo-767540.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpkGFhSRtDsIviMSnKlRzybS8ik_RU2KevFVUhAQdusrgbKwI52-Ycmv0XaF_YfWKqPKiDvLEhKHPMAhNaeujF_EI4r4W1k2NSz7dkGM4Y670ZbNPmG1C_kIN_YUIwQqNr8gI8Kf19490/s320/liuweishuo-767540.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890037273683602" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlAWlQJI6blO1QeoLSsXWjm0b6mgW7N4qqkwbIRP2DC5E690lbOp6i5se-1ddgk6DsF6IHHsdXwFs7EQw5bZ-s7rZ7FegYoMTq0b8HtxLjzgkBIaFG8xBX7c2UwQ_g4MOebukPotwb4SA/s1600/meeting-769329.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlAWlQJI6blO1QeoLSsXWjm0b6mgW7N4qqkwbIRP2DC5E690lbOp6i5se-1ddgk6DsF6IHHsdXwFs7EQw5bZ-s7rZ7FegYoMTq0b8HtxLjzgkBIaFG8xBX7c2UwQ_g4MOebukPotwb4SA/s320/meeting-769329.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890040582154946" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhurIpQ8ZNqOKazg1kgKgzGb_zZ4QOfx8MzZgSVk5Qofmy_IOtCRYGTXwCwWHu6kFk2w7CXPw4T0Va3-LodQO4DJ6GhY3OKIn-pCT8jerAjYVHQWDV4G04OsoGRxWUZus7DtuaIIhomHmw/s1600/prison-771182.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhurIpQ8ZNqOKazg1kgKgzGb_zZ4QOfx8MzZgSVk5Qofmy_IOtCRYGTXwCwWHu6kFk2w7CXPw4T0Va3-LodQO4DJ6GhY3OKIn-pCT8jerAjYVHQWDV4G04OsoGRxWUZus7DtuaIIhomHmw/s320/prison-771182.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890052061192674" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwkT0ZyQM5IxmJxq1TUQ3sCs6CHTN0138Dljim06kK5f9YAny87ypqfMBoSMeeaEuaSxlGcnDiYHEQMIkiIcd_PGs0eyQaQ6rgZuaDqzckTXx92MWvLXsGqDODhoA9MLMOjPnIP0dwX4w/s1600/puchenglin-772488.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwkT0ZyQM5IxmJxq1TUQ3sCs6CHTN0138Dljim06kK5f9YAny87ypqfMBoSMeeaEuaSxlGcnDiYHEQMIkiIcd_PGs0eyQaQ6rgZuaDqzckTXx92MWvLXsGqDODhoA9MLMOjPnIP0dwX4w/s320/puchenglin-772488.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890057523773170" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQxCSQ-rAyGPS2lHdLTPawG8gEKbyTHvIUGezXNFJaiZmoO0vKg4nrbIvB6XsknbfVLFCVDsyoVE_YLT25xnGQ5SM1837yfAnmWhfIquCdp0RmHevkN526sjtVojWutlEH6oOkpx-39NI/s1600/qijialiang-773912.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQxCSQ-rAyGPS2lHdLTPawG8gEKbyTHvIUGezXNFJaiZmoO0vKg4nrbIvB6XsknbfVLFCVDsyoVE_YLT25xnGQ5SM1837yfAnmWhfIquCdp0RmHevkN526sjtVojWutlEH6oOkpx-39NI/s320/qijialiang-773912.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890063331396866" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7iFBlw1vNmlE5BA52X93nYyMpro3BVsB0lolmuZDNsEINmYu_4pfOaPgzZXWNYcv5n0l6IawnVj542dRc6udrPhVCHsPzu9HeQCNyjPsVL9RriVAJRCDaXo4vfrgQr97IsZtuUCIkLA/s1600/xiayiming-775466.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7iFBlw1vNmlE5BA52X93nYyMpro3BVsB0lolmuZDNsEINmYu_4pfOaPgzZXWNYcv5n0l6IawnVj542dRc6udrPhVCHsPzu9HeQCNyjPsVL9RriVAJRCDaXo4vfrgQr97IsZtuUCIkLA/s320/xiayiming-775466.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890072769382082" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjss3rxuC6ewGXsK0qN49s5CV4A9eHqc9nRDiEfiP7Vmso2asa213Sy21OkzKeiVIkbJA5GLjwmBD_01nXN_6carvRcgsDFBkFm9AbxsWAUyEU9qH77hzU8ut7X32lHzjsDJV-r0xWplUQ/s1600/yello-776868.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjss3rxuC6ewGXsK0qN49s5CV4A9eHqc9nRDiEfiP7Vmso2asa213Sy21OkzKeiVIkbJA5GLjwmBD_01nXN_6carvRcgsDFBkFm9AbxsWAUyEU9qH77hzU8ut7X32lHzjsDJV-r0xWplUQ/s320/yello-776868.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890077473075186" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg6CgaO90ToSWuCn0rRBpqOY0-Ht8Zx8xTiBWqOCTApSG2zIO623E0kGJssvhg2hpeGbZ7ShZX8TnY0AlbqCzlFeV2cNu8O6hzmh62UPv7ta-AalhoGost_q1rtRqhc5G8V0H8G0sIX7M/s1600/zhengrui-778519.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg6CgaO90ToSWuCn0rRBpqOY0-Ht8Zx8xTiBWqOCTApSG2zIO623E0kGJssvhg2hpeGbZ7ShZX8TnY0AlbqCzlFeV2cNu8O6hzmh62UPv7ta-AalhoGost_q1rtRqhc5G8V0H8G0sIX7M/s320/zhengrui-778519.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6293890084703696066" /></a></p><div dir="ltr"> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">回望来时的路:构建之法</span> <span style="font-family:宋体">东北师大站</span><span lang="EN-US"> 2016</span><span style="font-family:宋体">春季学期</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">1.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">前因</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">微软邹欣老师著有《构建之法:现代软件工程》</span><span lang="EN-US">[<a href="https://book.douban.com/subject/26577755/">https://book.douban.com/subject/26577755/</a>]</span><span style="font-family:宋体">。第一版首版以前,我还不知道邹老师是哪一位,就在网上曾经看到过有人转引他的观点,感到说得太有道理了,一拍大腿的感觉。比如他提到教师和学生之间应该是健身教练和学员间的关系,不是教师带领学生参观浏览,也不是狱警和囚徒的关系。比如他批评没有代码量的软件工程教学。《构建之法》到手,第一遍粗读我花了一周的时间,酣畅淋漓。很多处让你再拍大腿,"对啊,这正是问题的症结,他的招儿没准好使呐。"在那以后向我的好几位学生极力推荐阅读。似乎亮哥看了,别的同学也没有怎么重视,虽然我极少推荐读哪本书,怕推荐多就不值钱了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">邹欣老师本人是微软首席研发经理,北大、清华、北航等采用过《构建之法》作为教材。一方面权威,另一方面也令我等小校望而胆怯。有次在叶卡编辑的群中得知,他有意图促进《构建之法》和"</span><span lang="EN-US">learning by doing</span><span style="font-family:宋体">"的软件工程教学理念在不那么特别好的学校里推广,顿时心向往之。我想起不少小说里描写到的文革时期随便那么几个主人公小青年,就能懂副歌,能关起门来讨论伏尔泰和卢梭。时代之进步,让我们有机会偏居一隅而能与世界对话,应该充分享受比那时更幸运的条件。但是那个学期我排课程失败了。邹欣老师后来招募远程助教参与别的学校的教学,我也非常也申请,但是估计自己的时间和精力不足以做出工作量的承诺,只好放弃,非常可惜了很久。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">本学期有机会开设课程《软件项目管理》,赶紧求同学们选我选我选我,达到限额,终于开课。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">2.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">课程的一些数据</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">2016</span><span style="font-family:宋体">年</span><span lang="EN-US">3</span><span style="font-family:宋体">月</span><span lang="EN-US">4</span><span style="font-family:宋体">日</span><span lang="EN-US">13:30:00</span><span style="font-family:宋体">计算机楼</span><span lang="EN-US">320</span><span style="font-family:宋体">教室,夏一鸣同学</span><span lang="EN-US">[<a href="http://www.cnblogs.com/xiaym896/">http://www.cnblogs.com/xiaym896/</a>]</span><span style="font-family:宋体">在他最后一篇技术博客里清楚地回忆起时间地点。事实上,他回忆错了,第一堂课因为排课冲突,临时改到了二楼的微格教室,以后的课程都是在</span><span lang="EN-US">320</span><span style="font-family:宋体">教室,不过时间没有错。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">3</span><span style="font-family:宋体">月</span><span lang="EN-US">4</span><span style="font-family:宋体">日起,课程教学持续</span><span lang="EN-US">12</span><span style="font-family:宋体">周。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">选课时间注册</span><span lang="EN-US">XX</span><span style="font-family:宋体">位同学。这个数量并不重要,仅为超过开课人数限制。这里有些同学根本不打算要成绩和学分,只是助我开课。感谢。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">实际参加</span><span lang="EN-US">21</span><span style="font-family:宋体">位同学,坚持到结束</span><span lang="EN-US">17</span><span style="font-family:宋体">人。放弃的同学,有的是在第一次课程以后就发邮件通知我了,只要成绩,不想参加项目实践;也有同学尝试了开设博客这一步,然后放弃;也有同学比这还努力稍多一些,发了一两篇博客。鸡汤名言说:</span> <span style="font-family:宋体">所以的失败都有一个共同点,就是坚持的不够久。也许我们所能直接看到的利益太少,也许我们能够做出的选择太多,也许如刘伟硕同学说,缺乏强制措施。还有同学在学期末的感言中提到,如果能够再有一次机会,如果可以重开此课,诸如此类。说实话,今生放手的人,我不怎么相信来生会更珍惜。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">这</span><span lang="EN-US">17</span><span style="font-family:宋体">位坚持到底的同学中,有三位旁听生。他们没有注册,也不会有学分,但是成绩优秀。其中一位是我以前的学生,她现在本人也是教师,同时作为邹欣老师本学期某校的远程助教,名郑蕊;一位是现在的研究生,但是他没有选课,名亮哥;一位是本科三年级同学,名冉华,他曾经一度参与亮哥的项目。郑蕊和亮哥的成绩属最优秀的之列,冉华同学独立完成了一个持续</span><span lang="EN-US">10</span><span style="font-family:宋体">天计累计</span><span lang="EN-US">46.05</span><span style="font-family:宋体">小时的小项目《</span><span lang="EN-US">H3C</span><span style="font-family:宋体">汇聚层交换机认证在线人数展示系统》。这告诉我们人的主观意愿和追随内心的力量。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">全体同学发布技术博客共</span><span lang="EN-US">254</span><span style="font-family:宋体">篇,人均超过每周</span><span lang="EN-US">1</span><span style="font-family:宋体">篇。教师发布</span><span lang="EN-US">21</span><span style="font-family:宋体">篇,每周约</span><span lang="EN-US">2</span><span style="font-family:宋体">篇,其中一篇是这一周作业重点提示及更新点评,另一篇是这一周作业的成绩。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">在第</span><span lang="EN-US">3</span><span style="font-family:宋体">周开始,全体同学结成</span><span lang="EN-US">4</span><span style="font-family:宋体">个团队,每组约</span><span lang="EN-US">4</span><span style="font-family:宋体">位同学。其中</span><span lang="EN-US">3</span><span style="font-family:宋体">个团队站到最后,</span><span lang="EN-US">1</span><span style="font-family:宋体">个团队在</span><span lang="EN-US">alpha</span><span style="font-family:宋体">发布后开始解体。解体的团队,有</span><span lang="EN-US">1</span><span style="font-family:宋体">位同学加入其他团队,另</span><span lang="EN-US">2</span><span style="font-family:宋体">位同学保持游离态。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">以团队为单位发布项目,学期末发布共</span><span lang="EN-US">5</span><span style="font-family:宋体">个共</span><span lang="EN-US">3</span><span style="font-family:宋体">种。</span><span lang="EN-US">3</span><span style="font-family:宋体">种项目是</span> <span style="font-family:宋体">抢答器、记账本、四则运算在线,分别源于耐撕团队、</span><span lang="EN-US">OneZero</span><span style="font-family:宋体">团队、爆打团队。在学期中真</span><span lang="EN-US">beta</span><span style="font-family:宋体">版发布后由每个团队选择</span><span lang="EN-US">fork</span><span style="font-family:宋体">其他团队的一个项目,并在两周内增加功能,与源出的团队竞争开发,即要求每个团队最终发布</span><span lang="EN-US">2</span><span style="font-family:宋体">个项目。学期末,抢答器、记账本有</span><span lang="EN-US">2</span><span style="font-family:宋体">个团队分别发布</span><span lang="EN-US">branch</span><span style="font-family:宋体">,四则运算在线</span><span lang="EN-US">1</span><span style="font-family:宋体">个</span><span lang="EN-US">branch</span><span style="font-family:宋体">,共计</span><span lang="EN-US">5</span><span style="font-family:宋体">个。这样做教学上的原因是东北师大北前没有积累可供训练</span> <span style="font-family:宋体">维护</span> <span style="font-family:宋体">阶段的代码,以</span><span lang="EN-US">fork</span><span style="font-family:宋体">其他团队来部分贯彻邹欣老师提到的:写一万行代码,在别人的十万行代码中愉快的运行。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">所有的技术博客和代码可以通过教师博客</span><span lang="EN-US">[<a href="http://www.cnblogs.com/younggift/">http://www.cnblogs.com/younggift/</a>]</span><span style="font-family:宋体">找到。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">在第</span><span lang="EN-US">2</span><span style="font-family:宋体">周课程的时候郑蕊同学建立了</span> <span style="font-family:宋体">东师软件工程</span> <span style="font-family:宋体">微信群。不过与《构建之法》其他高校的群不同的,东北师大的群里基本没有人说话,教师临时修改增加作业或点评,也不太有响应。我本人不喜欢在"群"里被集体通知或告之,然后自己选择是否与自己有关。这种被组织的感觉不好。我担心同学们是这样感受的,进而进入</span> <span style="font-family:宋体">狱警囚徒模式,所以对群里一片安静听之任之。东北师大的群最后大家选择了实名(而且人数这么少很容易人肉出来吧),据说有的高校的群是匿名的,有同学发表了对教师和</span><span lang="EN-US">/</span><span style="font-family:宋体">或助教的不满。这也是个大家不吱声的原因吧。还有,可能由于就业太容易,似乎无论什么对就业都没有什么正面或负面影响,东北师大的同学似乎历来高冷……我习惯了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">3.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">历程</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">第</span><span lang="EN-US">1</span><span style="font-family:宋体">周和第</span><span lang="EN-US">2</span><span style="font-family:宋体">周,基础知识及鸡汤。知识不是重要的部分,更不用说对于研究生阶段的同学。往往是,我们知道,但是不做。更重要的,猛灌鸡汤。同学们通常并无强烈的动机想进修软件工程。他们的热情一般止于热烈的表达愿望,或者言不由衷地对科目重要性的认识,有时还有对教师的表扬。但是,也仅止于此。第一轮工作量就会把他们貌似熊熊燃烧的小火苗烧熄,然后他们会说,"其实也那么重要,其实也没那么渴望",用那么二字这一程度副词否定自己的"初心"当真是好借口。鸡汤是药,不能停。在真</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布前后,教师说,以后不会再有鸡汤了。那个时候,同学们疲于应对从没见过那么多的工作量。同时,教师对同学们不能甚至消极地响应很失望,邹欣老师和叶卡编辑的鸡汤也不足以补足元气,对每周的截止时间周三晚</span><span lang="EN-US">24</span><span style="font-family:宋体">点守岁般度过然后你没有提交作业很失望。我觉得,你们并不像你们所声称的那样希望我们共同所做的事,而你们没有想到我会坚守承诺,并且对你没有坚守承诺愤慨和绝望。我就是在这个时候放弃的,当你用行动宣布放弃的时候。好多年前我用更激烈的措辞给学生们写过一封信,大意是,我们不是因为情感走到一起,而是因为共同的目的,你不坚持,就是背叛,我绝不挽留。我现在会微笑着对全班同学说,"我爱你们,同学们,发自内心,而且你们真的与以往每届都如此不同"。不过,我没有什么不同。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">从第</span><span lang="EN-US">3</span><span style="font-family:宋体">周开始,分团队,团队项目立项介绍。两周</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">,要求每天站立会议及会议报告作为技术博客,每个团队共</span><span lang="EN-US">10</span><span style="font-family:宋体">篇。不过这只是要求和愿望。不少同学们在这时还没有意识到我在第一堂课的鸡汤,"刚工作的同学往往以为有</span><span lang="EN-US">60</span><span style="font-family:宋体">分这一档,其实那是不存在的,工作上只有</span><span lang="EN-US">0</span><span style="font-family:宋体">分或及格。"只要你有一点不符合要求,就触碰了底线,</span><span lang="EN-US">0</span><span style="font-family:宋体">分。超过截止日期,要求的项目有没有完成的,指标达不到要求的,要求结对没做的,要求互评不评的,都是</span><span lang="EN-US">0</span><span style="font-family:宋体">分差评。在工作中,我们就是这样一步步失去信任的,如果偶有错误,时机不定;也是这样一步步赢得信任的,如果你每一次都符合要求。有同学问我,在工作中如果做得不好,是不是就会挨批啊。不会的,成熟的上级从来不批评你,只会减少你的工作量,越来越少,直到转岗开除。而干的好的,会不停地挨批要求改正要求更好,然后升职,去承担更重要更可怕的工作。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">两周</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">后,</span><span lang="EN-US">alpha</span><span style="font-family:宋体">发布发期进行。此前亮哥创造性地给了一个发布剧透,介绍发布时将会发布的事情,简述功能。此后,剧透成要标准要求。</span><span lang="EN-US">alpha</span><span style="font-family:宋体">发布后,每组有</span><span lang="EN-US">1</span><span style="font-family:宋体">位同学离开原组,加入新的团队。</span><span lang="EN-US">alpha</span><span style="font-family:宋体">要求有真实用户评论,</span><span lang="EN-US">4</span><span style="font-family:宋体">组团队只有</span><span lang="EN-US">2</span><span style="font-family:宋体">个用户评论,并不详细和认真。达不到要求,和教师不敢于认真要求,都是一步步的,如同腐烂,是缓慢开始的。有一整天不呼吸,以后就不能呼吸了,有一年不联系老友,他就不再是老友了,有一次不遵循规则超过要求,以后就不再是完美实现了</span><span lang="EN-US">—</span><span style="font-family:宋体">不少人就此放弃,虽然不完美也比一次次放弃要强。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">东北师大的</span><span lang="EN-US">SCRIM</span><span style="font-family:宋体">及</span><span lang="EN-US">alpha</span><span style="font-family:宋体">早于《构建之法》</span><span lang="EN-US">16</span><span style="font-family:宋体">周的教学计划,是因为考虑到课时少,可能会早于</span><span lang="EN-US">16</span><span style="font-family:宋体">周结束,另外假设学生有更好的软件工程课程基础,因此理论教学减量。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">alpha</span><span style="font-family:宋体">发布如同《构建之法》其他高校及邹欣老师的预料(通常总是如此),同学们高估自己可能输出的工作量,有太大的雄心壮志,然而无能实现。所以</span><span lang="EN-US">alpha</span><span style="font-family:宋体">发布后,同学们都趋向现实和保守,每周只肯实现一两个工作量不大的功能,我甚至怀疑大家开始降低投入时间了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">4</span><span style="font-family:宋体">周已过的时候,颁发领跑衫两件,奖给当时成绩最突出的两位同学。分别是郑蕊和刘伟硕</span><span lang="EN-US">[<a href="http://www.cnblogs.com/younggift/p/5352171.html">http://www.cnblogs.com/younggift/p/5352171.html</a>]</span><span style="font-family:宋体">。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">又两周</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">,每天站立会议及报告,然后</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布。在这两周中也包括对</span><span lang="EN-US">alpha</span><span style="font-family:宋体">发布的</span><span lang="EN-US">review</span><span style="font-family:宋体">。考虑到研究生同学有更自由的时间可供支配,此处比《构建之法》减少一周专门的</span><span lang="EN-US">alpha</span><span style="font-family:宋体">回顾。这两周</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">之后原计划是</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布,但是各团队并未做到</span><span lang="EN-US">beta</span><span style="font-family:宋体">的应有之意"公测",没有真正用户,并且功能也并不大的进展。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">教师称此次发布伪</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布(因为没有真用户),要求再两周</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">,增加功能找真用户,然后真</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布。这期间教师按学校要求出差</span><span lang="EN-US">1.5</span><span style="font-family:宋体">周,在网上看了作业,但是由于视力原因不能点评,真</span><span lang="EN-US">beta</span><span style="font-family:宋体">发布由亮哥主持。在此期间郑蕊提到有一周的工作状态是"失控",其他同学虽然没有提到,教师以为这是普遍的现象。同学们开始痛恨或者无视课程要求,工作量压得喘不过气,并且维护既有代码并增加功能带来更大的压力。虽然各位在学期末的回顾中很享受的样子,我深以为有多半是军训般的斯德哥尔摩效应。我们不应该喜欢训练带来的痛苦,我们只是喜欢训练带来的结果。之所以如此痛苦,是因为以前的积累太差了</span><span lang="EN-US">—</span><span style="font-family:宋体">像网上的段子说的,期末的突击学习的难度,取决于你是复习还是预习。在这样一门课程中,又要积累编程经验,又要学习工程理论,又要实践。恩,既然贵族需要三代能积累出来,那么我们还是继续做奴仆好了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">第</span><span lang="EN-US">12</span><span style="font-family:宋体">周期末</span><span lang="EN-US">final</span><span style="font-family:宋体">发布。要求所有需要成绩的同学参加,本学期唯一不接受请假的一天。有同学电话我了,确实有非常之理由需要缺习,我表达了我的理解,也请他理解我不能接受请假的理由。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">在</span><span lang="EN-US">final</span><span style="font-family:宋体">发布时,又颁发</span><span lang="EN-US">4</span><span style="font-family:宋体">件领跑黄衫,分别奖给</span> <span lang="EN-US"><br> </span><span style="font-family:宋体">特别能作战</span> <span style="font-family:宋体">齐嘉亮</span><span lang="EN-US">[<a href="http://www.cnblogs.com/dendroaspis-polylepis/p/5534847.html">http://www.cnblogs.com/dendroaspis-polylepis/p/5534847.html</a>]</span><span style="font-family:宋体">、</span><span lang="EN-US"><br> </span><span style="font-family:宋体">敬业福</span> <span style="font-family:宋体">夏一鸣</span><span lang="EN-US">[<a href="http://www.cnblogs.com/xiaym896/p/5536226.html">http://www.cnblogs.com/xiaym896/p/5536226.html</a>]</span><span style="font-family:宋体">、</span><span lang="EN-US"><br> </span><span style="font-family:宋体">可以托付靠谱</span> <span style="font-family:宋体">濮成林</span><span lang="EN-US">[<a href="http://www.cnblogs.com/charliePU/p/5537734.html">http://www.cnblogs.com/charliePU/p/5537734.html</a>]</span><span style="font-family:宋体">、</span><span lang="EN-US"><br> </span><span style="font-family:宋体">力挽狂澜</span> <span style="font-family:宋体">高鑫</span><span lang="EN-US">[<a href="http://www.cnblogs.com/gaolzzxin/p/5515451.html">http://www.cnblogs.com/gaolzzxin/p/5515451.html</a>]</span><span style="font-family:宋体">。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">成绩核算,需要按学校的要求,作业和期末论文都要交纸质品。具体的我要求为技术博客打印,期末论文打印,代码我折衷了一下,给出代码片断及下载地址。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">最后,进入邹欣老师所说的</span><span lang="EN-US">"</span><span style="font-family:宋体">诸葛亮会议</span><span lang="EN-US">"</span><span style="font-family:宋体">时间,会团队</span><span lang="EN-US">review</span><span style="font-family:宋体">,教师也</span><span lang="EN-US">review</span><span style="font-family:宋体">。在此期间以前的毕业生正在上海工作的李暘发来对耐撕团队代码的</span><span lang="EN-US">review</span><span style="font-family:宋体">,使本已沉寂的耐撕团队队员内心又起波澜。课程有结束之日,求索没有停止之时;常回望来时路,才能进步。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">4.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">外援</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">邹欣老师拿出自己的稿费征募远程助教,为各高校提供帮助。这样一门实践不瘸腿,代码量和写作工作量很大的课程,需要助教给学生及时和充分的反馈才能得以进行,而高校机制决定难以实施。邹欣老师自掏腰包,以及课程本身的吸引力,颇有一些实践经验丰富的工程师承担了助教工作。助教无疑也付出了非常多的时间,要知道,几乎每一行代码、每一行文字,助教都是审核过的。只是,也许能力,也许精力,更重要的是时机,助教没有指出学生每一个细节的失误。我本学期没有申请助教协助,因为知道成绩核算方法和教学水平都不一定能保证满足邹欣老师的设计意图,所以由我一个人兼作教师和助教。从我的学生仅</span><span lang="EN-US">17</span><span style="font-family:宋体">人计,仍然感觉工作量非常大。我最初每次回复和点评技术博客,需要</span><span lang="EN-US">1</span><span style="font-family:宋体">至</span><span lang="EN-US">2</span><span style="font-family:宋体">小时。后来只好拆分成几段,挑空闲时间而且有</span><span lang="EN-US">PC</span><span style="font-family:宋体">机的时候处理。很多个小时,一般是一整个下午,多半个晚上。牛宝乐老师和郑蕊老师分别做过助教,他们也都提到工作量巨大。我知道承担助教工作的还有幻飞龙博士。虽然我没有申请助教,但是也从助教群中收获不少,包括不限于</span> <span style="font-family:宋体">工具、方法、学生的现状。谢谢各位助教。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">邹欣老师和叶卡编辑提供的领跑黄衫,着实让同学们兴奋了一把。来自"官方"的看得见的肯定,仍然是同学们追求的重要目标和强大动力。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">很多学生的技术博客,邹欣老师也给也点评或者建议。他的点评和建议从来不是泛泛的,而是切中肯綮。一方面,我感慨邹欣老师同时点评这么多高校和学生,作为教师我也能学到不少,心存感激。另一方面,我和郑蕊私下交流过,我们点评一篇需要半小时以上,而邹老师只需要八九分钟,质量却是比我们更高。所谓高手和菜鸟的差别,他们少犯错,他们效率更高。能让我们亲眼看到高山仰止,也是幸运。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">除了邹欣老师以外,还有几位专家也参与了点评。他们是</span><span lang="EN-US">maverick@</span><span style="font-family:宋体">柳园</span><span lang="EN-US"> (</span><span style="font-family:宋体">余晟</span><span lang="EN-US">)</span><span style="font-family:宋体">,</span> <span style="font-family:宋体">李暘,无效的昵称(来自阿里的曾同学)。几位共同指出一个特别重要的问题,代码规范和文档规范。这不仅是学生的问题,也是教师的问题。如果有下一次课程,我会注意改进。谢谢。</span><span lang="EN-US">maverick@</span><span style="font-family:宋体">柳园就规范问题还给出过具体的建议,文档模板。这一点我心尚存疑,对于学生的主动性培养和适当引导,我仍然在犹豫之间,此时就以邹欣老师提供的教辅助材料为准。谢谢各位。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">为了能得到来自校外的专家的点评,我在助教和构建之法微信群中,每一周都发布广告,恳请指导和鼓励。后来我不敢再继续发布消息了,因为同学们做得实在令我汗颜。如同我在课堂上说的,所有的一切都是公开的,代码袒露在所有人的面前,东北师大和你个人的能力如何,是不是会被别人藐视,无论你多么爱国和爱校,事实也就是这样。尊重不是靠恳求和隐瞒得到的,而是靠实力。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">在教学中,我还得到了牛宝乐老师的帮助,他向我推荐和提供了幻飞龙博士开发的工具,把</span><span lang="EN-US">EXCEL</span><span style="font-family:宋体">格式的文件转换成</span><span lang="EN-US">Markdown</span><span style="font-family:宋体">格式。我用这一工具处理每周发布的成绩,以及成绩计算的依据。非常有效,节省了不少时间。谢谢二位。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">两位旁听生,郑蕊和齐嘉亮,成为整个班级和团队的中坚力量,在带动别的同学上面起到了极大的作用,让我放心不少。谢谢。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">5.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">教学内容</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">工程。从第</span><span lang="EN-US">2</span><span style="font-family:宋体">次课程开始,教师持续地强调</span> <span style="font-family:宋体">这是工程课程,不是编程课程。编程的经验对于</span> <span style="font-family:宋体">项目的结果</span> <span style="font-family:宋体">起到了非常关键的作用,这一点从亮哥在耐撕团队的作用、刘伟硕换组以后立即突破</span><span lang="EN-US">OneZero</span><span style="font-family:宋体">团队的关键技术问题(数据库连接和操作)、高鑫加盟暴打团队以后团队起死回生</span> <span style="font-family:宋体">可以旁证。但是超越编程经验的工程思想,才是本课程教学的重点。不少同学在学期中或学期末的时候表达了理解</span> <span style="font-family:宋体">工程控制</span> <span style="font-family:宋体">的重要性,不过教师并不确认这种表达到底多少真诚,有多少可实施的愿望。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">为了强化工程的体会(以及降低技术风险),教师强制要求,不得采用需要探索的技术,只能使用现在已经熟练掌握的技术。直接要求而不讨论,禁止了在统计文本的词频中使用</span><span lang="EN-US"> Hadoop</span><span style="font-family:宋体">、禁止了使用某种框架。教师也有过担心,万一同学们只会做</span><span lang="EN-US">console</span><span style="font-family:宋体">程序,连</span><span lang="EN-US">GUI</span><span style="font-family:宋体">和</span><span lang="EN-US">web</span><span style="font-family:宋体">前端都做不出,那么产品的效果得多么惨不忍睹。邹欣老师教导我(大意如此)说,那就是愿望和能力间的差距太大,还是能出来啥就做啥</span> <span lang="EN-US">— </span><span style="font-family:宋体">做出不来的,光想也是没用,发布才是硬道理。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">还是为了强化工程的体会,教师特别若干次强调</span> <span style="font-family:宋体">边界,并在需求分析、功能列表、</span><span lang="EN-US">SCRUM</span><span style="font-family:宋体">中再次援引边界。边界是一个系统与外界的分隔也是连接,是允许调用的接口规范,支持的功能的集合,</span><span lang="EN-US">use case driven</span><span style="font-family:宋体">指定的整个工程的开始端,也是拒绝服务的依据。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">估算和度量。对时间(</span><span lang="EN-US">PSP</span><span style="font-family:宋体">)、工作量(技术博客字数累积、代码行数累积、进度条)的度量要求,对时间的(预计)估算要求。冉华同学的项目在时间和工作量估算上受到教师的直接指导,他的进步(至少体会上)非常明显。工程思想要求所有的效果都是可观测的,所有的猜测(模型)是可验证的。计算机系的同学实验经验还远远不足,"我猜"而不验证仍然经常出现。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">以上两点,是不限于软件范围的一般性工程思想,是教学中的重点。教师相信中国软件工程学科教程</span><span lang="EN-US">[<a href="https://book.douban.com/subject/1653554/">https://book.douban.com/subject/1653554/</a>]</span><span style="font-family:宋体">中的观点(大意),软件工程与一般工程间的区别远比我们通常认为的要小得多,应该首先注意到它是</span> <span style="font-family:宋体">工程,其次才是软件相关。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">结对编程。一定程度上解决了某些同学编程基础薄弱的问题,但是实施不持久。实施了一段以后,同学们以</span> <span style="font-family:宋体">时间、地点、导师部署的工作量大</span> <span style="font-family:宋体">等理由开始搪塞。关于同学们对于知识的尊重和对训练的轻视,后面会再谈。由于此时团队项目开始出现团体</span><span lang="EN-US">reciew</span><span style="font-family:宋体">和团体一起编程的情况,教师对于结对报告没再坚持。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">规范,文档排版,用词和造句,变量命名。这些在前期有提及,并且安排了作业,但是在时间驱动团队项目的压力之下,教师和学生都放弃了这对规范的要求。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">版本控制。要求使用</span><span lang="EN-US">github</span><span style="font-family:宋体">。同学们在团队项目开始后,抱怨网络现状和响应速度,纷纷放弃使用</span><span lang="EN-US">github</span><span style="font-family:宋体">,不过版本控制的习惯保留了下来。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">技术博客。要求发表在</span><span lang="EN-US"> cnblogs </span><span style="font-family:宋体">上。有同学抱怨但是全都服从了。遵循虽然不见得最优但是并不明显愚蠢的上级要求,也是成为工程师的一课。希望同学们在此能有收获。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">版权。我们提到了文字复制粘贴的侵权问题,也讨论到图片引用。从同学们发布的技术博客文字和课堂争论来看,并未就版权的界定(比如引用图片是否算以"学习"为目的,不营利是不是就可以盗版)达成一致意见。在本课程中,教师视引起争论为达到效果,不在教学中作更深入的探讨。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">6.<span style="font:7pt "Times New Roman""> </span></span></span><span style="font-family:宋体">缺憾及体会</span></p> <p class="MsoNormal" style="margin-left:18pt;text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">1</span><span style="font-family:宋体">)知识和训练。同学们普遍而长期地忽视训练。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">同学们普遍而长期地忽视训练,如果我们认可他们相对地更重视一些知识的话,虽然他们最重视的是感受("这个老师真和蔼,全心全意地爱学生,这样的才是好老师")和态度("我反对我赞同,不转不是中国人")。决定成败决定效果的,直接地不是感受和态度,而是技术。现在比较普遍地能够接受的,即使在人民战争中,人民的认可如此重要,但是在最终和敌人刺刀相见的时候,意志远不如技术重要。打架是个技术活,工程也是。头缠红带如果只发生在临期末了,改变不了战局。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">在课堂中,教师也屡次提到,知识是可以传授的,告诉你你就知道,而技能是不能传授,只能通过训练习得。游泳、骑自行车、弹琴、编程,这些技能只能通过训练获得,你仅仅知道也是白扯。邹欣老师在《构建之法》中有生动的比喻,一个在健身房里参观的学员,是不会自动长出一身肌肉来的,只要你不</span><span lang="EN-US">*</span><span style="font-family:宋体">主动</span><span lang="EN-US">*</span><span style="font-family:宋体">运动,亲自克服阻力,无论教练对其他学员的教学方法有多么地好,教练多么地帅和态度友善,你的愿望有多么热切。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">例如,在本学期实际的教学中,同学们对于结对编程最初表现出强烈的轻视,觉得明白道理就行了。在工程实践中,也倾向于乐于观摩,而不希望投入时间;在课堂中,倾向于听教师讲单口相声,"啊"地一拍大腿或者频频点头,而不希望做作业。在课余的项目中,我也注意到学生们普遍地具有这种估向,希望真项目、有实际用途的项目、有好的效果的项目,同时希望工作量要少,希望多学知识,而不是实践知识。针对这一点,在课堂中,教师多次提到,资本家不会因为你会什么知识而付你钱,只会因为你做了什么而付钱。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">对于训练的否定态度,以前也经常有项目组的同学对我说,"老师,我还得学习呢。"也就是说在同学们的心目中,项目研发,不过是业余的爱好,并不是学习的一部分,读书考试才是真正的学习。下意识中,掌握了知识,或者把某书的电子版搞到手了,就完事大吉。其实这只是开始,甚至远未开始。知识,从写出代码第一行时,在实践中,才真正开始掌握。知乎中有人问,"编译原理和算法导论是不是屠龙技</span> <span style="font-family:宋体">有技而无龙可屠?"我在回答中说,"除非真正屠龙过,否则不能确定掌握了技术--做习题是不够的。因此"有技</span><span lang="EN-US">(</span><span style="font-family:宋体">而无龙可屠</span><span lang="EN-US">)</span><span style="font-family:宋体">"是个伪命题。"道理是一样的。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">当然,我能够理解,同学们经常看到世界充满欺骗和吹嘘,甚至我们已经习惯。说一套做一套,理论和实践毫不相关,要求别人的道德准则和自己亲自实践的泾渭分明。不过,如果我们所做的和我们宣称所相信的如此不同,我们得是多么精神分裂啊。所以,试一试,按单一的原则生活,实践你相信的原则。拒绝你不相信的。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">知识与实践(及训练)应该是统一的。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">2</span><span style="font-family:宋体">)主动地参与世界。积极性。同学们普遍高冷。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">本学期有一个抢跑项目</span><span lang="EN-US">(</span><span style="font-family:宋体">把</span><span lang="EN-US"> [<a href="http://www.cnblogs.com/xinz/p/3852177.html">http://www.cnblogs.com/xinz/p/3852177.html</a>] </span><span style="font-family:宋体">的量表做成</span><span lang="EN-US">APP</span><span style="font-family:宋体">或网上调查问卷,并发布在微信朋友圈中</span><span lang="EN-US">)</span><span style="font-family:宋体">,有三个名额,但应者寥寥,最终只有两位同学参与,并且有一位是教师单独动员的。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">这个抢跑项目初看很简单,简单到同学们不屑于抬起手指。这种傲慢在学习工作中也是普遍的,</span><span lang="EN-US">"</span><span style="font-family:宋体">显然啊</span><span lang="EN-US">"</span><span style="font-family:宋体">是不少人的口头语,颇有一种"你怎么这么笨就是不明白呢",即使后来深入了解发现并不简单甚至"显然"自己错了的时候,也气势不减。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">简单的项目不做,复杂的项目做不来。在课堂上也常这样,显而易见的问题不吱声,稍微难的问题不敢吱声。所以,沉默的大多数,寂静的春天。假装大人,掩饰自己的不足,故作淡定,不参与不表现,不评论不反对不支持。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">第一次第二要求结对,很多同学不做;再三强调推动,终于做了,但是体会不乐意写或不乐意多写。要求互评效果更差,只有一两位同学参与并保持。教师提供了"他山之玉",转引邹欣老师整理的其他高校的技术博客汇总,似乎没有几位同学看,从在课堂中对作业要求的表现可以猜测。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">"</span><span style="font-family:宋体">主动地参与世界</span><span lang="EN-US">"</span><span style="font-family:宋体">是世界不放弃的前提。还是在知乎上看到的一个吐槽,某高校几位女同学在大雨天被浇到了,而路上所有独自撑着伞的男同学都静静地看着她们在雨里走。有位回答得与我们刚刚提到的主题正相关,他说,你如果有求于人,要主动提出,否则别人会以为你享受雨中的散步;没有人有闲工夫看你,所以我们根本不知道你在雨里。"主动地参与世界",不要期待世界来求你。绝大多数同学的技术远没有达到可以隐居的程度,不过作法上已经很有大师的样子了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">3</span><span style="font-family:宋体">)主动地参与世界。人类语言和代码写作。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">课程要求同学们每周发布技术博客,课程还要求期末交课程论文。从技术博客和现已看到的课程论文来看,篇幅都短得可怜。课程论文谈体会,还没有教师的体会一半儿长的同学,不觉得惭愧么,或者教师该为这一学期让你收获如此地少而说声抱歉?</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">不少同学可能会说,"没有什么好说的。"</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">抛掉我们课程中提到的,错误的承前省和代词使用,是网络贴子主要的错误来源,认为读者知道你所知道的信息,是一个错误的假设。如果读者已经知道你所知道的一切,那么心有灵犀的情况下,沟通就毫无必要</span><span lang="EN-US">—</span><span style="font-family:宋体">也许你确实认为报告、技术博客、论文,只是形式化的仪式而已。向别人解释自己的动机、技术路线,在毕业论文和项目答辩中阐述你所认为的重点难点,不仅是使得别人了解你,也是评定专家确认你了解你所说的内容的重要手段。对于从北京到走向世界的途径如果你说,"靠脚"或者"没有必要,最好的我们都已经有了",那么别人至少了解你的方法论或者价值观,而你说"那不显然么",除了傲慢的态度,别人对你没有任何新增的了解。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">有个心理学或教育学故事告诉我们,不了解别人不是自私,而是幼稚。故事说,令孩子</span><span lang="EN-US">A</span><span style="font-family:宋体">观察孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">的行为,并回答问题。有个人对被观察者孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">展示糖果并放在抽屉里,然后在孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">短暂离开时把糖果从抽屉里拿出来放到口袋里。问孩子</span><span lang="EN-US">A</span><span style="font-family:宋体">,孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">回来以后会到哪里找糖果。有一些孩子</span><span lang="EN-US">A</span><span style="font-family:宋体">回答,孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">会在口袋里找糖果。这些孩子</span><span lang="EN-US">A</span><span style="font-family:宋体">并不知道,孩子</span><span lang="EN-US">B</span><span style="font-family:宋体">不知道糖果转移这一信息。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">代码、文档、报告、技术博客,都是告之另一些人,他们所不知道的信息。主动地参与世界,在代码和人类语言写作中充分预估别人可能不知道,展示自己的友善,而不是展示自己的聪明。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">如果你不知道应该如何表达,或者表达哪些信息,那么</span> <span style="font-family:宋体">多读书,多读别人的经验之谈,多读代码,多看看别人是怎么写的。不要沉浸在自己的小世界里,你不注意别人,就不知道别人需要什么信息,期待阅读什么。多想到别人期待什么,而不是你意图展示什么。这样,能避免写作和代码词不达意。你的个性和态度,没有人乐于为此付钱。帮助别人,别人才会付钱给你;请我们欣赏你的个性和态度,你需要付钱给我们。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">4</span><span style="font-family:宋体">)时间。快节奏,短迭代。时间驱动。对时间的估算和度量。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">课程每周一次。也就是说,如果师生在此中间没有任何沟通,那么学生在此时所犯的错误,可能要</span><span lang="EN-US">7</span><span style="font-family:宋体">天之后才能得以纠正;学生是否理解纠正,需要再一个</span><span lang="EN-US">7</span><span style="font-family:宋体">天老师才能观察到效果。如此往复,我们在一个学期</span><span lang="EN-US">16</span><span style="font-family:宋体">周中也不能交流多少东西。所以,提高工作节奏,以尽可能短的迭代来完成任务非常必要。这也是</span><span lang="EN-US">Agile/Xp</span><span style="font-family:宋体">方法论的核心之一,也是</span><span lang="EN-US">RUP</span><span style="font-family:宋体">接受的理念。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">齐嘉亮、刘伟硕、濮成林和夏一鸣都采用过短迭代完成作业。在作业部置的第二天,就已经提交一个版本,教师(和邹欣老师)给出的修改意见、增补的工作要求,在接下来本周过完以前再提交一次,可能根据修改意见再提交一次。这样,别人一次作业,他们不仅多了两三次的工作量(也即收获),而且远超这些,因为后面的几次作业是在教师针对性的指导之下的。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">相比之下,有些同学采取了等、靠、拖的策略。在作业截止时间最后几分钟提交,其中一个借口是"我希望尽可能完美"――但是不会比教师直接指导下的修改更完美,并且展示完美不是我们学习的目的。教师给出修改意见以后,不少同学说"我会在下次</span><span lang="EN-US">/</span><span style="font-family:宋体">以后的作业中改正",这基本等价于"老师,我已经给你留了面子,表达了充分的尊重,请不要逼我太甚"或者"我以后会改的,请不要再烦了我好咩"。如果那是错误,为什么不在本次改正?如果这是你期待的希望的"真正的"项目,不改正的错误会导致你白做,甚至可能赔偿损失。这种态度让我想起郭大侠的女儿郭芙,她砍了杨过的右臂,然后哭闹说,"我的确砍了你的胳膊,可是我被爹爹骂也骂了,对你道歉也道了,你还想怎么样啊。"郭芙之娇横可能连你也不能接受,不过那毕竟不是她本人的胳膊,而这是你本人的问题。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">也有的同学会说,我改你指出的毛病已经够费劲了,</span><span lang="EN-US">"</span><span style="font-family:宋体">你还想怎么样啊</span><span lang="EN-US">"</span><span style="font-family:宋体">。笑话又说,期末的突击学习的难度,取决于你是复习还是预习。学生费劲、教师频繁地提出修改要求,改了一个毛病又整出一个来,一方面是因为不改完第一个,第二个毛病无从改起;另一方面,实在是因为某些同学的基础太差啊。好吧,那不全是你的责任,而是以前你的学校、学院、教师的责任,让我们一起抱怨吧。然后静等这个世界变得更美好</span><span lang="EN-US">…</span><span style="font-family:宋体">和宽容。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">关于时间,邹欣老师还提到发布要求</span> <span style="font-family:宋体">时间驱动。没有截止时间的压力,同学们不定哪天才能完成</span><span lang="EN-US">—</span><span style="font-family:宋体">一般是最后一天开始动手。夏一鸣同学在期末总结时感叹,学期初的愿望有两个,其一是</span> <span style="font-family:宋体">题目难道能循序渐进,其二是</span> <span style="font-family:宋体">如果太难,希望能放宽时限。一个也没有实现,不过他大大地成熟了,已经进步到不再有这两个愿望,而是"老师是不是可以分配给我下一个任务了。"</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">时间要求是个硬线,在教学中,宁可缩小功能范围、降低质量,也不能超时。就在要求的那个时间,无论如何,程序要发布要可执行。我喜欢说的一句不太动听的话,在规定的时间规定的任务必须交付,如果做得像屎一样,就交付屎一样的工作,并接受别人对我们屎一样的评价。下次更努力一些,不要在这一次就求饶。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">与时间相关的最后一个问题,同学们普遍缺乏对时间的估算和度量的意识,如果说对代码量的估算和度量还有那么一点意识的话。时间是工程中最重要的资源(没有之一,因为时间直接地就是生命,别的都不是),所以对于自己做类似项目的能力的度量应该持续进行,这也应该成为事后</span><span lang="EN-US">review</span><span style="font-family:宋体">诸葛亮会议的重要内容,并根据这种度量一次次在新项目开始前估算时间,在项目结束后对比事前估算与事后度量,增强下次的估算能力。自动控制中常用的</span><span lang="EN-US">PID</span><span style="font-family:宋体">方法、机器学习中各种基于经验的方法、读者故事里鲨鱼怕疼不敢撞玻璃那样的浪漫的基本原理也大抵如此。我们怎么能在工程中有时重视估算和度量,而对最重要的时间却如此忽略。多么精分啊。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">5</span><span style="font-family:宋体">)规范</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">规范不止是代码规范,还有作业要求,用人类语言表述的作业要求的条目。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">为什么没有一再地强调规范,因为同学们普遍地达不到更低的要求,所以教师放弃了规范这样更高的要求。时间、工作量、工作报告质量、视频,很多不能达到最低要求,有不少同学直接忽略部分作业条目,当没看见。同学们根据工作量和时间调整要求,而不是根据要求调整投入的工作量和工作时间。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">还是在知乎编译原理是否屠龙技一问中,我这样回答,"能找到的活儿太差的时候,觉察不到技术的必要。成天跟小孩打架,不用练力量敏捷抗打击;成天盖狗窝,不需要图纸和水泥标号。如果理想就是这样,龙只是传说,屠龙技当然毫无用处。"如果你满足于这样的生活,不希望精益求精成为一个更优秀的工程师,我又有什么法子。我当然知道优秀的教师能够"有教无类","没有差生,只有差教师",可是,偏偏我不是优秀的教师,咱们可怎么办呢。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">对于不完成作业的全部这一点,教师考虑过以更详细和严厉的规则来应对:作业应该针对小项倒扣分,而不是全部作业都不完成才倒扣分。不过,教师担心这会开启</span> <span style="font-family:宋体">狱警</span><span lang="EN-US">-</span><span style="font-family:宋体">囚徒模式,尤其学生是研究生阶段的</span> <span style="font-family:宋体">成年人,理应获得这样程度的尊重。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">说起尊重,我想起一个故事。据说侵略者为了瓦解印弟安人,对战士说,"你在部落里有什么样的权力?"战士回答,"我有冲锋在前的权力。"冲锋在前,是一种权力,这是尊重的来源。我尊重你是成年人,作法就是像对待成年人一定对待你,绝不称你为"孩子""那个孩子""那些孩子",绝不轻拍你的高贵的头以示亲昵;我尊重女性,作法就是像对待男性一样对待女性,尊重她们冲锋在前的权力,所有的爱护都无声地宣布"你是弱者,自觉承认"。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">我尊重你,尊重你按约定完成任务的自觉和按规范完成的能力。你按约定和规范完成任务,是对我的尊重的尊重,也是对你自己冲锋在前的权力的尊重。你之所以能看到的我的愤怒和失望,是因为你放弃了权利,你没有侮辱了你自己也侮辱了我,也是因为我对自己的无能的认可和恐惧。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">6</span><span style="font-family:宋体">)学生观摩。现实,外界的限制。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">邹欣老师希望学生能够观摩</span><span lang="EN-US">final</span><span style="font-family:宋体">发布和各次发布,他希望退课的同学能回来看看,看看失去了什么;他希望本科生也能来看看,看看可能在将来学到什么。邹欣老师还希望成绩能够严格执行平时作业的标准,并且平时作业应该占到应该的比重。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">这些期待,我很惭愧,没能全部实现。作为主讲教师,我切身体会其中的难处,有些超过了时间花费、知识结构和技能,进入了我们所隶属的单位的组织结构(和课程体系)。课程教学只是上级(我不是在讨论赞同或反对高校行政化)要求的诸多工作的一部分,还有很多别的工作,这并不是最主要的原因。更重要的原因是,如果那么做,所付出的代价。不是克服困难所付出的努力,而是克服困难所需要承担的后果。所以,所谓"尽我所能""不惜一切代价"我从来也没有脸去说,也不能以此要求我的同学们。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US">7. </span><span style="font-family:宋体">总结</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">回望来时的路。构建之法</span> <span style="font-family:宋体">东北师大站</span><span lang="EN-US"> 2016</span><span style="font-family:宋体">春季学期,终于结束了。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">第</span><span lang="EN-US">4</span><span style="font-family:宋体">周的时候,我曾经写过鸡汤如下,赞扬</span><span lang="EN-US">2</span><span style="font-family:宋体">位领跑同学和当时尚未放弃的</span><span lang="EN-US">18</span><span style="font-family:宋体">位同学。其实情形一直这样艰难,从来也没有改变。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">他们的成绩反映的是这样的场景下的胜利</span><span lang="EN-US">:</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">你是一位将军,</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">部队弹尽粮绝,而且很饿;</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">战士战术技能很差,装备落后;</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">行军在敌国的沼泽里,风声鹤唳;</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">敌人有空中支援,有坦克,有热的饭菜和热水;</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">上级是没脑的杨贵福,战略垃圾,脾气暴躁,</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">他决定此刻立即开始,进攻前方的碉堡,既没有迫击炮也没有照明弹,</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">只有炸-药-包。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">你的下级准备解散部队,准备撤出战场,准备起义反对你。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">你说,不惜一切代价,</span><span lang="EN-US">16</span><span style="font-family:宋体">周突袭。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">这就是</span><span lang="EN-US">4</span><span style="font-family:宋体">周以来的战况,我们还活着。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">我们还有</span><span lang="EN-US">12</span><span style="font-family:宋体">周战斗。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"><span style="mso-spacerun:yes"> </span></span><span style="font-family:宋体">继续冲锋。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span lang="EN-US"> </span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">此刻,继续冲锋。</span></p> <p class="MsoNormal" style="text-align:left" align="left"><span style="font-family:宋体">如果你为感想和收获还不到教师的一半长度而惭愧,此刻,继续冲锋,不要等到下一次作业再改进。没有下一次。</span></p> </div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-9579088241043627492016-03-29T20:16:00.002+08:002016-04-07T18:06:13.758+08:00Debug一例,Wordpress 插件 Blogger Importer Extended 导入 blogger 图片问题<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJlgch2iIPjpBLfUYSzFF6KjdxhyphenhyphenwLq_KCfdkzrbfLgPHRHqFzr4r7U6UCWbM9pHv_3nyVVjAnlUPinY1v1TaAypLPscXztM3Fgf-aCt_97KXt8RIpK2IeMVim2G9xsLJARuSw1BUDfjE/s1600/%25E6%25B7%25A4%25E6%25B3%25A5%25E6%25B2%25B3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJlgch2iIPjpBLfUYSzFF6KjdxhyphenhyphenwLq_KCfdkzrbfLgPHRHqFzr4r7U6UCWbM9pHv_3nyVVjAnlUPinY1v1TaAypLPscXztM3Fgf-aCt_97KXt8RIpK2IeMVim2G9xsLJARuSw1BUDfjE/s640/%25E6%25B7%25A4%25E6%25B3%25A5%25E6%25B2%25B3.jpg" width="640" /></a></div>
<br />
1. 背景和问题<br />
<br />
2月25日至29日,约12小时,中间有预计会有长时间导入的过程,享受咖啡和小说。<br />
<br />
起初,高博先生微信我,向我提供博客空间。他鼓励我,这样爱写作的人,应该坚持下去。我申请了域名,高博先生提供空间并架设wordpress已毕。既然准备长时间驻守,我就打算把以前在 blogger、CSDN、短乎 上的博客全导过来,计1478篇。<br />
<br />
问题就是从导入 blogger 开始的。我和高博先生都发现,有些贴子的图片不见了。<br />
<br />
最先确认的是,一部分不见的图片,是因为我从知乎贴过来,如果我作为知道用户登录了知乎,那么我是可以在导入后的文章中看到图片的;而高博先生及其他人就看不到。我以前从知乎向CSDN转贴的时候,还想过,知乎真是大方有礼的网站啊,居然可以直接盗链。恩,似乎也不是。如果盗链的时候就告知还好,竟然不声不响么……这部分图片我手动一张张重新上传过,OK了。<br />
<br />
但是仍然有几张图片显示不出来。在网上搜索了一下,有人提到 (大意) ,"图片都下载到wordpress服务器了,在文件系统中找到了,但是在博文中不显示"。似乎正是这样啊。<br />
<br />
跟着讨论走下去,发现导入插件的作者9个月前说打算解决,然后就没了消息。下面一大堆回贴,"我也是这个毛病啊"。<br />
<br />
高博先生说,用正则表达式容易定位出哪些图片有问题,不过如果找到bug,方便大家就更好了。他提到用正则表达式的时候,我心说惭愧,竟然没有第一时间想到;当他说方便大家的时候,我觉得"压出皮袍里的小来了"。<br />
<br />
见贤思齐,跟踪一下这个bug在哪里吧。于是动手,12个小时,及这篇贴子。<br />
<br />
我用的wordpress插件,实现 blogger -> wordpress 的,是这个:<br />
<br />
Blogger Importer Extended Migrates your Blogger blog to WordPress. Version 1.3 | By Yuri Farina<br />
<br />
2. 故障重现,实验床: 受控,孤立<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuGZ6e_Jai4W15D9FJxVnMcTnL1I6-0DCWNPWjCuEEPLCVKhZzwY4lWwAEkR0jJUcKVHlFbHhuTTKjSvwPUiqvZHHYeSfDBbjB33WtxU1_JhyphenhyphenKQvjkUmWA27dU3rOfXqF9ZcA46r4Qlg/s1600/%25E7%2581%25AF%25E5%2585%2589%25E4%25B8%258B%25E7%259A%2584%25E8%25B1%25B9.jpg" style="margin-left: 1em; margin-right: 1em;"></a><br />
得先找到bug,然后才能改bug,而找bug,又需要先重现bug的现象。这是个简单而直接的道理,不过不少同学似乎不怎么相信和实践呢。我经常听到这样的问题,"老师你说我看啥书才能编程好呢",这类似于"你说我吃点啥能减肥"。<br />
<br />
万军丛中定位将军,是件困难的事,杀了他,通常不过是一刀的事。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuGZ6e_Jai4W15D9FJxVnMcTnL1I6-0DCWNPWjCuEEPLCVKhZzwY4lWwAEkR0jJUcKVHlFbHhuTTKjSvwPUiqvZHHYeSfDBbjB33WtxU1_JhyphenhyphenKQvjkUmWA27dU3rOfXqF9ZcA46r4Qlg/s1600/%25E7%2581%25AF%25E5%2585%2589%25E4%25B8%258B%25E7%259A%2584%25E8%25B1%25B9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLuGZ6e_Jai4W15D9FJxVnMcTnL1I6-0DCWNPWjCuEEPLCVKhZzwY4lWwAEkR0jJUcKVHlFbHhuTTKjSvwPUiqvZHHYeSfDBbjB33WtxU1_JhyphenhyphenKQvjkUmWA27dU3rOfXqF9ZcA46r4Qlg/s320/%25E7%2581%25AF%25E5%2585%2589%25E4%25B8%258B%25E7%259A%2584%25E8%25B1%25B9.jpg" width="320" /></a><br />
故障重现,要求能一次又一次,在相同的条件下,触发相同的现象。而这个现象,就是你希望它消失的那个。要给药退烧,必先测体温。你猜大约是发烧了吧,猜大约是肺部感染,猜大约哈希表比数组来得快,都是猜,所有的猜测,无论是否有理论支持,在实验数据面前都是猜瞎。不少同学上来就改改这看看吧,改改那看看吧。然后某次现象消失了,他就误认为问题解决了。这叫做work around (绕过问题),不是解决。<br />
<br />
故障重现有时需要1.特别长的时间,或者2.特别宝贵的资源,或者3.生产环境不允许动作,或者4.代码特别长特别复杂,这时需要 实验床。实验床有利于在*受控*的环境下触发特定的条件,从而导致特定的现象,方便重复。实验床有利于孤立问题使之与其他复杂的环境和因素解耦。<br />
<br />
如果能证实实验床与生产环境是一致的,那么bug的触发条件、现象也会是一致的。实验床就成为生产环境的一个模型。在模型中思考和操作,是重要的科学、技术和工程手段。<br />
<br />
这次找bug架设实验床,我注意了以下两点。<br />
<br />
2.1 先本地测试,再更新到远程,xampp<br />
<br />
重现故障现象,而且不知道是哪些图片 (更重要的是在何种条件下) 有问题,最朴素的做法是从 blogger 到 wordpress 同步实验,一次又一次。每次实验改变单一的因素,看看故障是否再现/消失。<br />
<br />
从 blogger 到 高博先生提供的wordpress,速度也没有多快,而且我担心他的流量和带宽占用。<br />
<br />
所以实验床应该架设在本地。<br />
<br />
我在我自己的PC机上架设了一个 xampp,装上 wordpress,从 blogger 到我本地的 wordpress 同步。这样,我至少不用担心高博先生在哪个时区,是否方便打扰,何时可以响应我的请求重启服务器、清空数据库、重置 wordpress。等我本地找到bug修改完,再在远程的服务器上修改。<br />
<br />
我不止一次对编程的伙伴们说,把手册下载安装到本地,但是网断的时候他们还是会说,"网断了查不出手册啊,编不了程序了啊。"我想说,没有人可以依靠,除了你自己;成为可以被别人依靠的人。<br />
<br />
2.2 小规模实验,确保触发故障现象快速精确<br />
<br />
同步所有的博客文章,才能触发问题。但是执行一次同步,需要耗费两三个小时。有些动作,并不需要触发问题,所以同步的不必是博客文章中的全部。这些动作包括不限于,1.下面会提到的加入日志记录语句 (并测试是否生效),2.猜测某个因素是造成问题的原因,修改这个因素以后测试效果。<br />
<br />
所以实验床应该短小精悍。<br />
<br />
我注册了一个新的 blogger 站点,发一两个贴子,专用于 wordpress 拉取。这样能确保触发故障现象的因素 快速 而 精确。想调校哪个参数立即就可以测试,不必等到一千多篇博文同步的两三个小时。而且更容易确保造成现象的原因就是某个因素,而不是整个庞大项目中的某个你无意中设置的变量。<br />
<br />
我就在这个新的 blogger 站点上发贴子,粘图片,每次同步几秒钟。<br />
<br />
架设实验床的时间,考虑实验床如何架设的时间,这些都是值得的,甚至单轮测试所花费的时间缩短的效益就值回来了。<br />
<br />
3. 故障定位,日志: 受控,易于追溯<br />
<br />
有了实验床,就可以罗列可能造成问题的因素A,B,C,D ,然后设计实验,一一验证或证否。所以,故障定位,是这样的技术手段,在受控 (各种因素)条件下,重复过程,以检验假设。<br />
<br />
3.1 跟踪手段选择,error_log,可长期留存的 vs. 瞬间消失的<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhQk-LPYDj88TI7P3vW9iTA7z0bA6iXyP9HUW1G1yVYTAv0azKSybwOOkXxHQxK8BHUrhWkf1VYBpYABkthnxSIxsQ_jQMZ3OBfpWUCROo6W-eTPX03Kvor6BEz4H64wtsDPf_cwcR9yw/s1600/%25E6%25B8%2585%25E6%25B9%2596.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhQk-LPYDj88TI7P3vW9iTA7z0bA6iXyP9HUW1G1yVYTAv0azKSybwOOkXxHQxK8BHUrhWkf1VYBpYABkthnxSIxsQ_jQMZ3OBfpWUCROo6W-eTPX03Kvor6BEz4H64wtsDPf_cwcR9yw/s320/%25E6%25B8%2585%25E6%25B9%2596.jpg" width="240" /></a><br />
重现故障,初学者希望立即、马上、直接看到效果,铛地一声弹出个对话框,告诉他出错了。<br />
<br />
人类不同于动物的一个重要特征,是可以理性地推迟期待的效果。然后成批次处理。日志输出输出输出输出,然后分析分析分析分析,而不是 输出分析输出分析输出分析。在操作系统进程调度算法中,效率最高的,是成批处理,不分时,不中断,不切换进程。学习和工作效率最高的做法,是集中注意力,完成一件工件,然后再开启新的任务。<br />
<br />
日志输出、TDD、自动化测试、脚本,甚至程序本身,都遵循了这样的原则。<br />
<br />
用日志跟踪,而不是实时显示,能避免不少问题。比如,工程师借口说,"当时我操作啥我也不记得了,反正故障消失了,等以后再出现再说吧。"你可以一次又一次分析日志,条件、现象都在日志中记录中,而不必非得再开启一次实验才能回想起来。"我输入什么这个现象才出现来着,唉呀状态不好,忘了。"工程方法让每一个人都不必非得是天才,也能做好工作。<br />
<br />
我选择 php 本身内置的 error_log,日志写到error.log中,而不是另打开一个文件写进去。如无必要,勿增实体。紧着现成的用。<br />
<br />
3.2 读代码框架,了解流程,确保日志可以被触发<br />
<br />
接下来我大致读了 wordpress (之前粗读过一本书和 wordpress 手册)代码,然后沿着这样的顺序找到准备设置日志记录的代码行:<br />
<br />
wordpress -> blogger-importer-extended插件-> importer.php -> 函数-> 代码行<br />
<br />
设置位置的原则,跟猎人设置陷阱的原则是一样的,1.要确保目标猎物会经过此处,2.目标猎物会触发陷阱,3.当触发时能够把猎物抓住。<br />
<br />
就这个案例而言,对应的是,1.跑每次实验流程的时候,希望执行 发现图片、下载图片、改博文中图片的地址 这些操作的时候,能够记录这些动作,成功的和失败的。2.失败的图片,那些图片下载了,但是博文中的地址指向却没有变更的,一定要记录下来。不希望跑了一次实验,有失败的现象出现,但是却没有捕捉到。3.当触发了日志记录动作以后,希望把准备用于分析的信息都记录下来。不希望跑了一次实验,现象也发生了,也记录下来现象发生了,但是发生的现象以及此刻变量的现象没有记录。<br />
<br />
3.3 输出的字段,0.易于找到,1.触发条件,2.assert<br />
<br />
记录哪些字段呢?我想的包括: 0.易于找到,1.触发条件,2.期待的,实际的<br />
<br />
第一,易于找到,要容易在很多行日志里找到,所以加上明显的分隔线和换行。<br />
<br />
在Linux下,我就开个终端,tail -f error.log,完成一次实验,往上翻到刚刚开始实验时候,往下读。这次是windwos,我记一下实验开始的时间,然后在日志里找,或者在每次实验时在日志里写个明显标记,从结尾往上,最后一个标记就是本次实验的开始。<br />
<br />
第二,要记录触发的条件<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5IyBJHInhYbK6LZL56tP3aUFM8LiBNK-ZrtirZ9FvQ4AqVZOE01exOs6I4kHs8E1PnON8ax0wA0BLLrB-drmrOTAyEKukp82G2RUmHyKPLYclAjxL1t1YoJhGrUhTfrGCnrDi5Br0Ps0/s1600/%25E7%259B%25B4%25E8%25B7%25AF.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5IyBJHInhYbK6LZL56tP3aUFM8LiBNK-ZrtirZ9FvQ4AqVZOE01exOs6I4kHs8E1PnON8ax0wA0BLLrB-drmrOTAyEKukp82G2RUmHyKPLYclAjxL1t1YoJhGrUhTfrGCnrDi5Br0Ps0/s320/%25E7%259B%25B4%25E8%25B7%25AF.jpg" width="240" /></a><br />
分析的时候,找到出故障的那条,看何种条件下会触发。这就是程序设计语言里的" if ( condition ) "里的condition。如果每当这个条件都会导致故障,就可以怀疑这个条件可能就是原因。<br />
<br />
需要注意的是,因为找到bug以前还不知道触发的条件,所以尽可能多记一些怀疑的条件 (在眼花缭乱以前),每次实验就能多分析一些因素。<br />
<br />
我按下面这样日志。<br />
<br />
error_log("-foreach post----\n"<br />
. print_r($post->post_date,true)."\n"<br />
. print_r($post->post_title,true) . "\n"<br />
. print_r($found_images, true), 0);<br />
<br />
这一条记录了触发日志记录 (不是触发故障,那需要根据日志人工判断)的条件foreach post,遍历每篇博文的时候;记录了博文的日期 post_date,博文的标题 post_title,图片的某个信息 (路径?名字?很多图片的名字拼接在一起?)。<br />
<br />
第三,你期待会是某个值的变量,如果它值得怀疑,记录它。对比你期待的值和实践发生的值,如果有差异,那就是问题的原因。这个变量,既可能是条件中的,也可能是参与计算和输出的。<br />
<br />
在这里 $found_images 就是值得怀疑的,我打印了不少次这个变量,在不同的位置。C++开发原则之一,assert你认为本该如此的那些量。这时我做的差不多根据同一原理。<br />
<br />
3.4 日志分析,触发事件的特征<br />
<br />
接下来就是人力工程了,一行行读代码,找到故障发生 (我们记录了进入那样的分支,比如那些成功的操作以外的else)的地方,看触发故障时 各个因素 (条件)都是什么样的。<br />
<br />
故障发生的条件,是不是有规律?每当这个时候我就想起包师弟,归纳能力超强,能从乱七八糟毫无规律的现象中发现模式。恩,他的模式匹配算法可能比较好,很多智商测试题都是考察归纳能力的。<br />
<br />
这次,我独立找到了模式。中文。<br />
<br />
如果文件名是中文,比如"鹦鹉螺",那么就会发生故障。一共15张图片符合条件。<br />
<br />
进而发现,所有文件名是中文的,都发生了故障;所有文件名是英文的,都没有故障;所有没有故障的,都是英文文件名;所有发生故障的,都是文件名中文。<br />
<br />
4. 解决<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDM45XmzyPSr-eIkoza9f8yBzJnyuS6RQNMCOox_sRJnGWIn2eHTkMbMxtpsY4UN2FTTsC5OiFpSWFuikU2LZEIr5iMaTj8oo7171_YzgrBOmL3NRF9MqGm_7TaWyR3GAisTlch2iJZLo/s1600/%25E8%25B1%25B9.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDM45XmzyPSr-eIkoza9f8yBzJnyuS6RQNMCOox_sRJnGWIn2eHTkMbMxtpsY4UN2FTTsC5OiFpSWFuikU2LZEIr5iMaTj8oo7171_YzgrBOmL3NRF9MqGm_7TaWyR3GAisTlch2iJZLo/s320/%25E8%25B1%25B9.jpg" width="320" /></a><br />
万军丛中取上将首级。万军丛中找到上将很花时间,此次约10小时。斩杀上将,只是一刀,约几秒钟。验证上将确实死透了,需要的时间稍微长一些,先实验床,然后生产环境。<br />
<br />
一共只改了一行,如下,正是中文文件名容易出现的问题。原来的代码,在文件系统中和在博文的 img src 中,分别 urlencode 和 没有urlencode,所以当查找那个文件时,按期待的名字,它不存在。<br />
<br />
下面的代码,注释了的那行,就是bug所在,注释那行的下面,是我修改的结果。<br />
<br />
wordpress\wp-content\blogger-importer-extended\includes\importer.php:<br />
if(!is_wp_error($image)) {<br />
$attachment = wp_get_attachment_image_src($image, 'large');<br />
//$content = str_replace($found_image, $attachment[0], $content);<br />
$content = str_replace($found_image, dirname($attachment[0]).'/'.urlencode(basename($attachment[0])), $content);<br />
<br />
5. 修改工具,还是修改产品;一般性的程度<br />
<br />
我没有修修改插件的代码,仅仅测试通过。我手动修改了在高博先生那的wordpress里的15篇博文。我选择的是修改产品,而不是工具。<br />
<br />
鉴于出现这个问题的,可能主要都是能读懂中文的,所以我写了这篇博文,而不是修改插件再发布。<br />
<br />
修改工具能更一般性地解决问题,更大范围地产生效益。我惭愧,还是没有高博先生那么有高度和乐于助人。<br />
<br />
5. 感谢<br />
<br />
感谢高博先生的空间和时间。<br />
<br />
感谢winguse先生提供链路,使我得以访问 blogger。blogger,就是 google 的 blogspot,如果不能访问到的话,我没法授权 google 允许导出,也不能导到我的本地测试PC机中。<br />
<br />
在跟高博先生和winguse先生讨论的时候,我都很享受,高效率地交流使用条款和技术路线。三言两语可决,毫不罗嗦。<br />
<br />
感谢叶卡编辑让我认识高博先生,及那么多精彩的人。<br />
<br />
感谢 Yuri Farina 开发 Blogger Importer Extended 插件,使我得以取回自2007年2月以来的历史博文。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaRR-UqHhCj6NuKVcXqTDxq-GXWRou_pRlA3RjpHLTO4CGCSY7m0VN43k8VWZCrX750JCWmaMlltUjCsdwICN5KAujmv5huQfN_BB9K3l6iWksKKi7kjaACcRBro1xC-BVXYD4XiG7Ky4/s1600/%25E7%2594%25B5%25E7%25BA%25BF%25E6%259D%2586.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaRR-UqHhCj6NuKVcXqTDxq-GXWRou_pRlA3RjpHLTO4CGCSY7m0VN43k8VWZCrX750JCWmaMlltUjCsdwICN5KAujmv5huQfN_BB9K3l6iWksKKi7kjaACcRBro1xC-BVXYD4XiG7Ky4/s320/%25E7%2594%25B5%25E7%25BA%25BF%25E6%259D%2586.jpg" width="240" /></a><br />
------------------------------------------------------------<br />
<br />
博客会手工同步到以下地址:<br />
<br />
[http://zhuanlan.zhihu.com/younggift]<br />
<br />
[http://younggift.net/]<br />
<br />
[http://blog.csdn.net/younggift]<br />
<br />
[http://giftdotyoung.blogspot.com]Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-10991711800265097602015-06-01T01:16:00.001+08:002015-06-01T01:16:48.554+08:00当推理不需要逻辑能力,也兼 学习离散数学或数字电路有什么用处<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUgdgMFt_TICS_d92aIUR1D65DAoUW4cdIiVBQnmz9sop2Gl0AZA4EjBRBqASYoKK8hGHLK_M4sYNmoT4IuYwOFst1WTYoK068wIZXMOM6xRuUsdA8qJNHDV8XBsFSDYW-mnvPnk06VQ/s1600/%253D%253FUTF-8%253FB%253F6bmm6bmJ6J66LmpwZw%253D%253D%253F%253D-708554"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoUgdgMFt_TICS_d92aIUR1D65DAoUW4cdIiVBQnmz9sop2Gl0AZA4EjBRBqASYoKK8hGHLK_M4sYNmoT4IuYwOFst1WTYoK068wIZXMOM6xRuUsdA8qJNHDV8XBsFSDYW-mnvPnk06VQ/s320/%253D%253FUTF-8%253FB%253F6bmm6bmJ6J66LmpwZw%253D%253D%253F%253D-708554" border="0" alt="" id="BLOGGER_PHOTO_ID_6155085894159269282" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpV9uI5tzXL09fAupw-6ssQLxg3fQKUnSv7H3liNf3UCijaZsSG0bTooAx_GF_SQyYgRq15cPPuA7VXnwINaCKKjMEHpwXLPV1NEy0jWsWiQ6ZGsJ465VPn2I_u8xm9dMJ7k3u7TlbYQ/s1600/cat-714870.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpV9uI5tzXL09fAupw-6ssQLxg3fQKUnSv7H3liNf3UCijaZsSG0bTooAx_GF_SQyYgRq15cPPuA7VXnwINaCKKjMEHpwXLPV1NEy0jWsWiQ6ZGsJ465VPn2I_u8xm9dMJ7k3u7TlbYQ/s320/cat-714870.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6155085923889154994" /></a></p><div dir="ltr">当推理不需要逻辑能力,也兼 学习离散数学或数字电路有什么用处<br><br>1.智力测验,逻辑题,鸡兔同笼,一元二次方程<br><br>有一类智力测验题,会问到"甲说丙说的是假话,乙说甲在瞎说"什么的;还有类似这样的,"凯特是你的秘书,问是不是办公室里至少有一个人长发及腰"。得分高的,就被评为智商高,或者逻辑能力强。<br><br>这种题目所涵盖的智商 (如果能够有所涵盖的话)是非常狭窄的,不包括音乐、美术、语言等很多方面。所以,我认为这种题目啥也不代表。而且,我曾经吹过牛,说这种题目与逻辑推理能力无关。有人不信,今天我证明给你看。<br><br>我们先明确一个边界,什么能够算作智力。作为人类,区别于动物的最重要的特性是,我们会使用 (或制造,如刘典同学所强调的)工具。又,按萨特的说法,你是一个什么样的人,完全取决于你的外在,而与你内心所想无法--即,如果你终生表现得勇敢,即使每一次你都吓得心中不住地发抖,按你的表现,你仍是一个的勇敢的人。<br><br>就像函数,我们只关心它的输入与输出,或者更严格地说,我们只关心它的输入与输出间的对应关系。至于函数如何实现的,是用C语言,用电子线路,用机械,用人脑,我们并不关心。<br><br>就像中文屋子 (请GOOGLE)。<br><br>就像我拿个计算机或打开EXCEL,而你练了十年珠脑速算,我 (计算器是我的一部分) 的开方、求对数、三角函数的速度可能比你还要快。<br><br>就像你在小学是个非常聪明的学生,解鸡兔同笼问题简直不假思索,本能一样。到了初中,你还是会发现,把鸡兔同笼问题设为 二元一次方程,只有这一步需要一些思考 (需要设鸡数为x,兔数为y),然后就是机械解题了。机械解题这一步,毫无智商可言。<br><br>自从有了火器,开枪杀敌,就跟体力关系不大了。工具,是人类肢体和头脑的延伸。<br><br>幸运的是,连逻辑推理,至少智力题这种程度上的,也可以用工具解决。你,加上工具,所表现出的智商,就显得很高。<br><br>当然,有一点需要点严谨。"凯特是你的秘书,问是不是办公室里至少有一个人长发及腰",这样的题目,你需要意识到 凯特 这一命名,并不意味着秘书的性别,也不 (而不是 更不) 意味头发的长度。甚至连这点严谨,如果你能使用接下来我要说的数学工具的话,也不太需要,因为当你把凯特抽象 (形式化) 为x的时候,你不能"显然"地找到性别的依据,只好认定条件不足。<br><br>2. 两道智力题的数理逻辑解法 示范<br><br>光说理论和类比,估计你也不信。下面演示两道题目。<br><br>2.1 谁是罪犯<br><br>这道题目就是从网上随便找来的。<br><br>A 说 不是我<br>B 说是 D<br>C 说是 B<br>D 说 B在诬陷他<br>假设他们其中有一个人说的是真话,那么谁是真的罪犯?<br>[<a href="http://zuoye.baidu.com/question/299842b63d6092288532e871ab55857c.html">http://zuoye.baidu.com/question/299842b63d6092288532e871ab55857c.html</a>]<br><br>答案是: A是罪犯<br>有位答题的同学说,"一个一个假设为真,其余为假.只有D说的情况可以符合."<br><br>这种题目,通常有个非常漫长的解题过程: 假设A如何,然后一顿推导;假设B如何,然后又一顿推导。<br><br>下面的方法,来自从数学家 布尔 开始的方法,据说罗素和他的学生维特根斯坦在《数学原理》或《数学的原理》中首先提出了数理逻辑的这种推导手段。现在,这种方法广泛地记载在《离散数学》和《数字电路》的数理逻辑一章中。这些前辈证明了,逻辑推导与数学计算是等价的。<br><br>为了清晰,我们分3步走。<br><br>第1步,我们做个表格,横行代表每个人所说的,纵列代表假设某个人说的是真话,交叉的单元格代表在 这一假设 (某人说的是真的)下横行对应的那个人说的话是真的还是假的。<br><br>1| a=1 b=1 c=1 d=1<br>2| A !a ? ? ? ?<br>3| B d ? ? ? ?<br>4| C b ? ? ? ?<br>5| D !d ? ? ? ?<br><br>大写 代表发言的人,小写 代表假设 (或观点中) 此人是罪犯。如,a=1 代表(假设) a是罪犯,!a 代表 (A的观点),a不是罪犯。<br><br>其中<br>第2行,"! a"代表 "A 说 不是我";<br>第3行,"d "代表 "B 说是 D";<br>第4行,"b "代表 "C 说是 B";<br>第5行,"!d "代表 "D 说 B在诬陷他",即 对B的观点 (d)取非。<br><br>a=1,并非严格的表述,它的含义是,a是罪犯,并且其他三个人都不是罪犯,所以,严格的表述是: a=1 & b|c|d = 0。本文为节省空间,"并非罪犯"在表头中从略,但是"推导"中仍然需要这一条件。<br><br>第2步,我们填充表格中的单元格,设为1为真 (某人是罪犯,这一命题属实) ,0为假。<br><br>1| a=1 b=1 c=1 d=1<br>2| A !a 0 1 1 1<br>3| B d 0 0 0 1<br>4| C b 0 1 0 0<br>5| D !d 1 1 1 0<br><br>这是这么填上的,我举一个例子,如第2行的 "a=1" 这一列。<br><br>当 a = 1 时, 这一行 "!a" 的值为 ! 1,即0。<br><br>再举个例子,第5行"b=1"这一行。<br><br>当 b = 1 (并且 a|c|d=0,也即a、c、d都为0) 时,这一行 "! d"值为 ! 0,即1,<br><br>这一步里,有时我用到了一些数理逻辑 (布尔代数,完全不是逻辑推导)的小技巧。比如"a|c|d=0,也即a、c、d都为0",这是析取 (或)的特性;下面的题目里,还对蕴含作了化简,为了计算的时候更方便。值得指出的是,即使完全不使用这些技巧,也并不不会令解题难度增加多少。甚至,你只要能查到这个表达式对应的真值表,完全不会布尔代数也能解出来。因为题量小,速度也并不慢。上面这道题,填充表格,一共解了16个单一变量的表达式,都是可以秒出结果的。<br><br>第3步,查数。<br><br>我们可以注意到,第1步是把智力题 (的众人说的话这一条件) 转换为布尔代数,第2步是在布尔代数的领域中求值,第3步,把智力题的另一条件 ("假设他们其中有一个人说的是真话")用上。此处推荐 波利亚 《怎样解题》,他老人家说,只要到了卡住的地方,把所有已知条件 (及问题)都再捋一遍。<br><br>"假设他们其中有一个人说的是真话",就是把上面填充完的表格,纵向查一下,哪一列 只有一个1,其余的都是0。上面我提到过了,1代表属实。只有"a=1"符合这一要求。<br><br>意思就是,"a=1"就是答案,即a是罪犯。<br><br>回顾。<br><br>你可能会说,我这方法求了16个表达式,而如何使用"聪明"的逻辑推理,可能表达式 (或推理过程) 根本不需要这么多个。这就跟传说中的故事一样,据说P&G的博士生想了一堆办法,才解决了盒子里到底有没有装上肥皂,而民企的农民工架上台电风扇就解决了。博士的优势在于,他的知识结构和办法*总能*解决问题,而农民工及其办法下一次就不一定好使了。<br><br>你也可能会说,我这办法也不是智力 (或能力)啊,而是知识,只要你会,人人都能解决。这正是科学技术与巫术的区别。凡是人类,都能学会;学会以后,都能应用;应用以后,人人都变聪明了。注:这种聪明,不是时下中国人太多的那种聪明。<br><br>2.1 再来一道题,谁偷吃的<br><br>A说:是B偷吃的,<br>B说:是D偷吃的,<br>C说;我没有偷吃,<br>D说:B在撒谎!<br><br>其中有一人说了真话,谁偷吃了蛋糕?<br>[<a href="http://tgyd2006.iteye.com/blog/748679">http://tgyd2006.iteye.com/blog/748679</a>]<br><br>求得的表格是这样的:<br><br> a=1 b=1 c=1 d=1<br>A b 0 1 0 0<br>B d 0 0 0 1<br>C !c 1 1 0 1<br>D !d 1 1 1 0<br><br>注: a=1意思是 a=1 & b|c|d=0。其余三列同。<br><br>因为只有1个人说了真话,所以查数,找到只有1个1的列,即"c=1"。<br><br>结论,C偷吃了。推论,D说了真话。<br><br>作为对比,给出某位网友的推理过程:<br>----引文开始<br><br>假设A说的是真话那么蛋糕就是B吃的,但是C说的是假话"我没吃"就是"我吃了"所以蛋糕是C吃的,有此看来A说的是真话不成立!<br>假设B说的是真话那么蛋糕是D吃的,但是D说的是假话"B在说谎"就是"B没说谎",C同样说了假话"我没吃"就是"我吃了"所以B说的是真话也不成立!<br>假设C说的是真话那么B说的是假话"是D吃的"就是"不是D吃的",D说的假话承认了是自己吃的,因为矛盾,所以C说的真话不成立!<br>假设D说的是真话A,B都说的假话,所以排除B,D吃蛋糕的嫌疑,因为C说的也是<br>假话,就是"我吃了"所以蛋糕就是被C给吃的,而真正说真话的人是D!<br><br>----引文结束<br><br>对比自然语言的推导,你可能已经感觉到,布尔代数的方法,是不需要智力 (和逻辑推导能力) ,甚至不需要注意力,也不需要注意力持久的。<br><br>工具,正具有这样的特性,让每一个平凡人成为更强的人。<br><br>3.知识的力量<br><br>上述用布尔代数解智力题,不需要逻辑能力;不过,这种方法确实需要你 知道这种方法 的存在。<br><br>这对很多人是个障碍: 我用现在的手段,已经能 (很好地)解决这个问题了,为什么我还要学新的技术呢?我生活在田园牧歌似的岁月 (和村庄)里,不是很浪漫么。<br><br>如果在田园中,你发现了一种植物,你沾到它,甚至靠近它,在特定的月份,就会皮肤发痒。你几乎确定这种植物以前根本不存在,你几乎断定它就是你过敏的感恩,你几乎确定它就是传闻中的入侵物种--但是,你不知道它的名字。<br><br>怎么办?<br><br>根据植物的照片,GOOGLE目前还不能告诉你那是什么植物,更不能告诉你如何消除。就像有同学在网上放出照片,养的花蔫得快死了。有网友说,你都把花养成这样了,还有脸放上来呐?楼主说,就是这样了,我才想放出来请教它叫什么名字,这样,才能查一下如何照料啊。<br><br>不知道,就是无知。无知而期待解决问题,就是把前人发明过的痛苦过的,再来一次。如果想利用前人的经验,你至少需要知道,前人把它叫做什么。<br><br>你必须先具备基础知识 (领域) ,然后才能检索。你需要知道如何把叶子、花的形状用文字描述出来,还有叶子间的关系、花之间的关系。像这样:总状花序、掌状叶裂...有位同学贴过照片,问蓝色的很漂亮的花是什么。蓝色、漂亮、花,对于判断物种都没有用,我根据叶序和花序查,是百合。另一次。我们带着一盆多肉植物去同学聚会,小杨同学的爱人老赵,看了一眼就说,"景天"。景天是一个科,很多多肉都属于这一科。这就是领域知识所带来的专业技能,他甚至连查表都不需要。他接着问,"什么是多肉?"<br><br>另外的知识的力量的故事。<br><br>包师弟极其睿智,到什么程度呢。他曾经看着函数的图像,通过研究函数的周期,起伏的程度,仅根据几组给定自变量的函数的形状写出了函数的公式:<br><br>cos(α+β)-cos(α-β)<br><br>这么复杂的式子,我当时的感觉就是,你还要不要人活了。在牛人面前,大抵是这种感觉。<br><br>我能记住这个故事的一个原因是,在此时,我表现出了"知识的力量"。知识附身,智力有加成。我把包师弟的公式化简了,化简的方法,其实我们初中都学过,就是和差化积。<br><br>-2sinαsinβ<br><br>然后我就可以说,函数的公式怎么会那么复杂呢~~<br><br>知道 和差化积,拉近了我和包师弟的智商。<br><br>另一次是包师弟在解决一个问题时,使用了非常繁复的方法,实现这个方法写了一个挺长的程序,花费了不少时间。后来某一次他详细描述这个方法的时候,我突然说,"线性外插"。关同学也说,对啊,这就是线性外插。线性外插,等价于那么长的代码和解释,而且,方法更加稳妥确定,因为有数学证明。后来,我们又发现,这种问题不应该使用线性外插,而是 拟合。<br><br>知道 线性外插、拟合,拉近了我和包师弟的智商。<br><br>所有这些知识,植物分类、和差化积、线性外插、拟合,还有可以替代逻辑推理的布尔代数 (数理逻辑,用计算代替推理),作为工具武装我们,使我们成为更强的人类,因此更加自由。<br><br>所以,怎么可以说,什么什么知识,不会不知道又如何呢。不会不知道,就是无知,因此无助,因此囚禁于牢笼之中而不得自由。钥匙,前人曾经使用过有效的,就在你的面前,只要你一伸手就可以拿到,而你,打算赤手空拳伏虎屠龙吗,打算喊叫别人帮忙带你自由,打算继续忍受?<br><br>知识,就是解放我们的那把钥匙。<br><br>-------<br><br>此博客会手工同步到以下地址:<br><br>//[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://zhuanlan.zhihu.com/wujun">http://zhuanlan.zhihu.com/wujun</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com1tag:blogger.com,1999:blog-862949426938573101.post-90790103239488098252015-05-25T23:56:00.000+08:002015-05-26T00:03:14.566+08:00抽象之艰难,一次作业分析<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5GWJD6lHv_UjuEUJWTHkngJFyjiqrva6TfSxcWPSQ_WvU1M0ksQ8akE9o-t-A5_hZmEClNmr6ALNbO_iHZ1pe10A8Bw98WcbEEjhh9rx65xtYasETMGfVD5yN1zmq0Hga0Zz9RR8BFsY/s1600/loop1-794567.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5GWJD6lHv_UjuEUJWTHkngJFyjiqrva6TfSxcWPSQ_WvU1M0ksQ8akE9o-t-A5_hZmEClNmr6ALNbO_iHZ1pe10A8Bw98WcbEEjhh9rx65xtYasETMGfVD5yN1zmq0Hga0Zz9RR8BFsY/s320/loop1-794567.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6152840419769151106" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghikKRyhyphenhyphenwUVO-Kr5DXp7-oa4BsYhkk-PoZJilMyVuXoV8ToWhcH5kP9HoFGFOwDGmtR9tuqDv2O8FnX2GiDEfOtXDBQw32BFDmQ47KH2hW4dh1wGY4yjPRBFcNV2Q6GCyiPxAI-0nLsM/s1600/loop2-798670.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghikKRyhyphenhyphenwUVO-Kr5DXp7-oa4BsYhkk-PoZJilMyVuXoV8ToWhcH5kP9HoFGFOwDGmtR9tuqDv2O8FnX2GiDEfOtXDBQw32BFDmQ47KH2hW4dh1wGY4yjPRBFcNV2Q6GCyiPxAI-0nLsM/s320/loop2-798670.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6152840439752451218" /></a></p><div dir="ltr">抽象之艰难,一次作业分析<br><br>1. 问题的提出,一次作业<br><br>要求实现 小学四则运算系统,系统出10道题,用户输入答案,系统判定对错,系统给出对错的数量。<br><br>这是以邹欣老师的《构建之法》作为教材,某高校的软件工程课程作业。<br><br>该作业要求迭代开发,在《构建之法》群里,企业的工程师、高校教师对某次某位同学提交的作业进行了点评。<br><br>这位同学提交的是 JAVA GUI 版本的程序。控制件的选择,每道题的两个数是文本框禁用,要求用户输入答案处是文本框,判断对错是文本框禁用;选择加减乘除题目,是按钮。<br><br>该同学实现了出10道题目。问题来了,邹欣老师问,如果我要求出40道题目呢?之所以有此一问,是因为该同学硬编码了10道题目的 控件和业务逻辑,她的代码看起来是这样的。<br><br>----节选代码开始<br><br>JTextField jfirst1, jfirst2, jfirst3, jfirst4, jfirst5, jfirst6,<br> jfirst7, jfirst8, jfirst9, jfirst10;// 10道题的分别的第一<br> 个数据JLabel jsymbol1, jsymbol2, jsymbol3, jsymbol4,<br> jsymbol5, jsymbol6,<br> jsymbol7, jsymbol8, jsymbol9, jsymbol10;// 10道题的分别的符号<br> JTextField jsecond1, jsecond2, jsecond3, jsecond4, jsecond5, jsecond6,<br> jsecond7, jsecond8, jsecond9, jsecond10;// 10道题的分别的第二个数据<br> JTextField janswer1, janswer2, janswer3, janswer4, janswer5, janswer6,<br> janswer7, janswer8, janswer9, janswer10;// 10道题分别的结果<br><br>// 添加每道题的符号标签<br> jsymbol1 = new JLabel("?");<br> jsymbol2 = new JLabel("?");<br> jsymbol3 = new JLabel("?");<br> jsymbol4 = new JLabel("?");<br>... <br>// 设置答案对错的标签<br> jjudge1 = new JLabel("?");<br> jjudge2 = new JLabel("?");<br> jjudge3 = new JLabel("?");<br> jjudge4 = new JLabel("?");<br>...<br><br>/* 加法计算 */<br> if (e.getSource() == AddBtn) {<br> flag=1;<br> jsymbol1.setText("+");<br> jsymbol2.setText("+");<br> jsymbol3.setText("+");<br>....<br> fun();<br> random();<br> }<br><br>// 计算第二道题<br> String answer2 = null;<br> a2 = first2 + second2;<br> answer2 = Double.toString(a2);<br> String result2 = janswer2.getText();<br> if (result2.equals(answer2)) {<br> jjudge2.setText("对");<br> true1 = true1 + 1;<br> jjright.setText(Integer.toString(true1));<br> } else {<br> jjudge2.setText("错");<br> jjresult2.setText(answer2);<br> }<br>// 计算第三道题<br>// 计算第四道题<br><br>----节选代码结束<br><br><br>2. bad smell<br><br>该同学的全部代码在这里,java语言GUI版本的[<a href="http://www.cnblogs.com/tujiangfeng/p/4480053.html">http://www.cnblogs.com/tujiangfeng/p/4480053.html</a>]。<br><br>事实上,能细心地安置10个控件,复制粘贴->修改其中的不同,是件很不容易的事情。需要耐心和精确,稍有不慎就会操作错误,而查找这个错误非常困难,因为它隐藏在面目相似的群体之中。又,耐心和精确,确是一种非常可贵的品质,难以替代,不过,科学和技术还给我们另一种力量,就是让 平凡的人 拥有更强大的力量。任何人都能学会,只要掌握就能更牛,这是科学与巫术的不同。<br><br>该同学的问题,在她稍晚的作业中自己回答了,"Duplicated Cod(重复代码)" [<a href="http://www.cnblogs.com/tujiangfeng/p/4500116.html]">http://www.cnblogs.com/tujiangfeng/p/4500116.html]</a>,这是重要的代码坏味道,重要到,它排在了坏味道中的第一名。<br><br>所谓重复,就是看起来 它们相似。<br><br>该同学其实曾经完美的解决过这个问题,在她更早的作业中,C语言console版本的 [<a href="http://www.cnblogs.com/tujiangfeng/p/4399804.html]">http://www.cnblogs.com/tujiangfeng/p/4399804.html]</a>,她用for循环实现了5道题目,判断题目对错,只写了一次代码, (而在JAVA GUI版本中,她写了10次)。<br><br>3. 解决之道<br><br>沉默的代码(某位资深工程师,他在群里不是这个名字,所以不知道是谁)在作业的博客中批阅道,"使用For循环重构上面的代码"。<br><br>那天,在群里得有10位左右资深工程师给出了相同的意见,用了各种不同而相似的说法。相信该同学已经蒙了,"他们到底说的是什么啊。"最打击人的,不少资深工程师对自己给出的方法加了限定和修饰,"这是非常基本的方法"。<br><br>如果该同学看到我这篇博客,请一定仔细读一下我下面这一段话。"基本"一词,不是指它简单,或者暗示你在道德 (勤奋、努力之类的)上 理应掌握,而是它极其经常在工业中应用,所以,需要掌握。需要掌握的原因,是这是本领域的"基本"技术,就像战士的射击。<br><br>资深工程师们的核心思想是,用循环去除重复。<br><br>该同学的疑问有二。一,她们没学过数组控件。对此,邹欣老师建议,用控制台实现,用意大概是先掌握抽象这一方法,至于控件什么的技术,倒在其次。该同学提到,JAVA没有学过控制台的程序。二,怎么循环呢,怎么抽象呢?<br><br>对于第二个疑问,即需要A.原则,B.精晰的可操作的指令,也需要C.示范。示范在后面,下面先给出指令。<br><br>把上述代码抽象为循环,A.原则是,找出代码中 相同的部分 和 有变化的部分。把相同的部分放在循环 (或者函数)中,把不同的部分,作为循环的变量 (或函数的参数。参数又译为变数,其义正对),或者作为变量的函数 (这个函数的意思是数学上的,即可以由变量求得)。<br><br>B. 指令如下:<br><br>把那些名字相似,只有最后一个数字不同的,不单独声明为变量,而是声明为数组;不用名字区分它们,而是使用数组的下标区分它们。<br><br>凡是对这些变量操作(读或写)的,改为对数组元素操作。对某元素操作的若干次,改为在循环中执行,每次变更 (比如递增1) 数组元素的下标。<br><br>一共三种代码需要关注。(1)不变的部分,在每次循环中都一样, (2)数组下标,每次循环都变更, (3)下标或循环变量可能不同,需要找到它们间的关系。本例中没有第 (3)种情况。<br><br>C. 示范,上面的代码,按资深工程师们的指示,大概改成下面这个意思。<br><br>----节选代码开始<br>List<JTextField> jfirst = new ArrayList<JTextField>(); // 10道题的分别的第一个数据<br>List<JLabel> jsymbol = new ArrayList<JLabel>(); // 10道题的分别的符号<br>List<JTextField> jsecond = new ArrayList<JTextField>(); // 10道题的分别的第二个数据<br>List<JTextField> janswer = new ArrayList<JTextField>(); // 10道题分别的结果<br><br>// 添加每道题的符号标签<br>// 设置答案对错的标签<br>int max_length = 10;<br>for(int i = 0; i< max_length; ++i)<br>{<br> jsymbol.add(new JLabel("?"));<br> jjudge1.add(new JLabel("?"));<br>}<br><br>...<br><br>/* 加法计算 */<br> if (e.getSource() == AddBtn) {<br> flag=1;<br> for(int i = 0; i< max_length; i++)<br> {<br> jsymbol[i].setText("+");<br> }<br> fun();<br> random();<br> }<br><br>// 计算第二道题<br>// 计算第三道题<br>// 计算第四道题<br>for(int i = 0; i< max_length; ++i)<br>{<br> String answer[i] = null;<br> a[2] = first[2] + second[2];<br> answer[2] = Double.toString(a[2]);<br> String result[2] = janswer[2].getText();<br> ....//省略的原因不是像循环的类似,而是可按上述方法修改<br>}<br>----节选代码结束<br><br><br><br>4. 不仅如此<br><br>对于教学本身的讨论,至此可以告一段落,但是更深的讨论,才刚刚开始。在经典导论教材SICP中,一共五章的书里,用了三章讲抽象,甚至标题就叫做XX抽象。可见抽象之重要。<br><br>抽象为循环、抽象为函数,以上给出的原则、指令、示范,是非常形而下的,因此更容易操作。但是,在何处情况下应该做抽象,如何抽象,是个更深刻的问题。比如,我们是否要把四则运算中的加减乘除抽象为同一个函数么,向然后向这个函数传入一个 first class 的操作符;我们是否要把供用户选择题目类型的按钮抽象为一个数组;为什么要这样做,为什么不这样做?为什么不抽象为面向对象,为什么不抽象为AOP,为什么不使用设计模式。<br><br>如果仅回答,"使用这些技术会导致代码更复杂",那么,"复杂"在这里,很大程度上只是个人的主观体验。这位同学也可以说,抽象成控件数组,还不如复制粘贴容易呢。在做项目的时候,我的学生就真的这样质疑过。当然,我们可以回答,"当代码规模更大的时候",可是,你又如何知道代码的成长方向呢?<br><br>从一次次的执行 (执行,是动态,或复制粘贴,是静态)中,发现其中不变的部分,抽象这些部分,并允许不同的部分可以在不同的情境 (第几次循环,函数的参数)下指定;还要在代码中同时包括不变和变化的部分 (比如,用循环变量和数组下标表示变化)。<br><br>这是一项异常艰难的工作。因此,教授抽象,也非常艰难,如果不是更难的话。<br><br>刘典说,他是先学会编程,后学的英语。因此,在他看来,for的第一含义就是循环,而不是"为了"。对于工程师而言,把技术内化为本能,值得称道,不过,作为教师,这就是 (如他所说)知识诅咒。因为你忘记了当初如何艰难地掌握了这一点,甚至,你并没有深刻掌握,只是每次都类比过去的成功经验,照样应用了而已。<br><br>为什么艰难?因为在编程以外的经验中,我们鲜能发现 循环。有人可能会说,日出而作、日落而怎,每个学期、每周的课表,这不是循环吗?这不是。这不是实现完整的循环所需要的,是粗糙的。在刚刚提到的这些循环中,什么是循环变量,循环的开始和终止条件是什么,有必要存在循环变量吗,是否可以用迭代器取代,用foreach呢,在循环体中,哪些是每次循环要改变的,哪些是不变的。<br><br>有人说,这简单啊,上述问题都能答上来。但是,你在日常生活中考虑上述循环的时候,会考虑这些问题吗,还是只是粗糙地应付过去?这就是日常生活中没有循环这一经验的原则。<br><br>而在掌握一项技能之初,有类似的经验非常重要。这就是为什么物理学的力学部分,男同学普遍比女同学掌握快的原因--经验。这也是为什么物理学的电学部分,好多同学一下子就蒙了的原因,不是因为看不见摸不着,而是现实中没有这样的东西。水流、水压,这些比喻并不与电学概念完全对应,更何况大家对这些流体 (静?) 力学的经验也就呵呵。<br><br>循环的经验来自于哪里,为什么循环对很多人难以掌握?<br><br>与循环高度类似的,是高中代数中的数学归纳法,是数列的通项,是求得的sigma上面的那个i。而这些,有很多人本来学得就烂。这就是循环的抽象。当然,前面学得不好,也可以利用计算机的for循环学习这种抽象。<br><br>(题外话,类似的,与实验技能相关的,实验现象说明什么,假阴性假阳性,这些对应的是初中平面几体里的充分条件必要条件。很多人没有把逻辑推理内化,或者没有自觉地使用这一工具,因此在做实验的时候会糊涂。)<br><br>为什么抽象,如何抽象,这个话题也可以延伸到面向对象的继承和多态,不赘述。我想说的是,抽象,并不是简单和自然的,不是理应掌握的技能,而是必须掌握的技能。<br><br>-------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://zhuanlan.zhihu.com/younggift">http://zhuanlan.zhihu.com/younggift</a>]<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><br></div> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-54605103293782695722015-01-07T00:44:00.000+08:002015-01-07T03:06:37.985+08:00Fwd: 百度地图坐标偏移的纠正>
<br>> 百度地图坐标偏移的纠正
<br>>
<br>> 1. 问题
<br>>
<br>> 在使用百度地图开发时,输入经纬度 (用google earth或GPS设备得到) ,会发现坐标显示位置偏移。
<br>>
<br>> 比如,已知东北师范大学经纬度 125.3249352, 43.8593245。经纬度可以通过地理科学学院门口的雕塑上查到,可以通过google earth查到,可以通过能显示经纬度的GPS设备,或者用iphone在东北师大拍张照片,然后用带有识别exif的工具比如 google picasa查到。
<br>>
<br>> 在下述代码1中,我们发现,标记 125.3249352, 43.8593245 的位置不在东北师大,而是偏移到了南湖里。
<br>>
<br>> -----代码1开始--------
<br>>
<br>> <html>
<br>> <head>
<br>> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<br>> <style type="text/css">
<br>> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
<br>> #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
<br>> #r-result{height:100%;width:20%;float:left;}
<br>> </style>
<br>> <script type="text/javascript" src="<a href="http://api.map.baidu.com/api?v=1.4">http://api.map.baidu.com/api?v=1.4</a>"></script>
<br>> <title>baidu map demo</title>
<br>> </head>
<br>> <body>
<br>> <div id="allmap"></div>
<br>> </body>
<br>> </html>
<br>> <script type="text/javascript">
<br>> var map = new BMap.Map("allmap"); // 创建Map实例
<br>> var point = new BMap.Point(125.3249352, 43.8593245); // 创建点坐标
<br>>
<br>> var marker = new BMap.Marker (point);
<br>> marker.setTitle ("This is a Marker.");
<br>> map.addOverlay (marker);
<br>>
<br>> map.centerAndZoom(point,15); // 初始化地图,设置中心点坐标和地图级别。
<br>> map.enableScrollWheelZoom(); //启用滚轮放大缩小
<br>>
<br>> map.addEventListener('click', function(e){
<br>> console.log(e.point);
<br>> });
<br>> </script>
<br>>
<br>>
<br>> -----代码1结束--------
<br>>
<br>> 对于坐标偏移,百度的官方解释是 国家要求 + 百度的二次加密。百度支持把其
<br>> 他坐标 (google的, gps设备的)转换为百度地图的坐标,这样显示在百度地图上
<br>> 的标记位置就不偏移了。
<br>>
<br>> 2. 解决
<br>>
<br>> 使用下述代码,在百度地图上,标记点的位置是正确的。
<br>>
<br>> 下述代码抄自网络并修改,最初来源已不可考。谢谢原作者。
<br>>
<br>> 代码2在代码1的基础上做了修改,调用了百度的API[<a href="http://api.map.baidu.com/api?v=1.4]">http://api.map.baidu.com/api?v=1.4]</a>,及[convertor.js]即代码3。
<br>>
<br>> 用到了 javascript的闭包和回调。
<br>>
<br>> ------代码2开始------
<br>>
<br>> <html>
<br>> <head>
<br>> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<br>> <style type="text/css">
<br>> body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
<br>> #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
<br>> #r-result{height:100%;width:20%;float:left;}
<br>> </style>
<br>> <script type="text/javascript" src="<a href="http://api.map.baidu.com/api?v=1.4">http://api.map.baidu.com/api?v=1.4</a>"></script>
<br>> <script type="text/javascript" src="convertor.js"></script>
<br>> <title>baidu map demo</title>
<br>> </head>
<br>> <body>
<br>> <div id="allmap"></div>
<br>> </body>
<br>> </html>
<br>>
<br>> <script type="text/javascript">
<br>>
<br>> var map = new BMap.Map("allmap"); // 创建Map实例
<br>>
<br>>
<br>> var point = new BMap.Point(125.3249352, 43.8593245); // 创建点坐标
<br>> BMap.Convertor.translate(point, 0, function(point){
<br>>
<br>> var marker = new BMap.Marker (point);
<br>> marker.setTitle ("This is a marker");
<br>> map.addOverlay (marker);
<br>>
<br>> map.centerAndZoom(point,15); // 初始化地图,设置中心点坐标和地图级别。
<br>> map.enableScrollWheelZoom(); //启用滚轮放大缩小
<br>>
<br>> map.addEventListener('click', function(e){
<br>> console.log(e.point);})
<br>>
<br>> });
<br>> ;
<br>> </script>
<br>>
<br>>
<br>> ------代码2结束------
<br>>
<br>> ------代码3开始------
<br>>
<br>> //2011-7-25
<br>> (function(){ //闭包
<br>> function load_script(xyUrl, callback){
<br>> var head = document.getElementsByTagName('head')[0];
<br>> var script = document.createElement('script');
<br>> script.type = 'text/javascript';
<br>> script.src = xyUrl;
<br>> //借鉴了jQuery的script跨域方法
<br>> script.onload = script.onreadystatechange = function(){
<br>> if((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")){
<br>> callback && callback();
<br>> // Handle memory leak in IE
<br>> script.onload = script.onreadystatechange = null;
<br>> if ( head && script.parentNode ) {
<br>> head.removeChild( script );
<br>> }
<br>> }
<br>> };
<br>> // Use insertBefore instead of appendChild to circumvent an IE6 bug.
<br>> head.insertBefore( script, head.firstChild );
<br>> }
<br>> function translate(point,type,callback){
<br>> var callbackName = 'cbk_' + Math.round(Math.random() * 10000); //随机函数名
<br>> var xyUrl = "<a href="http://api.map.baidu.com/ag/coord/convert?from=">http://api.map.baidu.com/ag/coord/convert?from=</a>"+ type + "&to=4&x=" + point.lng + "&y=" + point.lat + "&callback=BMap.Convertor." + callbackName;
<br>> //动态创建script标签
<br>> load_script(xyUrl);
<br>> BMap.Convertor[callbackName] = function(xyResult){
<br>> delete BMap.Convertor[callbackName]; //调用完需要删除改函数
<br>> var point = new BMap.Point(xyResult.x, xyResult.y);
<br>> callback && callback(point);
<br>> }
<br>> }
<br>>
<br>> window.BMap = window.BMap || {};
<br>> BMap.Convertor = {};
<br>> BMap.Convertor.translate = translate;
<br>> })();
<br>>
<br>>
<br>> ------代码3结束------
<br>>
<br>> 4. 完整代码在[<a href="http://download.csdn.net/detail/younggift/8334749">http://download.csdn.net/detail/younggift/8334749</a>]。
<br>>
<br>> 参考:
<br>> 1. [<a href="http://www.cnblogs.com/funnydavid/archive/2011/03/02/1969244.html">http://www.cnblogs.com/funnydavid/archive/2011/03/02/1969244.html</a>]
<br>>
<br>> 2. 百度的解释
<br>> [<a href="http://developer.baidu.com/map/question.htm">http://developer.baidu.com/map/question.htm</a>]
<br>> 百度坐标为何有偏移?
<br>>
<br>> 国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。百度对外接口的坐标系并不是GPS采集的真实经纬度,需要通过坐标转换接口进行转换。
<br>>
<br>> 如何从其他体系的坐标迁移到百度坐标?
<br>>
<br>> 开发者可以使用坐标转换接口进行转换。JavaScript API 、Android SDK、iOS SDK的开发用户可直接调用相应方法进行转换。
<br>>
<br>> 3. 百度的手册
<br>> [<a href="http://developer.baidu.com/map/changeposition.htm">http://developer.baidu.com/map/changeposition.htm</a>]
<br>>
<br>> ------------------------------------------------------------
<br>>
<br>> 博客会手工同步到以下地址:
<br>>
<br>> [<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]
<br>>
<br>> [<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]
<br>>Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-51137828719363595392015-01-03T19:13:00.000+08:002015-01-03T22:34:08.122+08:00Fwd: 网页内联图片 html inline image<div><br></div><blockquote type="cite"><div><b>网页内联图片 html inline image</b><br><br></div></blockquote><blockquote type="cite"><div>不是像这样,<br><img src="<a href="http://www.nenu.edu.cn/xiaohui.png">http://www.nenu.edu.cn/xiaohui.png</a>"><br><br>上述代码中,图片是独立于HTML而存在于另一个URL的。<br><br>内联是像下面这样,图片是HTML的一部分,这样适合用代码生成,或者javascript改写。<br>把下面的代码保存为 html 文档,用浏览器打开,可见效果。<br><br>参考:<br><br>[<a href="http://stackoverflow.com/questions/1207190/embedding-base64-images">http://stackoverflow.com/questions/1207190/embedding-base64-images</a>]<br><br>[<a href="http://www.bigfastblog.com/embed-base64-encoded-images-inline-in-html">http://www.bigfastblog.com/embed-base64-encoded-images-inline-in-html</a>]<br><br>[<a href="http://base64image.org/">http://base64image.org/</a>]<br><br><br>-----代码开始-------------<br><br><img alt="Embedded Image" src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCABUAG8DASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFCAEC/8QANRAAAgEEAAQFAgUEAAcAAAAAAQIDAAQFEQYSITETIkFRYRQyBxVCcYEjUmKRJFNygpKxsv/EABgBAQEBAQEAAAAAAAAAAAAAAAADAgEE/8QAJBEAAgIBAwQCAwAAAAAAAAAAAAECESEDEkEEEzFRFCJhcbH/2gAMAwEAAhEDEQA/APVNKUoBSlfGYIpZiAoGyT6UB9pUTyHGUG5I8LbtkHQbabm5IE+TIe4+QNfNcLIZ/KC7toMjmILH6qMyxx2UHic0eiQwc7HprofUe9UWnJmHNIsmlU5bZhbh8ZDLk8+8t7I6EC7CNERyHsCQ3lcN09N+1YrTiOC4xU1/bZnOwpbLAWQziZmklLDkGzry8pJ9NVvsMz3UXRSoLb5DiKBLye3u7TJWtrNJDL9QngEFNb0w0NfOj611sXxbZ3M62uQikx14xAEc/wBrE9gr9ifg6PxU3Bo2pIklKUrBoUpSgFKUoDDeXUNlay3N1IsUESl3djoKB61XuYyf5w8E2ZkksMHLP4MUTeXxG0TuUnoB5T0PQdtM329Liu6/Mcx9AzlMfYL9TdMCBzMBzAbOgOUaPX9TofSopcWcuSyK3FyZ7CM2w+rsZk50EQ1rwmHSVN6CgEMrsCD3FX04Vlkpy4R+UuZskhWTGeE9kWs76ycH6JlLaaQyMw04BHfnP2kD1rvnh5sza4Tx7aW5uMYnJHdufASQBlKnRBc9FAPlAO261IuH8AltDFLeoWkU88cLv4nhH+5ifvkPq5/YaHfrZbJ2WIsZLvI3Edvbp3dzr+B7n4HWktTNRChj7EHv+G8dw/iGv8g9hbQWpMnOySzMhJUABjICftUAa7DVZ5eBbK5tImt7fGSxMqsnhLLAraHlbauw3onro962LOCfiW+jzOchNphbUl7KznGi51rx5ge3T7VPbez1r8xTS8DTNBcJJJwu7bhnUFjYEn7HHfwt9m/T2PSu7peE8il6waOYx19a8LviQpiV7szvNdMHhZDJzsrOi7A5jvbKNjYJ61F43v7O6uLLKxK+OWJRBHMQeZAC0k5cb0oBZ21sFnROvarpt54bqBJreRJYXHMrowZWHuCO9RjiTAW30U3LbiXHN1ubMb5dBg3MgBHqAWQdGA9+/IavDQlDlHF4a4ibHWttLJLNcYCclY5pQee2I7qx67UevU8uiQSAQtiqQwBB2D1BFU5ZtdQ5hrV7SW/laOIXl4W5LeGEka8EDSqgALqWHow673U44LuZLaW5wlwwb6Uc9uw7GInXKPhTrX+LJTVhyhCXBK6UpUCooaUNAVTfStccP31yLNrv8wvCW/qOCiBmdWAQFjrUY0Aew2NCt/8ADzHIlvYxau1QvJdGO5JJAjISMDYHl2zMDyqeg2OlYsfwtb8R4hsbf3U8LWFw6jwSuzpinXmBP6PTVSjFYyLBX2MtUctGbaS3ViNbYMH/ANkcx/ivTKSUXFeSMU7skbMFUsxAUDZJ9KreXJYiPjrJX2WjlvIkEP0E0cbXMcXk85ULsKd+ut1Yd7F49nPF/ejL/saryacJlLW5ktzjryO5gQPIiwtzop7MQOoB96702mp3boa03GqR6NzkFjxzw/Ja4rLKsbMBLJA5LKv6lZdjv201Zhk8bwxirSwzGRE12IwpBLSyzHXVgnVjv/VefsJfZS2lW8hvSk0YfT+LyTKF1scxHUdftbY+BX4ys2Vacqkrs1wzbW1dneQj1dh5nP79PgVX4udrlgn3uayXLwfd46LjDJPjkbH4ue3i5IZgYFefnbmKxtrRIK9gKsSvMHBOCv5uNsZHJj7jmt7mGa45ojuNObYZt9gdeten6j1MFCSp2U0ZOSyir+LLFLWf7la3guPBa2kZ/DljOpo1KIjM2jsaGuigHpWbh+Ux33Ds5ga1YM9i0fhOg5QHUdH8w2FiPX2qTnHvlZsm0F/d2Qa5VBLalQzBE5SNsD05if8Axrhx4o4zN4TF/WSXjLcNcGSQf1COV2259TtR1+R0rikmqFU7J/SlK85YUpSgIVlHmwHE0s8XILfIoSrSA8iygDYOvTyq37eJX6xMefzJvZMrLb2phl/4eCOPZgkHKykv+vodMB0PMQD7SbMY2DK2Elrc8wVtFXU6ZGHUMp9CD1qOYjL3GFukxOf0nTVvcgeSRR7e3yO6/I01VTtY8k2qefBIsXkBdq8cqeDdxdJoGPVT7j3U+h9f32Krb8TcS8PF+PySRqYr6IWZdygVZVJKAsynl5gSBrXUd6ky3t1lOJDZXmLltDGviW97BKCyId6JI2CGI7dR79db6GTtLq4sJbHMWVvlbGUcrFGEbkfKsdb9dhh27CuwfblYktyop/iLByrIIMzZyxzt9jtvm6f2v5iR8bcfC963MLh5ntHjxVmfp49+MwPJGNdy7sQCffmLkf2L2qSvjr6a0Nnj8tc3OMDaFvlMc12qa9BLGd7H77HvXybFSy2gj4myF/cYq3XmaztLH6G1Cj0dm1tR7EgV6O5ir/pLZk2vwbxvJb5TL+GFjvZVjgOlHNHHscw5VUaLE66DtU0yt86utlYae/lGx02IV/5j/A9B6np7ka9vHkLi3iitkgxdkqgJ4ZEknL6BQPIvT/qrk8L5eOO8y1tJZPDBa3TxtdvvzkKG5pCx3shgB33rpoaFeaT3tyKr6pI07HK5LC8UDG3VuwwxDJHJy83JyrzGRn115tknp0J710eFlkyuavczMpWJd29uD+45z/HKq/urVr3N1c8W3ZtMcZIMVE+p7odCxH6V/wAv/nueuhUvs7aGztYra2jWKCJQiIvZQOwpJ0vydir/AEZaUpUjYpSlAK1sjYWuRtWt72FJoW68rDsfQg9wR7jrWzSngER/Js1hGLYO7W8tQd/S3R0w/Zux/nR9ya5vEGYS+sUgz+OyuOeOQSI8RYKZADrbr6AnferApW1PNtGdvohPCOb4cw2DtMZBlUkMKeZmB2zE7Y9vcnpXM/EDMYfO4+CytcnEsizczEFgVAU60NeY710/n0qwpLO2kbmkt4Xb3ZATX2G1t4TuGGKM+6oB/wCq0ppS3cnNrqiIY/iTKXFjDFj8XcX03L1uWi8CI9f8j6dPXrWeHhq+ykom4kvAyb5haWpKp/3N0J/gD5JqXUrO/wBKju32Y7eCK2gSG3jSKJByqiKFVR7ACslKVg0KUpQClKUApSlAKUpQClKUApSlAKUpQClKUB//2Q==" /><br><br>-----代码开始-------------<br><br>------------------------------------------------------------<br><br>博客会手工同步到以下地址:<br><br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]<br><br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]<br><span></span></div></blockquote>Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-19586345303273182852015-01-03T19:05:00.000+08:002015-01-03T22:33:59.237+08:00网页内联图片 html inline image不是像这样,
<br><img src="<a href="http://www.nenu.edu.cn/xiaohui.png">http://www.nenu.edu.cn/xiaohui.png</a>">
<br>
<br>上述代码中,图片是独立于HTML而存在于另一个URL的。
<br>
<br>内联是像下面这样,图片是HTML的一部分,这样适合用代码生成,或者javascript改写。
<br>把下面的代码保存为 html 文档,用浏览器打开,可见效果。
<br>
<br>参考:
<br>
<br>[<a href="http://stackoverflow.com/questions/1207190/embedding-base64-images">http://stackoverflow.com/questions/1207190/embedding-base64-images</a>]
<br>
<br>[<a href="http://www.bigfastblog.com/embed-base64-encoded-images-inline-in-html">http://www.bigfastblog.com/embed-base64-encoded-images-inline-in-html</a>]
<br>
<br>[<a href="http://base64image.org/">http://base64image.org/</a>]
<br>
<br>
<br>-----代码开始-------------
<br>
<br><img alt="Embedded Image" src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCABUAG8DASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFCAEC/8QANRAAAgEEAAQFAgUEAAcAAAAAAQIDAAQFEQYSITETIkFRYRQyBxVCcYEjUmKRJFNygpKxsv/EABgBAQEBAQEAAAAAAAAAAAAAAAADAgEE/8QAJBEAAgIBAwQCAwAAAAAAAAAAAAECESEDEkEEEzFRFCJhcbH/2gAMAwEAAhEDEQA/APVNKUoBSlfGYIpZiAoGyT6UB9pUTyHGUG5I8LbtkHQbabm5IE+TIe4+QNfNcLIZ/KC7toMjmILH6qMyxx2UHic0eiQwc7HprofUe9UWnJmHNIsmlU5bZhbh8ZDLk8+8t7I6EC7CNERyHsCQ3lcN09N+1YrTiOC4xU1/bZnOwpbLAWQziZmklLDkGzry8pJ9NVvsMz3UXRSoLb5DiKBLye3u7TJWtrNJDL9QngEFNb0w0NfOj611sXxbZ3M62uQikx14xAEc/wBrE9gr9ifg6PxU3Bo2pIklKUrBoUpSgFKUoDDeXUNlay3N1IsUESl3djoKB61XuYyf5w8E2ZkksMHLP4MUTeXxG0TuUnoB5T0PQdtM329Liu6/Mcx9AzlMfYL9TdMCBzMBzAbOgOUaPX9TofSopcWcuSyK3FyZ7CM2w+rsZk50EQ1rwmHSVN6CgEMrsCD3FX04Vlkpy4R+UuZskhWTGeE9kWs76ycH6JlLaaQyMw04BHfnP2kD1rvnh5sza4Tx7aW5uMYnJHdufASQBlKnRBc9FAPlAO261IuH8AltDFLeoWkU88cLv4nhH+5ifvkPq5/YaHfrZbJ2WIsZLvI3Edvbp3dzr+B7n4HWktTNRChj7EHv+G8dw/iGv8g9hbQWpMnOySzMhJUABjICftUAa7DVZ5eBbK5tImt7fGSxMqsnhLLAraHlbauw3onro962LOCfiW+jzOchNphbUl7KznGi51rx5ge3T7VPbez1r8xTS8DTNBcJJJwu7bhnUFjYEn7HHfwt9m/T2PSu7peE8il6waOYx19a8LviQpiV7szvNdMHhZDJzsrOi7A5jvbKNjYJ61F43v7O6uLLKxK+OWJRBHMQeZAC0k5cb0oBZ21sFnROvarpt54bqBJreRJYXHMrowZWHuCO9RjiTAW30U3LbiXHN1ubMb5dBg3MgBHqAWQdGA9+/IavDQlDlHF4a4ibHWttLJLNcYCclY5pQee2I7qx67UevU8uiQSAQtiqQwBB2D1BFU5ZtdQ5hrV7SW/laOIXl4W5LeGEka8EDSqgALqWHow673U44LuZLaW5wlwwb6Uc9uw7GInXKPhTrX+LJTVhyhCXBK6UpUCooaUNAVTfStccP31yLNrv8wvCW/qOCiBmdWAQFjrUY0Aew2NCt/8ADzHIlvYxau1QvJdGO5JJAjISMDYHl2zMDyqeg2OlYsfwtb8R4hsbf3U8LWFw6jwSuzpinXmBP6PTVSjFYyLBX2MtUctGbaS3ViNbYMH/ANkcx/ivTKSUXFeSMU7skbMFUsxAUDZJ9KreXJYiPjrJX2WjlvIkEP0E0cbXMcXk85ULsKd+ut1Yd7F49nPF/ejL/saryacJlLW5ktzjryO5gQPIiwtzop7MQOoB96702mp3boa03GqR6NzkFjxzw/Ja4rLKsbMBLJA5LKv6lZdjv201Zhk8bwxirSwzGRE12IwpBLSyzHXVgnVjv/VefsJfZS2lW8hvSk0YfT+LyTKF1scxHUdftbY+BX4ys2Vacqkrs1wzbW1dneQj1dh5nP79PgVX4udrlgn3uayXLwfd46LjDJPjkbH4ue3i5IZgYFefnbmKxtrRIK9gKsSvMHBOCv5uNsZHJj7jmt7mGa45ojuNObYZt9gdeten6j1MFCSp2U0ZOSyir+LLFLWf7la3guPBa2kZ/DljOpo1KIjM2jsaGuigHpWbh+Ux33Ds5ga1YM9i0fhOg5QHUdH8w2FiPX2qTnHvlZsm0F/d2Qa5VBLalQzBE5SNsD05if8Axrhx4o4zN4TF/WSXjLcNcGSQf1COV2259TtR1+R0rikmqFU7J/SlK85YUpSgIVlHmwHE0s8XILfIoSrSA8iygDYOvTyq37eJX6xMefzJvZMrLb2phl/4eCOPZgkHKykv+vodMB0PMQD7SbMY2DK2Elrc8wVtFXU6ZGHUMp9CD1qOYjL3GFukxOf0nTVvcgeSRR7e3yO6/I01VTtY8k2qefBIsXkBdq8cqeDdxdJoGPVT7j3U+h9f32Krb8TcS8PF+PySRqYr6IWZdygVZVJKAsynl5gSBrXUd6ky3t1lOJDZXmLltDGviW97BKCyId6JI2CGI7dR79db6GTtLq4sJbHMWVvlbGUcrFGEbkfKsdb9dhh27CuwfblYktyop/iLByrIIMzZyxzt9jtvm6f2v5iR8bcfC963MLh5ntHjxVmfp49+MwPJGNdy7sQCffmLkf2L2qSvjr6a0Nnj8tc3OMDaFvlMc12qa9BLGd7H77HvXybFSy2gj4myF/cYq3XmaztLH6G1Cj0dm1tR7EgV6O5ir/pLZk2vwbxvJb5TL+GFjvZVjgOlHNHHscw5VUaLE66DtU0yt86utlYae/lGx02IV/5j/A9B6np7ka9vHkLi3iitkgxdkqgJ4ZEknL6BQPIvT/qrk8L5eOO8y1tJZPDBa3TxtdvvzkKG5pCx3shgB33rpoaFeaT3tyKr6pI07HK5LC8UDG3VuwwxDJHJy83JyrzGRn115tknp0J710eFlkyuavczMpWJd29uD+45z/HKq/urVr3N1c8W3ZtMcZIMVE+p7odCxH6V/wAv/nueuhUvs7aGztYra2jWKCJQiIvZQOwpJ0vydir/AEZaUpUjYpSlAK1sjYWuRtWt72FJoW68rDsfQg9wR7jrWzSngER/Js1hGLYO7W8tQd/S3R0w/Zux/nR9ya5vEGYS+sUgz+OyuOeOQSI8RYKZADrbr6AnferApW1PNtGdvohPCOb4cw2DtMZBlUkMKeZmB2zE7Y9vcnpXM/EDMYfO4+CytcnEsizczEFgVAU60NeY710/n0qwpLO2kbmkt4Xb3ZATX2G1t4TuGGKM+6oB/wCq0ppS3cnNrqiIY/iTKXFjDFj8XcX03L1uWi8CI9f8j6dPXrWeHhq+ykom4kvAyb5haWpKp/3N0J/gD5JqXUrO/wBKju32Y7eCK2gSG3jSKJByqiKFVR7ACslKVg0KUpQClKUApSlAKUpQClKUApSlAKUpQClKUB//2Q==" />
<br>
<br>-----代码开始-------------
<br>
<br>------------------------------------------------------------
<br>
<br>博客会手工同步到以下地址:
<br>
<br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]
<br>
<br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]
<br>
<br>发自我的 iPhone
<br>发自我的 iPhoneAnonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-68694056518693888282014-12-31T18:12:00.001+08:002014-12-31T18:12:57.259+08:00Fwd: 构建之法,运用之妙,存乎一心:读邹欣《构建之法》<br><br>构建之法,运用之妙,存乎一心<br> <br> 1. 构建之法,存乎一心<br> <br> 史学理论与史学史,是把历史自己作为研究对象的学科,前者讨论历史本身所研究的内容,后者讨论历史研究本身的历史。这种对于抽象的抽象的研究,正符合计算 机领域 meta... 这样的思想。当年 xml 刚出来时,不少计算机和图书情报的大学生照本宣科地提到,xml是关于数据的数据,是 meta-data。<br> <br> 史学理论与史学史专家周老师在谈到史学理论的时候说到 (大意) ,学习史学理论与史学史,必先有历史的修养,要努力了解更多的史实,也就是先了解历史所研究的对象,然后才能涉及到以历史本身作为研究。<br> <br> 我想,周老师的意思是,没有"肤浅的"认识之前,先不要着急讲深刻。<br> <br> 一个例子事实与推论的例子。在网上在现实生活中,都有人跟我提到过,我国人民的善良与热爱和平;作为旁证,中国自古以来就没有杀战俘和屠城这样的事。这时,我愿意以一个建议结束讨论,就是请他去读一下五代十国那段历史。如果连基本史实都还缺乏,遽然得一结论过于草率了。<br> <br> 在讲授软件工程类课程时,我也面临这样的难题,正如《构建之法》作者所说,是同学们对此毫无感觉,既不觉得有用,也不觉得有趣。这大致就是夏虫不可语冰的 意思。很多同学在学到软件工程的时候,代码量总计可能不到1000行,单一项目最大代码量不到200行。如果去除语言类或算法课作业,代码量就更少得可 怜。<br> <br> 软件工程所讨论的是当代码量巨大、当涉及人数众多、当项目需求多变时所要解决的问题。而同学们在学习时根本就没有这样的需求。200来行的小程序,没有软件工程思想,也能完成,甚至更快捷。<br> <br> 所以,《构建之法》的作者在教学中,要求学生完成大量的代码,让亲身的经验证实软件工程的手段是必要和有效的。除此以外,别无他法。<br> <br> 在教学中,可能最大的问题还不是学生积累的代码量小,而是教师也是如此。作为实践类课程的教师,你又写过几行代码,读过几本软件工程著作呢。<br> <br> 我的偶像YMH曾经考虑过一个问题,算法课该让哪些老师上呢。我提议:这个好办,找几道ACM题,凡是申请上算法课的老师在线答题,谁答得好谁上。偶像说,那有些老师不会编程序啊。我说:不会编程上什么算法课。偶像大笑。<br> <br> 我坚信,一个优秀的将军,也许并非战场上最勇猛的那个战士,但是至少是合格的士兵。软件工程教学,教师须是身经百战,学生须亲力亲为,否则,玩具性质的项目、几行代码的实验课、走走过场不关心实用的工程,都是耍流氓而已。<br> <br> 实践类课程,理论如何应用,只能以真实案例呈现 (如果需要规模,那就应该有规模),而无法用形成上学的方式推演--否则就意味着工程可以自动化,无须人的创造性参与。运用之妙,存乎一心。<br> <br> 2. 阵而后战,兵法之常<br> <br> 如果工程思想的教学只能依靠师傅带徒弟,口口相授,那么教材和经典著作还有什么意义呢?<br> <br> 如果是这样,面对软件工程书,明白的就是明白了,不明白的还是不明白。已经受过苦的人,有过相同经历的,能会心一笑;没吃过苦没糟过罪的,仍然鲁莽行事, 事后一拍大腿,"哎呀邹欣已经说过这事儿啦,我当时怎么没明白呢,古人诚不我欺啊"。事实上,即使事后诸葛亮,也是亡羊补牢,尤未晚也。我们有多少知识是 本科的时候学了,毕业以后多年才发现,原来在某个意想不到的地方才能用到。与课本相印证,能告诉你,你的失败并非偶然,你的境遇并不孤独,未避免同样的悲 剧再次发生打下很好的基础。<br> <br> 它还会告诉你,所经历的痛苦,可以用更形式化的方法,或者"最佳实践"得以解决。这比你自己另搞一套,闭门苦苦钻研十年,一抬头发现古人早完成了要好得 多。我本科的时候写过一个程序,打印出来,把打印纸抻开,比我还长。用的语言是 BASIC,用行号编辑出来的。随着程序的生长,我越来越为"某些功能在好几个地方用到"感到痛苦--我用的那版本里或者我当时的知识里,还没有函数和过 程。后来我终于艰难地完成了那个程序,在读一本1980年代的书的时候,发现了"结构化程序设计"思想。如遇故人,如蒙大赦。没有先前的经验,固然不会让 我体验这么深刻,如果没有读到前人的总结,我们就不过是一次次重复失败而已。<br> <br> 我们一生,一共也完成不了几个项目。以岳飞之善战,据统计,他一生经历不过几十战役。他的经验或者理论,想来大多是熟读孙子兵法和分析别人的战例得来的。<br> <br> 所以说,阵而后战,兵法之常。前人的总结,现有的理论,适合的技术,优秀的paradigm,能给我们一定程度的行为约束,帮助我们更好地解决问题。技术犹刀也,是我们手臂的延伸,而且那上面还附着前辈杀手的灵魂。<br> <br> 3. 武穆遗书 有多厚<br> <br> 教师在选择教材时,除了受自己学识所限,要考虑学生的专业基础预备知识,还有一个有些无厘头的压力。<br> <br> 就是教材的价格。<br> <br> 领导们说,教材太贵了学生买不起,教材太厚了学生就不看了。图书馆采购的时候,鲜有优秀的国外教材和经典著作,而多是高校教师混成果用的薄册子。问为什么不多买些 o'reilly 这样的优秀作品呢?答:太贵。<br> <br> 同学们也不怎么买书,原因也是太贵。对于抱怨书贵的,侯捷颇有微词,书是用纸张还是用知识来衡量价值。最近,我还看到一个说法,深以为然:你的第一份工作 的薪水,与你大学期间所买的技术书总价相抵。其实一本书能有多贵,一场电影,一顿大餐?这些都是过眼云烟,而好的知识,越早了解,受益时间越长,在你剩余 的生命之中全都可以发挥作用。请邹欣讲一门课程需要多少钱,请K&R当面给你讲讲C语言,请SICP作者给你剖析一下lambda算子构造邱奇数 需要多少钱?上网打游戏感受快乐,你的青春值多少钱?<br> <br> 软件工程经典教材,《软件工程:实践者的研究方法》,还有《代码大全》,都非常厚,《构建之法》相对来说薄多了。我想,这是作者的一个妥协的选择。<br> <br> 作为大学本科的软件工程,不如叫做软件工程导论更合适,因为受课时和此时学生的经验所限,能涉及的知识都是蜻蜓点水,不得深入。导论类课程,到底是应该罗 列完整的概念,这些名词学生们都听说了,从而"知识完整性"得到保证,还是浅显地了解其中的思想 (也许用了完全不同的名字),还是把徒弟领进门,让有兴趣的同学自行继续深入,没兴趣的同学就此止步,从思路上得到此许受益。这种争议见仁见智。<br> <br> 不过如果我是一个学生,我更愿意像读小说或者看电影一样,看到一些故事,以后用于类比,作为模板;而不希望接受高大上抽象的概念,如果能用非常好使,但是正如初高中背政治题,答案很清楚,唯独不知识该用在哪个问题上。<br> <br> 如果教材还要再薄一些,我希望它们是科幻小说。我根本不关心这些方法如何具体实施,理论依据是什么,你就领我去看它绚烂的效果,让我亲眼见到它好使得不得 了。剩下的,当问题横在我的面前,解决问题的迫切会让学习的艰难、参考书搜集、教材的价格、案例什么的,所有这一切困难迎刃而解,不复存在。<br> <br> 这种效果的反面也正是现实,作为教师,你都不会编码,你都不会用软件工程的这些方法,怎么说服你的学生相信你学习你。所谓 learn from, 学生所学习的,不是教师的知识,而正是教师本人。<br> <br> 4. 题外话<br> <br> 从瀚哥开始,每届新同学都会问我一个问题:老师,你为什么这么关心项目的结果。<br> <br> 我知道,言下之意也包括,你为什么不更关心对我们的教学。<br> <br> 因为,我们以真实工程作为教学的工具。这是因为,没有人乐意做假的工程,仅仅为了学习目前还不确定是否有效的知识。这意味着,真实的工程必须存在,才可能 用于教学,而真实工程不同于假的实验的是,如果它失败一次,以后就不会再有真实的工程了。也就不会再有真实的工程用于教学。<br> <br> 训练猎人的时候,要求师傅把猎物捆个结实,为了防止学徒害怕或怜悯它挣扎,还要给猎物打上麻醉剂,再给学徒穿上防磕碰的盔甲防溅血的服装,你为什么不再戴上护心镜和老花镜躲到绣楼里去。<br> <br> 所以,当你要求或接受真实工程训练的时候,你就给了我你的承诺。我把武器交给你,你要像我保护你那样保护你。无论这个承诺有多么的小,一旦你说出来,它就是我的,不再属于你;我有权放弃我的权利,你没有权利背弃你的诺言。<br> <br> 你,你们,背弃对我的诺言,我非常失望。我知道你并不在乎我失望与否,我也并不在乎你给我造成的损失,我在乎的是我所面对的我所关心的,是这样的世界。如果承诺不可信赖,未来还有什么可以期待。<br> <br> ------------------------------------------<br> <br> 博客会手工同步到以下地址:<br> <br> [<a href="http://giftdotyoung.blogspot.com" target="_blank">http://giftdotyoung.blogspot.com</a>]<br> <br> [<a href="http://blog.csdn.net/younggift" target="_blank">http://blog.csdn.net/younggift</a>]<br> <br> <br><br><br>-- <br><div dir="ltr"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">----</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">杨贵福</span><span style="color:rgb(0,0,0)"> </span><br style="color:rgb(0,0,0)"><span style="color:rgb(0,0,0)">计算机科学与信息技术学院</span><div><span style="color:rgb(0,0,0)">东北师范大学</span><br></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><font color="#000000">信息化管理与规划办公室</font></div><div><span style="color:rgb(0,0,0)">东北师范大学</span><br style="color:rgb(0,0,0)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">--</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">Sincerely,</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">YANG Guifu</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">School of Computer Science and Information Technology</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">Northeast Normal University</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">Changchun, P.R.China</span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none"></span><br style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);display:inline!important;float:none">重剑无锋,大巧不工。<br><br>无不大工。</span></div></div><br> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-52062681068690406042014-12-31T18:03:00.000+08:002014-12-31T18:49:20.525+08:00构建之法,运用之妙,存乎一心 读邹欣《构建之法》构建之法,运用之妙,存乎一心
<br>
<br>1. 构建之法,存乎一心
<br>
<br>史学理论与史学史,是把历史自己作为研究对象的学科,前者讨论历史本身所研究的内容,后者讨论历史研究本身的历史。这种对于抽象的抽象的研究,正符合计算 机领域 meta... 这样的思想。当年 xml 刚出来时,不少计算机和图书情报的大学生照本宣科地提到,xml是关于数据的数据,是 meta-data。
<br>
<br>史学理论与史学史专家周老师在谈到史学理论的时候说到 (大意) ,学习史学理论与史学史,必先有历史的修养,要努力了解更多的史实,也就是先了解历史所研究的对象,然后才能涉及到以历史本身作为研究。
<br>
<br>我想,周老师的意思是,没有"肤浅的"认识之前,先不要着急讲深刻。
<br>
<br>一个例子事实与推论的例子。在网上在现实生活中,都有人跟我提到过,我国人民的善良与热爱和平;作为旁证,中国自古以来就没有杀战俘和屠城这样的事。这时,我愿意以一个建议结束讨论,就是请他去读一下五代十国那段历史。如果连基本史实都还缺乏,遽然得一结论过于草率了。
<br>
<br>在讲授软件工程类课程时,我也面临这样的难题,正如《构建之法》作者所说,是同学们对此毫无感觉,既不觉得有用,也不觉得有趣。这大致就是夏虫不可语冰的 意思。很多同学在学到软件工程的时候,代码量总计可能不到1000行,单一项目最大代码量不到200行。如果去除语言类或算法课作业,代码量就更少得可 怜。
<br>
<br>软件工程所讨论的是当代码量巨大、当涉及人数众多、当项目需求多变时所要解决的问题。而同学们在学习时根本就没有这样的需求。200来行的小程序,没有软件工程思想,也能完成,甚至更快捷。
<br>
<br>所以,《构建之法》的作者在教学中,要求学生完成大量的代码,让亲身的经验证实软件工程的手段是必要和有效的。除此以外,别无他法。
<br>
<br>在教学中,可能最大的问题还不是学生积累的代码量小,而是教师也是如此。作为实践类课程的教师,你又写过几行代码,读过几本软件工程著作呢。
<br>
<br>我的偶像YMH曾经考虑过一个问题,算法课该让哪些老师上呢。我提议:这个好办,找几道ACM题,凡是申请上算法课的老师在线答题,谁答得好谁上。偶像说,那有些老师不会编程序啊。我说:不会编程上什么算法课。偶像大笑。
<br>
<br>我坚信,一个优秀的将军,也许并非战场上最勇猛的那个战士,但是至少是合格的士兵。软件工程教学,教师须是身经百战,学生须亲力亲为,否则,玩具性质的项目、几行代码的实验课、走走过场不关心实用的工程,都是耍流氓而已。
<br>
<br>实践类课程,理论如何应用,只能以真实案例呈现 (如果需要规模,那就应该有规模),而无法用形成上学的方式推演--否则就意味着工程可以自动化,无须人的创造性参与。运用之妙,存乎一心。
<br>
<br>2. 阵而后战,兵法之常
<br>
<br>如果工程思想的教学只能依靠师傅带徒弟,口口相授,那么教材和经典著作还有什么意义呢?
<br>
<br>如果是这样,面对软件工程书,明白的就是明白了,不明白的还是不明白。已经受过苦的人,有过相同经历的,能会心一笑;没吃过苦没糟过罪的,仍然鲁莽行事, 事后一拍大腿,"哎呀邹欣已经说过这事儿啦,我当时怎么没明白呢,古人诚不我欺啊"。事实上,即使事后诸葛亮,也是亡羊补牢,尤未晚也。我们有多少知识是 本科的时候学了,毕业以后多年才发现,原来在某个意想不到的地方才能用到。与课本相印证,能告诉你,你的失败并非偶然,你的境遇并不孤独,未避免同样的悲 剧再次发生打下很好的基础。
<br>
<br>它还会告诉你,所经历的痛苦,可以用更形式化的方法,或者"最佳实践"得以解决。这比你自己另搞一套,闭门苦苦钻研十年,一抬头发现古人早完成了要好得 多。我本科的时候写过一个程序,打印出来,把打印纸抻开,比我还长。用的语言是 BASIC,用行号编辑出来的。随着程序的生长,我越来越为"某些功能在好几个地方用到"感到痛苦--我用的那版本里或者我当时的知识里,还没有函数和过 程。后来我终于艰难地完成了那个程序,在读一本1980年代的书的时候,发现了"结构化程序设计"思想。如遇故人,如蒙大赦。没有先前的经验,固然不会让 我体验这么深刻,如果没有读到前人的总结,我们就不过是一次次重复失败而已。
<br>
<br>我们一生,一共也完成不了几个项目。以岳飞之善战,据统计,他一生经历不过几十战役。他的经验或者理论,想来大多是熟读孙子兵法和分析别人的战例得来的。
<br>
<br>所以说,阵而后战,兵法之常。前人的总结,现有的理论,适合的技术,优秀的paradigm,能给我们一定程度的行为约束,帮助我们更好地解决问题。技术犹刀也,是我们手臂的延伸,而且那上面还附着前辈杀手的灵魂。
<br>
<br>3. 武穆遗书 有多厚
<br>
<br>教师在选择教材时,除了受自己学识所限,要考虑学生的专业基础预备知识,还有一个有些无厘头的压力。
<br>
<br>就是教材的价格。
<br>
<br>领导们说,教材太贵了学生买不起,教材太厚了学生就不看了。图书馆采购的时候,鲜有优秀的国外教材和经典著作,而多是高校教师混成果用的薄册子。问为什么不多买些 o'reilly 这样的优秀作品呢?答:太贵。
<br>
<br>同学们也不怎么买书,原因也是太贵。对于抱怨书贵的,侯捷颇有微词,书是用纸张还是用知识来衡量价值。最近,我还看到一个说法,深以为然:你的第一份工作 的薪水,与你大学期间所买的技术书总价相抵。其实一本书能有多贵,一场电影,一顿大餐?这些都是过眼云烟,而好的知识,越早了解,受益时间越长,在你剩余 的生命之中全都可以发挥作用。请邹欣讲一门课程需要多少钱,请K&R当面给你讲讲C语言,请SICP作者给你剖析一下lambda算子构造邱奇数 需要多少钱?上网打游戏感受快乐,你的青春值多少钱?
<br>
<br>软件工程经典教材,《软件工程:实践者的研究方法》,还有《代码大全》,都非常厚,《构建之法》相对来说薄多了。我想,这是作者的一个妥协的选择。
<br>
<br>作为大学本科的软件工程,不如叫做软件工程导论更合适,因为受课时和此时学生的经验所限,能涉及的知识都是蜻蜓点水,不得深入。导论类课程,到底是应该罗 列完整的概念,这些名词学生们都听说了,从而"知识完整性"得到保证,还是浅显地了解其中的思想 (也许用了完全不同的名字),还是把徒弟领进门,让有兴趣的同学自行继续深入,没兴趣的同学就此止步,从思路上得到此许受益。这种争议见仁见智。
<br>
<br>不过如果我是一个学生,我更愿意像读小说或者看电影一样,看到一些故事,以后用于类比,作为模板;而不希望接受高大上抽象的概念,如果能用非常好使,但是正如初高中背政治题,答案很清楚,唯独不知识该用在哪个问题上。
<br>
<br>如果教材还要再薄一些,我希望它们是科幻小说。我根本不关心这些方法如何具体实施,理论依据是什么,你就领我去看它绚烂的效果,让我亲眼见到它好使得不得 了。剩下的,当问题横在我的面前,解决问题的迫切会让学习的艰难、参考书搜集、教材的价格、案例什么的,所有这一切困难迎刃而解,不复存在。
<br>
<br>这种效果的反面也正是现实,作为教师,你都不会编码,你都不会用软件工程的这些方法,怎么说服你的学生相信你学习你。所谓 learn from, 学生所学习的,不是教师的知识,而正是教师本人。
<br>
<br>4. 题外话
<br>
<br>从瀚哥开始,每届新同学都会问我一个问题:老师,你为什么这么关心项目的结果。
<br>
<br>我知道,言下之意也包括,你为什么不更关心对我们的教学。
<br>
<br>因为,我们以真实工程作为教学的工具。这是因为,没有人乐意做假的工程,仅仅为了学习目前还不确定是否有效的知识。这意味着,真实的工程必须存在,才可能 用于教学,而真实工程不同于假的实验的是,如果它失败一次,以后就不会再有真实的工程了。也就不会再有真实的工程用于教学。
<br>
<br>训练猎人的时候,要求师傅把猎物捆个结实,为了防止学徒害怕或怜悯它挣扎,还要给猎物打上麻醉剂,再给学徒穿上防磕碰的盔甲防溅血的服装,你为什么不再戴上护心镜和老花镜躲到绣楼里去。
<br>
<br>所以,当你要求或接受真实工程训练的时候,你就给了我你的承诺。我把武器交给你,你要像我保护你那样保护你。无论这个承诺有多么的小,一旦你说出来,它就是我的,不再属于你;我有权放弃我的权利,你没有权利背弃你的诺言。
<br>
<br>你,你们,背弃对我的诺言,我非常失望。我知道你并不在乎我失望与否,我也并不在乎你给我造成的损失,我在乎的是我所面对的我所关心的,是这样的世界。如果承诺不可信赖,未来还有什么可以期待。
<br>
<br>------------------------------------------
<br>
<br>博客会手工同步到以下地址:
<br>
<br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]
<br>
<br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]
<br>
<br>发自我的 iPhoneAnonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-62709476185625859282014-12-15T21:06:00.000+08:002014-12-15T21:07:01.154+08:00八卦一下八卦一下<br> <p>计算的本质[<a class="moz-txt-link-freetext" href="http://book.douban.com/subject/26148763/">http://book.douban.com/subject/26148763/</a>]<br> </p> 书中提到了几种与图灵机等价的模型, lambda算子、部分递归函数、SKI组合子、Iota、标签系统、循环标签系统、Conway生命游戏、rule 110、Wolfram的2,3图灵机。<br> <br> 部分递归函数,可能就是维基百科在递归函数词条中提到的"在可计算性理论中证明了递归函数精确的是图灵机的可计算函数。"<br> <br> Wolfram,就是著名的Mathematica的发明者之一。他的另一个成果是 Wolfram Alpha 计算型知识引擎。<br> <br> 数理逻辑学家、哲学家、人工智能先驱王浩(1921~1995),我记得也发表过一个图灵机等价模型,似乎是翻纸牌的,可能叫做Tile系统。可 惜似乎由于有位法官同名,在维基百科上的王浩词条不能浏览,而百度百科语焉不详。<br> <br> 王 浩研究自动定理证明,用早期的IBM计算机,几分钟就证明了罗素花十年心血才在其名著《数学原理》中证明的220条命题。王浩是历史学家何兆武先 生的同学 和好朋友,他俩都研究过 哥德尔-艾舍尔-巴赫 这本书。记得何兆武先生有张照片,背景正是书架,书名都被遮挡起来,除了这本很厚的 哥德尔-艾舍尔-巴赫。这本书讨论的内容就包括图灵机,也就是人的计算能力的限制。他们同样也都对罗素感兴趣,刚刚提到王浩证明了数学原理中的命 题,何兆 武先生则翻译了罗素的《西方史学史》上卷,对罗素的史学观也有专门论述。<br> <br> <p>王浩的工作,维基百科英文上查到了,从图灵机英文词条找过去,在[<a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki">http://en.wikipedia.org/wiki</a> /Wang_B-machine]提到:</p> <p>Hao Wang (1957), <i>A Variant to Turing's Theory of Computing Machines</i>, JACM (Journal of the Association for Computing Machinery) 4; 63-92. Presented at the meeting of the Association, June 23-25, 1954.<a href="http://en.wikipedia.org/wiki/Hao_Wang_%28academic%29" _xhe_href="http://en.wikipedia.org/wiki/Hao_Wang_%28academic%29" title="Hao Wang (academic)"><br> </a></p> Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-4301606253148715672014-11-08T18:28:00.001+08:002014-11-08T18:28:47.916+08:00我反对你,正是对你的支持<p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUTZneWUHFtjNfctSt1U7GndbfZdF-Evhal6OtARZN2su28B1iJ6o54ssinaCIfKtt-xWvFZiSvDSxgE4wyNnMJnOLZ9KyHim_v3gIWKeWZSWE1QUcv6Nm7KBgDVuSXBWzFtpdI2UiwDw/s1600/cat_in_chain-727917.jpg"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUTZneWUHFtjNfctSt1U7GndbfZdF-Evhal6OtARZN2su28B1iJ6o54ssinaCIfKtt-xWvFZiSvDSxgE4wyNnMJnOLZ9KyHim_v3gIWKeWZSWE1QUcv6Nm7KBgDVuSXBWzFtpdI2UiwDw/s320/cat_in_chain-727917.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_6079279368609098546" /></a></p><p class="mobile-photo"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxG-rCCoTajRFb3PgpysUIYqxCicVkRlidVz4ET36rRfNfEHo36r2TAOMIRHXSIyit1OQi5iRV34YGP2S2tLJwjvlE6Xly391ycrvftcusYwvp9Mzt6_FNaKZOFNSmG_hLtbsOOpdvtYU/s1600/china-pub-732647.JPG"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxG-rCCoTajRFb3PgpysUIYqxCicVkRlidVz4ET36rRfNfEHo36r2TAOMIRHXSIyit1OQi5iRV34YGP2S2tLJwjvlE6Xly391ycrvftcusYwvp9Mzt6_FNaKZOFNSmG_hLtbsOOpdvtYU/s320/china-pub-732647.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_6079279390680099026" /></a></p>反对你,正是对你的支持
<br>
<br>最近的照片 [<a href="http://www.douban.com/photos/album/145506893/">http://www.douban.com/photos/album/145506893/</a>],
<br>
<br>[<a href="http://www.douban.com/photos/album/146651109/">http://www.douban.com/photos/album/146651109/</a>],
<br>
<br>[<a href="http://www.douban.com/photos/album/145962336/">http://www.douban.com/photos/album/145962336/</a>].
<br>
<br>1.反对并非不支持
<br>
<br>昨天中午,有同事要求我评论他们的技术方案。我给出了反对意见,认为不够完
<br>善。我理解对于我的负面意见他们的激动,如同XL同学所说,人家风尘仆仆地来
<br>了,一腔热情,可能满希望得到肯定,甚至赞叹,结果一盆冷水迎头浇下来。
<br>
<br>有的同学可能会说,你委婉一点呗。我试过了,我真的试过了。事关利益或者决
<br>策,委婉也不过就是那么回事,利刃杀还是钝器砸还是湿毛巾捂。套一句话,大家
<br>都 是成年人,谁还看不出来背后的否定意味吗?或者说,我对那种说法深恶痛
<br>绝,类似于"你真的是个好人,但是……"有老师对我说过,"你真的 是个 好学生,
<br>但是你考我这,我真就是没有名额。"我很诚肯地说,"老师,这个意思就是我不是
<br>个足够好的学生,我明白。"这很刺激我,刺激我的,并 非我不是好学生这个事实。
<br>
<br>一盆冷水,是因为,这是我所理解的,在工作中我们的合作关系就是如此。
<br>
<br>同事所希望的,是我的认同;而技术讨论中,我们的认同唯一地只受到自然科学定
<br>律的限制。或者说,受到我所认识到的真理的限制。我可能是错的,但是我所能表
<br>述的就是��我所学习的知识和训练��不认同你的观点。
<br>
<br>但是,这种反对并非恶意。标题换个说法,可能更确切一些: 我对你的反对,是我
<br>支持你的方式。
<br>
<br>在工程、项目、工作中,对个人的认同从来不是其中的一部分。在这个问题上,只
<br>有观点,只有事件,没有人情。
<br>
<br>我们往往故意或无意地把对我们的认同与对我们的善意混为一团,对 真假、是
<br>非、里外视为同一。真假,是命题或观点或判断是否符合符合事实,与道德和支持
<br>哪一方无关。这里的"支持",特指"我挺你"这个意味,包括我乐意在 你身上花
<br>钱,我喜欢在你上舞台或进球的时候鼓掌,而不是"我与你的观点一致"。虚无主义
<br>认为,命题无所谓真假,我们可能在将来发现我们此 刻认 定的真假不符合后来发
<br>现的事实。这并不矛盾。真假,也可以理解为"你所认为的真假",或者说,我们的
<br>观点就是如此,无关对错,不说谎,不曲意 逢仰。是非,指的是行为或观点是否
<br>符合公众道德,或者你的道德观,这与我和你是不是一伙(现在流行说一国?)没
<br>有关系。我帮助你,可能只 是选 择和你一起作恶,并不一定我就认同你的价值
<br>观;考试的时候老师抓了学生作弊,不见得是老师就认为你这么做"坏",可能只是
<br>履行他的职责。真 假、是非、里外,差别如此,混为一淡的话,我们就会把不支
<br>持我们的,视为"恶",或者视为"假"。
<br>
<br>这种程度的区分,有位劝学生不要早恋的老师解说得非常透彻。他说,"你可以喜
<br>欢男生A的帅,但是你不能喜欢帅的男生A"。他把男生A与他的帅视为不同。
<br>
<br>当我引用这段话的时候,你是不是隐隐地觉得我反对早恋?请注意,我并没有一点
<br>赞同或反对这位老师观点的意思,我只是说,他对于"区分"这种事,看得很透。
<br>至于我对于早恋的观点,跟这个话题根本毫不相关。
<br>
<br>2.反对以外,还能有更强的恶意吗?
<br>
<br>有的同学可能会问出这样的问题,除了反对,你还能(现在流行说 还敢?)表现
<br>得恶意一些吗?
<br>
<br>当然。爱的反面不是恨,而是冷漠。
<br>
<br>我给出反对意见,动机是积极的,是希望他们的方案/事业有更好的结果。我的学
<br>生们在我和讨论的时候,下手从来都非常很,不留余地的证明我是错的,并以挑战
<br>成功而高兴。我从不觉得这是一种冒犯,认为理应如此,并为此感到欣慰��他们既
<br>对自己的成长负责,也对项目本身负责。
<br>
<br>现在,暂时抛开我给同事反对意见这回事,来看看还可以有什么样的恶意。
<br>
<br>一次我在GMS超市购物,找不到猫粮,问哪个员工哪个不知道,找了半个小时。终
<br>于买到以后,我在出口要求提意见,记录的小伙儿说,你是打错投诉哪位员工
<br>吗?我说,不是,我只想给出意见,你们居然没人知道货位。小伙儿很为难,你不
<br>投诉谁,我怎么记呢。我说,我来。我记道: 我投诉经理,他没有对员工足够训练。
<br>
<br>事实上,我也不想投诉经理(或者体制),错误就是错误,我只想指出这一点,至
<br>于谁该为这个错误负责,那不是我一个顾客乐于关心的。
<br>
<br>讲这个故事的真正目的,并不是想说要把人和事分开,而是��冷漠。我一点也不关
<br>心某个员工,不关心他的成长,也不关心错误对他的未来/进步/评价所带来的 影响。
<br>
<br>我在China-pub购书,送来时候包装已经裂了三处,箱子敞着口儿,最大的裂口
<br>里,三四本书脊暴露在外。我只在微信朋友圈发了照片,提醒同学们小心。 我没
<br>有告诉China-pub。
<br>
<br>我甚至猜想如果告诉China-pub的话,客服可能会解释"这是因为物流野蛮装卸""这
<br>是因为双十一到了",甚至可能会说"不可能啊,从我们这出货的时 候挺好的啊"。
<br>不需要解释,我根本不关心为什么会这样,这不是一个顾客的责任,顾客不需要了
<br>解这种知识。
<br>
<br>我能设想的最好态度是,"我给你把这一单免费了吧"。不需要,我嫌提供账号收钱
<br>麻烦。
<br>
<br>我单纯地,都不愿意花费哪怕一秒钟通知China-pub。因为我不关心这个企业的成
<br>长和它的未来。它不再值得我关心了。
<br>
<br>我愿意花上半小时一小时写这些给你看,但是我不愿意花费一秒钟向China-pub吐
<br>槽。这就是冷漠。冷漠,是比"不支持"更强烈的"反对"。这里的支 持,不是"我挺
<br>你"的意思,而是我愿意为你期待地正面效果而努力。
<br>
<br>与"我挺你"相反的,不是"反对",而是我连反对都懒得吱一声。
<br>
<br>3. 你怎么知道"反对"是我期待的,也许,我只是寻求赞同。你以批评为乐吗?
<br>
<br>可能有的同学会说,"谁让你发表意见来着,我根本不乐意听,我要做自己!"
<br>
<br>当然,你的成长,是你自己的,我根本不应该给出意见,除非你问我。而我的同
<br>事,他们邀请甚至要求我发表意见,所以我才说了。我的行为,与360那种不请自
<br>来是不同的。
<br>
<br>有的同学可能会说,"我邀请要求的是认同啊。"
<br>
<br>答案是,你找错人了。
<br>
<br>网上现在有卖虚拟女朋友/男朋友业务的。他(她)们可以做到总是在线,网聊中
<br>总是捧着你,总是赞同你��因为你付钱了。你付钱买到的就是这个服务,"唉 呀,
<br>你真是受委屈了啊,这个社会你的单位你的同事你的同学你的老师对你太残酷了
<br>呢。""你这样,真让人心疼了呢""XXX了呢。"
<br>
<br>有的同学可能会说,"你是说…让我付钱吗?"
<br>
<br>你当然可以选择付钱,但是我不出售这些,你找错人了。这就是刚刚的答案。我不
<br>出售赞同。我只能赞同我赞同的观点,而不通被收买赞同你赞同的,除非刚好咱们
<br>一路。
<br>
<br>当你诉求的时候,请略去苦心、情绪等,问问你自己,你想要的
<br>
<br>是奴仆,还是将军,是合作伙伴,还是利用对象。
<br>
<br>你想从我这里得到的,不一定与我想给的一样。这个时候,你只能由得我,按我给
<br>的接受, 或者拒绝,但是你在我这里没有别的选择。此时,合作的方式由我决定
<br>的原因是,我并未期待与你合作,我的直接选择就是那不合作好了。
<br>
<br>我几年前对同学们(同学们,一般地表述是研究生或学生们。学生这个词,现在被
<br>毁得很厉害,所以我平时就称他们为同学们。为与我的同窗相区别,特此说明)说
<br>过,我们不是因为感情而聚在一起,而是各有目的。我明确地对不止一个同学说
<br>过,我不爱你们,不像有的老师,她爱所有的同学。"我不爱你 们", 这个说法不
<br>确切,应该说,"我没有预期会对同学们产生感情,如果后来我们成为很好地朋
<br>友,那是因为时间,而不是我原来就这样计划。"
<br>
<br>我没有计划过合作。所以,如果不能接受我指定的合作方式,那就算了。你很忙,
<br>我也有的是活儿,扯啥呢这是。
<br>
<br>有想得到赞同的,你就得无懈可击。只有我赞同的我才会赞同,所以我的评论才有
<br>价值,才值钱。我珍惜由此得到的大家对我的评论的信任。
<br>
<br>有个牙医,她失去了我的信任。因为她说,"快了快了马上马上",结果不是这样。
<br>还有,"不疼不疼",你看"是不是也不那么疼"。我当时心想的就是,你是在 利用
<br>心理暗示和语言技术令我认同吗,还是在考验我的独立判断能力。
<br>
<br>我并不见得按你的期待行事,给钱也不行。事涉自由,非常重要,不能妥协。与研
<br>究生同学们的第一次见面其实很有意思。有人说,我想学技术,我一般答,那你得
<br>自己练习;有想学知识的,我一般答,那你得自己看。
<br>
<br>那我能为同学们提供什么呢?今天,在一顿技术讨论后,我对齐同学说: 其实,我
<br>还希望你能明确答复明白了另一个问题,关于责任划分的。这才是你跟随我所能学
<br>习到的最重要的东西��技术反倒是其次。我们能一起学习和做项目的时 间很有
<br>限,不过几年,希望你能带着对这种观点的了解、就像带着更成熟的技术一样,去
<br>过离开我以后的生活和工作。(不是接受,而是了解)
<br>
<br>如果我能给你的,恰恰如同你所期待,或者你可以期待到,你可以买个以前轿车里
<br>放的那种会点头的绒毛小狗,它很可爱,一捅就点头。或者,给你自己写封信,大
<br>大赞扬一番你的决策英明、知识丰富、果敢勇猛、还有伟光正等等,然后署上某个
<br>别人的名字,发给你自己。然后指着信和我的鼻子大喊,"你 看,有 这么多FANS
<br>都支持我,你怎么敢。"
<br>
<br>想得到认同什么的非常容易,何必非得从我这里要,这么难。Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-69389168691118602692014-10-27T18:49:00.001+08:002014-10-27T18:49:37.801+08:00笔记:技术的本质技术的本质:技术是什么,它是如何进化的 (布莱恩•阿瑟)
<br>
<br>- page 30
<br>
<br>然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么
<br>东西融合得更为紧密,那就是自然。在最深的层次上,人的存在应该 和自然,和
<br>我们最初的环境,以及最初使我们成为人的那些条件相融合。
<br>==========
<br>
<br>- page 36
<br>
<br>如今机器被用来生产机器了,同时它又变成了以后同类机器的父母。
<br>==========
<br>
<br>- page 43
<br>
<br>技术的建构不仅来自已有技术的组合,还来自于对自然现象的捕捉和征服。在
<br>==========
<br>
<br>- page 44
<br>
<br>技术(所有的技术)都是某种组合。
<br>==========
<br>
<br>- page 44
<br>
<br>三个基本原理
<br>==========
<br>
<br>- page 44
<br>
<br>其次,技术的每个组件自身也是缩微的技术。
<br>==========
<br>
<br>- page 44
<br>
<br>第三条基本原理是,所有的技术都会利用或开发某种(通常是几种)效应
<br>(effect)或现象(phenomenon)。
<br>==========
<br>
<br>- page 44
<br>
<br>技术组件的集成或组合是为了满足它们的目的。
<br>==========
<br>
<br>- Your Note on page 44
<br>
<br>motivation
<br>==========
<br>
<br>- page 44
<br>
<br>技术组件的集成或组合是为了满足它们的目的。
<br>==========
<br>
<br>- Your Note on page 44
<br>
<br>motivation , difference between the evolution of technology and biology.
<br>==========
<br>
<br>- page 49
<br>
<br>定义:技术是实现人的目的的一种手段。
<br>==========
<br>
<br>- page 49
<br>
<br>技术是实践和元器件(components)的集成(assemblage)。
<br>==========
<br>
<br>- page 50
<br>
<br>将技术作为在某种文化中得以运用的装置和工程实践的集合。
<br>==========
<br>
<br>- page 53
<br>
<br>装置和流程的确可以归于相同的范畴。
<br>==========
<br>
<br>- page 55
<br>
<br>技术总是围绕着一个中心概念或原理,如"事物的方法"或者一个可行的核心理念来组建
<br>==========
<br>
<br>- page 57
<br>
<br>各个子程序就处于不断的相互联系之中,它们不停地"对话",就如同喷气发动机那样。
<br>==========
<br>
<br>- page 60
<br>
<br>技术的分解随着市场的细分而加剧。
<br>==========
<br>
<br>- page 61
<br>
<br>一开始的一系列松散地串在一起的零件如果被用得足够多,就会"凝固"成独立的单
<br>元。技术模块随着时间的推移会变成标准组件。
<br>==========
<br>
<br>- page 66
<br>
<br>一个技术绝少是固定不变的。它会不断地变换结构,当目的改变时,它会去适应并
<br>进行重新的配置,
<br>==========
<br>
<br>- page 66
<br>
<br>在真实世界中,技术是高度可重构的,它们是流动的东西,永远不会静止,永远不
<br>会完结,永远不会完美。
<br>==========
<br>
<br>- Your Note on page 73
<br>
<br>theory , principle .
<br>==========
<br>
<br>- page 73
<br>
<br>现象是技术赖以产生的必不可少的源泉。
<br>==========
<br>
<br>- page 75
<br>
<br>这个例子阐明了如何应用现象的组合去达到目的。
<br>==========
<br>
<br>- page 75
<br>
<br>在实践中,现象在能够被应用于技术之前,一定要被"驯服",并且作好恰当的准
<br>备。天然形式的现象很难被利用,需要巧妙的诱导,它们才能令人满 意地运作起
<br>来。它们可能只在很有限的条件下起作用,所以一定要建立正确的支持方式才能使
<br>它们为预设的目的服务。
<br>==========
<br>
<br>- page 83
<br>
<br>货币系统利用了这样一种现象:只要我们相信其他人会相信一种交换媒介是有价值
<br>的,而且这种信任会在未来持续下去,我们就会相信这个系统。需要 注意的是,
<br>这里的现象不是物理性的,而是行为性的,
<br>==========
<br>
<br>- page 83
<br>
<br>物理现象。
<br>==========
<br>
<br>- page 84
<br>
<br>目的性系统(purposed systems)。
<br>==========
<br>
<br>- Your Note on page 170
<br>
<br>根据原理选择部件
<br>==========
<br>
<br>- page 91
<br>
<br>科学之所以在这个时候链接到技术,不仅是因为它能对结果提供更多的洞见和更好
<br>的预测,还因为一些新的现象家族开始被开发了。
<br>==========
<br>
<br>- Your Note on page 91
<br>
<br>简化模型
<br>==========
<br>
<br>- page 91
<br>
<br>技术人员应用科学思想就如同政客们应用已故的政治哲学家们的思想一样。他们日
<br>复一日地使用这些思想,对其起源的细节却知之甚少。但这并不是出 于无知,而
<br>是因为起源于科学的那些思想会随着时间的推移被消化吸收到技术体自身当中,例
<br>如融入电子工业或生物技术。它们在这些领域中与经验和 特定的应用融合在一
<br>起,创造出它们自己固有的理论和实践。
<br>==========
<br>
<br>- page 95
<br>
<br>技术是对现象的驾驭,而这很大程度上是由科学揭示的。
<br>==========
<br>
<br>- page 100
<br>
<br>为什么个体技术要聚集成群?原因之一是它们是分享了现象的族群。但这不是唯一
<br>的理由,技术聚集在一起还因为它们分享了共同的目标:
<br>==========
<br>
<br>- Your Note on page 100
<br>
<br>共同的假设
<br>==========
<br>
<br>- page 100
<br>
<br>用来概括和分析数据并实施统计性测试的统计软件包,拥有一个共同的假设前提,
<br>即抽样在总体上应是正态分布的,因而统计软件包工作的基础是共享 了所操作数
<br>据在这个性质上的假设。
<br>==========
<br>
<br>- Your Note on page 101
<br>
<br>lib
<br>==========
<br>
<br>- page 101
<br>
<br>一项技术(个体技术)是要完成一项工作,达成一个目标的,而且这个目标经常非
<br>常特殊。而一个域(复数的技术)则不需要完成工作;它仅仅是以一 个工具箱的
<br>方式存在,你可以从中选取有用的元器件或一系列的应用规范。
<br>==========
<br>
<br>- page 105
<br>
<br>20世纪30年代,人们可以用由水泥制造的、15英尺或更高的巨大的声反射镜去监察
<br>跨越海峡飞往英格兰的飞机。它需要搜集来自20英里远的声 音,然后交由具有超
<br>敏感听力的人进行处理。到第二次世界大战爆发时,雷达被用来实现同样的目的。
<br>==========
<br>
<br>- page 107
<br>
<br>它可能需要巴贝奇亲自设计设备,组装一台地震波分析仪,并依据爆炸回声进行地
<br>图的渲染。这个机器将是一个奇迹,它也许会带有一个犄角形的听 筒,一个辅助
<br>的铜齿轮和杠杆,以及转盘和着墨的绘图笔。这个设备工作起来缓慢、复杂,而且
<br>它将专门用来进行地震勘测。巴贝奇时代的这些域(机 器、铁路、早期工业化
<br>学)的触角很短,因此所能提供的可能性很有限。
<br>==========
<br>
<br>- page 110
<br>
<br>事实上,正如口语表达的清晰度不仅取决于语法一样(它依赖于词汇的深层含义及
<br>其文化相关性),技术的清晰表达也不会仅仅依赖于语法。技术的清 晰表达需要
<br>相关域的深层知识,包括:所使用组件的词汇的流利程度;对标准模块、以前的设
<br>计、标准材料、相关技术的熟悉度;
<br>==========
<br>
<br>- Your Note on page 110
<br>
<br>dsl
<br>==========
<br>
<br>- page 110
<br>
<br>语法在很大程度上反映了我们对"特定域中自然是如何工作的"这个问题的理解。这
<br>种理解不仅是来自于理论8,也来自于经验积累:
<br>==========
<br>
<br>- page 115
<br>
<br>可以在不同的域世界中完成同样的任务,但是功效可能会不一样。
<br>==========
<br>
<br>- page 117
<br>
<br>这暗示着创新不是发明以及对其的应用(例如,计算机、运河、DNA或者芯片的发
<br>明和应用),而是在新的可能世界中,将旧任务(例如,会计、运 输或者医疗诊
<br>断)不断地进行重新表达(re-expressing)或者再域定(re-domaining)的过程。
<br>==========
<br>
<br>- page 130
<br>
<br>我们要关注的是它和语言的关系,先有意向,然后是完成的方法——组件的恰当组
<br>合。所以,设计即表达。
<br>==========
<br>
<br>- page 134
<br>
<br>如果你看过任何一本工程手册,你就会发现许多标准问题的解决方案。比如《机械
<br>和机械设备图集》8就给出了"耦合旋转轴的19种方法",以及 "15种不同的凸轮机
<br>构"。另外一个电子类的手册,则图解了5种振荡电器:阿姆斯特朗振荡器、科耳皮
<br>兹振荡器、克拉普振荡器、哈脱来振荡器、 瓦卡振荡器。这类手册提供了标准解
<br>决方案来解决那些重复性的问题,也可以为特定的用途进行修改。
<br>==========
<br>
<br>- page 138
<br>
<br>标准工程中的每一个项目都会使一系列问题显现出来,每一个解决的结果都是一套
<br>对应的解决方案。可用的解决方案被建构并在实践者中传播,其中一 些可能变成
<br>技术名词,进而变成未来技术的建构元素或模块。标准工程对创新和进化都贡献良多。
<br>==========
<br>
<br>- page 141
<br>
<br>新技术是针对现有目的而采用一个新的或不同的原理来实现的技术。新技术是在概
<br>念当中或实际形态当中,将特定的需求与可开发的现象链接起来的过 程。
<br>==========
<br>
<br>- page 142
<br>
<br>新技术的形成(激光打印机、涡轮喷气发动机、计算机)都是源于一个新的或不同
<br>的基本原理。
<br>==========
<br>
<br>- page 143
<br>
<br>我发现勾勒出这个链条很有用。链条的一端是"需求"或"目的";另一端是能达成需
<br>求或目的的基本"现象"。
<br>==========
<br>
<br>- page 144
<br>
<br>发明有两大模式: • 肇始于链条的一端,源于一个给定的目的或需求,然后发现
<br>一个可以实现的原理。 • 发轫于链条的另一端,从一个现象或效应开始,然后逐
<br>步嵌入一些如何使用它的原理。
<br>==========
<br>
<br>- page 145
<br>
<br>将原理转译成工作元件
<br>==========
<br>
<br>- page 146
<br>
<br>至此,需求已经变成一个被详尽描述的问题。
<br>==========
<br>
<br>- page 145
<br>
<br>假设这时已经有了解决方案,那么标准技术就足以应付。但现在不行,因而如何定
<br>义问题本身就变成了挑战。那些接受挑战的人会遇到类似需要满足某 个需求或需
<br>要克服某种限制的情况。他们很快会将挑战简化为需求——一个需要解决的技术问题。
<br>==========
<br>
<br>- page 153
<br>
<br>当你听完斯塔克伟泽的故事后,印象最深的应该是他所面临的选择。每个次生问题
<br>都可能有几种解决方案。斯塔克伟泽选择解决方案、检验它们的可行 性,并努力
<br>从中组成和谐的整体。当需要找到次生或次次生问题的源头时,他就向下拓展这一
<br>梯式递归进路,如果这些问题得到解决或被放弃了,他就 再向上回溯。这个过程
<br>几乎总是很漫长,只有当获得了必要的知识,并且次生技术带来的挑战已被成功地
<br>克服后,才能向前迈一大步。前进的方向总是 沿着运行恰切的版本向前延伸的。
<br>==========
<br>
<br>- page 156
<br>
<br>莱特兄弟所要做的是解决阻碍原理被转译成可行技术的四个关键的次生问题。
<br>==========
<br>
<br>- page 156
<br>
<br>基本原理有时会自然呈现,有时会突然出现。困难之处在于如何使原理正确地发挥
<br>作用,这可能需要漫长的努力。
<br>==========
<br>
<br>- page 164
<br>
<br>科学与数学中的原创和技术中的原创没有根本性的不同,我们不必对此感到惊讶。
<br>这种对应的存在不是因为科学、数学和技术是一样的,而在于三者都 是目的性系统。
<br>==========
<br>
<br>- page 164
<br>
<br>科学与数学中的原创和技术中的原创没有根本性的不同,我们不必对此感到惊讶。
<br>这种对应的存在不是因为科学、数学和技术是一样的,而在于三者都 是目的性系
<br>统。广泛来说,也可视为达到目的的手段,因此需要遵循同样的逻辑。三者的构成
<br>都始于形式或原理:对于技术,是源于概念性的方法;对 于科学,是源于解释性
<br>的结构;对于数学,则源于真理与基本的公理结构。
<br>==========
<br>
<br>- page 170
<br>
<br>事实上,开发者经常寻找的并不是更好的部件,而是这个部件恰好能提供的一个现象。
<br>==========
<br>
<br>- page 176
<br>
<br>当调换部件和结构深化都不能再为提高性能做什么的时候,技术就成熟了。这时
<br>候,如果想取得进一步的发展,则需要一个全新的原理。
<br>==========
<br>
<br>- page 177
<br>
<br>只要我们能够,我们总是倾向于将感知置于经验、事件之上,创造符合它的变故和
<br>关系。我们对那些不符合这种参考框架的事物往往采取忽视、误解或 否认的态
<br>度。结果是,我们通常能找到我们所要寻找的东西。
<br>==========
<br>
<br>- Your Note on page 191
<br>
<br>生产工具的变革
<br>==========
<br>
<br>- page 191
<br>
<br>经济学假设新技术是被 "采用"的,它们被接纳并应用于经济中。对于个体技术当
<br>然是这样。钢铁生产商采用贝塞麦生产过程,他们的生产能力也相应地起了变化。
<br>但这并不能很好地描述 复数的技术的情况,如计算或铁路技术。我更倾向于认为
<br>工业、公司、商业运作等经济要素并不是"采用"了一个新的技术体,而是"遭遇"了
<br>它。正 是由于这种遭遇,才产生了新工艺、新技术、新兴产业。
<br>==========
<br>
<br>- Your Note on page 197
<br>
<br>统一或分散的动力
<br>==========
<br>
<br>- page 196
<br>
<br>9在工厂还没有实现电气化之前的一个世纪左右,人们依靠蒸汽机提供动力。每一
<br>个工厂都有这样一个独立引擎,一个足有几层楼高的巨大的家伙嘶吼 着,摇动着
<br>一个由活塞、飞轮、滑轮、皮带构成的组合,驱动主轴的运转,然后再继续驱动工
<br>厂里其他的机械设备。直到19世纪80年代,电动发动 机才作为新的电子域的主要
<br>成员进入了可操作阶段。它们所耗能源成本很低,还可以分解成小单元进行安装。
<br>这样一来,每个需要提供动力的工作机旁 边都可以安装一台电机。同时它们可以
<br>做到独立控制,可以依据需要分别开启或关闭。毫无疑问,电动发动机是更优的技术。
<br>==========
<br>
<br>- page 197
<br>
<br>新技术要求重新建造工厂。
<br>==========
<br>
<br>- page 200
<br>
<br>手艺的形式部分可能最终会成为学术论文和教科书,但真正的专业技能部分则很大
<br>程度上藏在它创生的地方,在那里,它被视为理所当然的、共享的, 且无须明言。
<br>==========
<br>
<br>- page 210
<br>
<br>随着技术数量的增加,组合的可能性也相应提高。
<br>==========
<br>
<br>- page 210
<br>
<br>威廉·奥格本早在1922年就已观察到这一点:"可用于辅助发明的东西越多,发明的
<br>数量就越大。"
<br>==========
<br>
<br>- page 211
<br>
<br>他预期物质文化(技术)的增长显示出"和复利曲线的相似之处"。如果他能在今天
<br>进行写作,他会说技术是按指数级增长的。
<br>==========
<br>
<br>- page 213
<br>
<br>事实上,需求不是一个恰当的词。因为在青霉素或核磁共振还不存在的时候,根本
<br>无法在经济中对它们提出明确的需求。因此不如说我们应该谈论的是 技术的机会
<br>——即技术可以有效地占据的利基。
<br>==========
<br>
<br>- Your Note on page 219
<br>
<br>新技术可能与旧技术结合,也可能取代。都是利基之处。
<br>==========
<br>
<br>- page 219
<br>
<br>在实践中,它们其实并不能这样干净利落地前后相继、井井有条,而经常是并行发
<br>生的。
<br>==========
<br>
<br>- Your Note on page 223
<br>
<br>与非门
<br>==========
<br>
<br>- page 223
<br>
<br>所有可用的技术只有NAND(不是AND)电路(
<br>==========
<br>
<br>- page 226
<br>
<br>我们既不能预见会形成何种组合,也不能预见何种机会利基会被创造。由于潜在组
<br>合是成指数式增长的,这种不确定性也会随着技术体的发展而增加。
<br>==========
<br>
<br>- page 236
<br>
<br>经济以这种方式在暴风骤雨般的变化当中构成或重构自身,包括创新和适应这种新
<br>的制度安排,以及如影随形、互相追逐的机会利基。 让我以一个具体的例子来详
<br>细阐明我的观点。当实用的纺织机械于18世纪60年代在英国诞生时,它提供了一种
<br>替换当时以手工作坊为基础的生产方式。2当时, 羊毛和棉布的纺织都是在家里手
<br>工完成的,属于散工制的组织方式。新机器在刚开始时获得了部分成功。接着,它
<br>需要比家庭手工作坊更大规模的组 织,因此它为更高级的组织安排(纺织厂或毛
<br>纺厂)提供了机会,并成为其中的一部分。工厂实际上也是某种技术,它作为一种
<br>组织手段,反过来需要 另一种手段来实现:工厂劳动力。劳动力当然早已在经济
<br>中存在,但是当时当地并没有足够多的人来支撑这种新的工厂系统,因此需要劳动
<br>力的调集。 由于大多数劳动力来自农村,这就需要工厂附近有居住的地方,工人
<br>宿舍和工人住房建设因此而出现。随着工厂、工人以及他们的栖息地组合而来的是
<br>一个工业化城市的生长,一套新的社会组织方式或说一套新的安排出现了,内含这
<br>种结构的维多利亚式工业经济就此开始呈现。就这样,一个时代的特 征,一套和
<br>超级工业机械相匹配的安排显现出来了。 但是这个过程还远远没有结束。工厂的
<br>劳动者当中许多都是孩子,经常在狄更斯作品中那样的条件下工作,这也引发了强
<br>烈的改革需求,这种改革需求不只是关于 "下层阶级的道德状况"3,还有他们的安
<br>全状况。继而,法律系统需要采取进一步的安排来对此做出回应,劳动法就在这种
<br>情况下被制定出来,以阻 止最坏的恶行发生。然后,新的工人阶级开始要求分享
<br>工厂创造的财富,他们利用一种手段来改善他们的状况,那就是工会组织。工厂中
<br>的劳动力要比 家庭作坊中的劳动力更容易组织,4因此,若干年之后,工会就变成
<br>了一股不可小视的政治力量。 在这种机制下,纺织机械并不仅仅是替换了手工生
<br>产方式,它还为更高一级的制度安排(工厂制度)提供了机会。在这个制度安排
<br>中,机械只是其中的一个组分。新 的工厂制度反过来建立了一个服务于劳动力及
<br>其栖居需要的需求链条。反过来,对这一问题的解决又创造了进一步的需求,所有
<br>这些最终演变为维多利 亚式工业体系。这个过程用了100多年的时间才真正完成。
<br>==========
<br>
<br>- page 237
<br>
<br>从此,纺纱人不再能在家里转动她的纺轮,织布匠也不能在家里抛动他的梭子,那
<br>种没有任何监督的美好时光从此不再。现在,工作必须在工厂中完成 了,以一种
<br>无聊的、毫无生气的机器所规定的步调,作为团队的一员,要与整体共进退,开
<br>始、间歇、停止——所有这些都在密切监督之下进行,工厂 用道德、经济奖惩来促
<br>使工人勤奋地工作,有时候甚至是身体上的强迫。工厂是一种新的监狱;时钟是一
<br>群新的狱卒。"
<br>==========
<br>
<br>- page 239
<br>
<br>即将到来的新技术不是仅仅打破静态,比如说发现比我们现在用的产品或方法更好
<br>的新的组合:它需要一系列安置新技术的条件,并解决由此产生的另 外一些新问题。
<br>==========
<br>
<br>- page 239
<br>
<br>即将到来的新技术不是仅仅打破静态,比如说发现比我们现在用的产品或方法更好
<br>的新的组合:它需要一系列安置新技术的条件,并解决由此产生的另 外一些新问
<br>题。如此一来,又要为新的能够解决这些问题的进一步的技术创造新的机会利基——
<br>接下来又产生进一步的问题。 因此,经济总是存在于永恒变化之中,存在于一种
<br>永恒的新颖性之中。
<br>==========
<br>
<br>- page 243
<br>
<br>我们的理论始于三个原理:一切技术都是元素的组合;这些元素本身也是技术;所
<br>有技术都利用现象达到某个目的。
<br>==========
<br>
<br>- page 243
<br>
<br>一旦新技术(单体技术)诞生了,它们就立刻成为可供进一步地建构更新技术的潜
<br>在构件。
<br>==========
<br>
<br>- page 250
<br>
<br>从占有资源的角度获取国民财富的总量开始不如从占有专业科学及技术知识的角度
<br>获得的那样多了。公司的竞争优势绝大部分是从它们占有的技术专长 而来的。
<br>==========
<br>
<br>- page 249
<br>
<br>从只实现单一目标功能的流程或机器转换为采用不同组合以实现不同目标的技术。
<br>为了反映技术的这种转换,经济至少在高科技部分更多地表现为更关 注如何聚
<br>集、拼凑事物,而不是如何对现有操作进行完善。
<br>==========
<br>
<br>- page 256
<br>
<br>他们的星际飞船是虚弱的、有机的,而且必须踢它才能让它运转。这是至关重要
<br>的,他们的技术是人性的。
<br>==========
<br>
<br>- page 256
<br>
<br>他们没有用人性和技术做交易,也没有使意志向技术投降。技术向他们投降了。并
<br>且由于这样做了,技术也拓展了它们的自然性。
<br>==========
<br>
<br>- page 256
<br>
<br>已经把技术奴役我们的本性和技术拓展我们的本性之间进行了区别。
<br>==========
<br>
<br>- page 254
<br>
<br>如果我们仅仅使用自然现象的原始形态去驱动水车或推动帆船,我们对技术就会有
<br>家的感觉,我们的信任和希望就不会那么不一致。但是现在,随着即 将到来的基
<br>因工程、机器智能、仿生学、气候工程学,我们正在开始使用技术(利用自然)直
<br>接干预自然了。对于我们这种灵长类动物,对于我们这种 以树、草和其他动物构
<br>成的生境为家的动物来说,这种感觉极度不自然。这扰乱了我们内心深处的信赖。
<br>这种内心深处的不安会不知不觉地反映在很多方面。我们开始转向传统,转向环境
<br>保护主义,开始回头倾听家庭价值观,我们转向原教旨主义,我们抗议。我们这些
<br>反应的背后的实质,不论合理与否,是恐惧。我们害怕技术将我们与自然分离,我
<br>们害怕技术破坏了自然,破坏了我们的自然。
<br>==========
<br>
<br>- page 255
<br>
<br>我们害怕技术作为一种有生命的东西将会给我们带来死亡。不是"不存在"这个意义
<br>上的死亡,而是更糟糕的死亡,一种丧失自由的死亡,一种意志的 死亡。
<br>==========
<br>
<br>- page 280
<br>
<br>技术由人类创造出来,又基于自然最原初的现象,但却开始了疏离"人类与自然"的
<br>进化之旅。
<br>==========
<br>--------------------
<br>
<br>博客会手工同步到以下地址:
<br>
<br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]
<br>
<br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-19528184620666666822014-10-26T21:18:00.000+08:002014-10-26T21:19:13.114+08:00秀技能:倒立及其他没用的秀技能:倒立及其他没用的
<br>
<br>我练的倒立得靠墙,做不到像猴子或杂技演员一样走来走去,或者静止在那里。
<br>
<br>靠墙倒立,就是像《流星花园》里花泽类里那样,面对墙壁,双手撑地,然后啪地一
<br>声,脚就上墙了。花泽类说,我听朋友说,如果你要哭的时候倒立过 来,眼睛就
<br>不会流下来了。后面这段对白并非靠墙倒立的一部分。
<br>
<br>其实我根本不相信花泽类说的,泪腺分泌如果连地心引力都不能克服,人类早就因
<br>为眼睛迷沙子然后感染死绝了。另外,我想不起来《流星花园》里是否给 了全身的
<br>镜头,别腿上还有绳子向上拉吧。
<br>
<br>靠墙倒立基本是个没用的技能,练这个,多一半是为了好玩。这种好玩,而没有用
<br>的技能,我还会很多。那天拉了个单子,总结如下。
<br>
<br>我会地盘扫堂腿。你在武侠片里应该看过,就是两手撑地,一腿弓一腿绷直,绷直
<br>的那条腿在地上划圈,弓的那条腿要适时的跳起来,才能不绊到。当年网 络中心
<br>元旦吃饭的时候,我秀过,燕姐的儿子当时似乎小学,羡慕得不行。当年,这位小
<br>同学的理想是从事演艺事业,现在,这位当年的小同学都已经上大 学了,专业不
<br>是艺术类,估计已经认识到这种奇技淫巧毫无用处了。
<br>
<br>我还有单腿蹲起。曾经在四食堂门口看协会纳新,一哥们在那练这个,屡试不成。
<br>我过去跟他切蹉了一下。他说:你不错啊。然后这位哥们秀了一下他的右 手,他
<br>主练铁沙拳,右手背上全是肌肉。此前,穷我一生所见,没见过手背上有肌肉的,
<br>而这哥们的手背肌肉跟我小臂上的差不多。我按了按,问:练的时 候疼不,然后
<br>再也不提单腿蹲起的事了。
<br>
<br>在芬兰的时候,我秀过地盘扫堂腿和快速的单腿蹲起。在酒吧里,关同学和小刘同
<br>学带我去的,提前排队不用花钱。音乐响起,我进去整了这么两下子。不 少年轻
<br>人鼓掌吹口哨。然后我就出来了,一方面我只会这个,另一方面,老外年轻人怪吓
<br>人的,你可以想像一下,一群金发碧眼或光头的北欧人,穿得都很 重金属或者哥
<br>特,朝你叫喊,而你根本不知道他们叫喊的是啥。关同学说,他们就喜欢厉害的,
<br>我听不懂芬兰语或瑞典语,真心没有全信。
<br>
<br>我还会向左或向右歪嘴。最初,只会向左侧歪,这是天生的。后来,经过了艰苦的
<br>努力,终于能向右歪了。终于说到了正题,这些技能,即使是没用的,也 都经过
<br>了艰苦的努力。要仔细体会向左歪的肌肉的感觉,然后用手扶着脸向右歪。
<br>
<br>你不要试了。没有个把星期的不懈努力是不会成功的。如果不信,你不妨试试这
<br>个:跳起来转三百六十度。先逆时针一次,再顺时针一次。小心,小心,摔 到了
<br>别怪我没提醒你。事情不像你想得那么简单。
<br>
<br>关于歪嘴,除了艰苦努力以外,这个故事还告诉我们另一件事,就是它真的没用。
<br>我在吃饭的时候给ZHUMAO的儿子演示过。他儿子刚想 试,ZHUMAO赶紧厉声喝止:
<br>不许学。
<br>
<br>我还能从右侧上自行车,另人骑的时候,从右侧左侧分别上到大梁和后座上。右侧
<br>骑自行车只在高考前体检的时候秀过。体检等待的时候,几个男同学试把 试把地
<br>从右边上。当然,全部以摔倒告终--全部。这些小伙里,当然有体育特别好的,足
<br>球蓝球都顶呱呱的。但是,平衡能力什么的,天生大家都比别人 强不了多少。所
<br>以,他们全都没有在那几十分钟里练成。我几翻请求,终于能有机会试一下,先特
<br>意歪了两下,然后顺利上去骑了一圈。在这之前几年,我 就掌握了这个技术。
<br>
<br>类似的,我还秀过背圆周率小数点后一百位。吕咸辉等同学拿着张纸条,上面写了
<br>pi的小数点后一百位,正背着。我凑过去问,这是什么。得到答复以 后,我拿过
<br>来,边看边念出声,然后一挥手,开始背:3.1415926535897932384626
<br>433832795028841791693993751058209......(还能背这些,希望没错)
<br>
<br>是的,我以前就背下来了,背诵之前的表演只是表演。这样的故事告诉我们,在艰
<br>苦练习面前,天赋什么的都是扯淡。
<br>
<br>我还会在骑行中把前轮抬起来,能什么也不碰到上马路牙子。如果你觉得这个不够
<br>酷,我还能再把后轮也抬起来。代价是,在我漫长的训练中,我爸的东方 红自行
<br>车,那么结实的二八车子,后座被我摔歪过很多次,还专门调过后轴。因为摔的次
<br>数太多,防摔技术也有提升,曾经在冰面上转了三百六十度,人和 车都没倒。当
<br>然,因为练习次数不够,没有再重现过这个奇迹。
<br>
<br>我还能把右边单侧眉毛抬起来,左侧的不动。翻过来我练过一阵,至今没成功。
<br>
<br>我的左手的食指到小指,都能在第二指节弯曲,而第一指节不动。别笑,我也认为
<br>这没有什么用处。
<br>
<br>我还会很多别的没用的技能,以后再说。继续说倒立。练倒立是从《囚徒健身》
<br>(<a href="http://book.douban.com/subject">http://book.douban.com/subject</a> /25717097/,不是广告,没收好处)里学的。
<br>里面说,倒立的终极目标是单手靠墙俯卧撑。
<br>
<br>单手靠墙俯卧撑,够臭屁吧。练起来可真难啊,连它的最初阶段之一,靠墙倒立都
<br>这么难。
<br>
<br>个别同学可能会提到,是不是你原来太弱啊。不算太弱,我在练这个以前,当然,
<br>腰突以前,能连续做100个俯卧撑,能做10个以上头拱地的背桥,能 跪姿直着慢慢
<br>地向后面倒下去,到地面,如果鞋够硬,还能再慢慢地起来。
<br>
<br>我高估了自己。练习倒立我受了不少伤,这些伤足以说明够难。我回想一下啊。最
<br>厉害的是左大腿磕在书架上,当时就凹下去一块,跟被大棒子打进去的一 样。不
<br>咋疼,但是第二天开始就青了,然后紫了,然后漫延开。如果没记错,一个多月才
<br>淤血全消。半年多了,现在颜色还没全变过来。右脚背磕另一面书 架上,瘸了好
<br>几天。右肘在被墙上的东西划破,留了道疤。
<br>
<br>因为胳臂没撑住,脑袋撞地上若干次。最倒霉的一次,地上刚好有个小石子,比小
<br>指尖还小点,正中头顶百会穴位置,那个疼啊,当时就起个包。脑袋撞地 上,疼
<br>并不是最可怕的。杵脖子最吓人,虽然每次都不严重,不过最近才有报道有个印度
<br>哥们进球后以后空翻庆祝,脖子杵折了,死了。
<br>
<br>后来,终于能后背与肩附近顶在墙上倒立住了。拍了张照片传微信上,大学同学里
<br>的大姐说,你这岁数练成这个不容易啊。后来,偶尔能完全立住,找感 觉,在网
<br>上查贴子,看视频。再后来,完全立住的几率越来越高了。再后来,我妈告诉我,
<br>摩擦力很重要,手一定要抓稳地面,最好在地毯上。成功概率大 增,几乎不失败
<br>了。附注:我妈不会倒立,旁证是她认为我"才立那么一会儿啊",我没见过谁一立
<br>半天的。
<br>
<br>靠墙倒立,我大约练了半年吧。还有更深的技艺,比如顺风旗,比如俄式俯卧撑,
<br>据说有基础的也要练上两年。想起练某种变态的仰卧起坐时,我一边起一 边啊啊
<br>叫,一边骂,谁TM地发明了这些东西,真折磨人啊。
<br>
<br>有时会想起二猫妈写在四六级练习册的扉页上的话,"不为无益之事,何以遣有涯
<br>之生"。也许,这些技能最大的用途就是在一群无聊的小伙面前秀一下, 然后就"
<br>这有啥"吧。也算人生的一部分。
<br>
<br>很久都没有锻炼了。连续极度疲劳,连续生病,连续雾霾,连续抑郁。昨天开始试
<br>了一下,20个俯卧撑我就上不来气了,今天肱三头肌疼痛。是以为记。
<br>
<br>--------------------
<br>
<br>博客会手工同步到以下地址:
<br>
<br>[<a href="http://giftdotyoung.blogspot.com">http://giftdotyoung.blogspot.com</a>]
<br>
<br>[<a href="http://blog.csdn.net/younggift">http://blog.csdn.net/younggift</a>]Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0tag:blogger.com,1999:blog-862949426938573101.post-15007589943165027602014-10-09T22:03:00.000+08:002014-10-09T22:05:09.633+08:00读书笔记,一段时间以来021《火星公主》作者:[美] 埃德加·赖斯·伯勒斯, young@nenu
<br>
<br>
<br>
<br>
<br>我坚信,一个男人和女人的交往正好和他的勇敢成反比。一个懦弱的蠢货经常能轻
<br>易地迷住女人,而一位可以毫无惧色 地面对成千上万个真正敌人的勇士却只能像
<br>受了惊吓的孩子一祥躲在暗处。
<br>young@nenu, 021《火星公主》作者:[美] 埃德加·赖斯·伯勒斯, loc. 1239-1241
<br>
<br>
<br>
<br>
<br>068《星船伞兵》作者:[美] 罗伯特·海因莱因, young@nenu
<br>
<br>
<br>
<br>
<br>发生这种事本来会使你停下来,好好想想为什么当初竟然选择参军。只不过我太忙
<br>了,没时间为任何事停顿。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 191-192
<br>
<br>
<br>
<br>
<br>失败。一个人可以向一个孩子灌输知识,但他无法教会他怎样思考。"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 330-331
<br>
<br>
<br>
<br>
<br>(这一部分使我吃了一惊。我过去一直认为一个服役期就是两年,大家都是这么说的。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 427-428
<br>
<br>
<br>
<br>
<br>杜波司先生早就在历史和道德哲学课上给我们分析了就职誓言,
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 434-435
<br>
<br>
<br>
<br>
<br>Notes: 1) contradictory
<br>
<br>
<br>
<br>
<br>杜波司先生早就在历史和道德哲学课上给我们分析了就职誓言,让我们逐句学习
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 434-435
<br>
<br>
<br>
<br>
<br>他说你不笨,只是太无知了,
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 491-491
<br>
<br>
<br>
<br>
<br>兹穆中士后来说过,一群人要比单独一个人来得弱,除非他们受过训练,配合默契
<br>(他是对的).例如,
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 583-584
<br>
<br>
<br>
<br>
<br>但是,把新兵营搞得这么惨,有这个必要吗?对这个问题,我只能这么说:下一次
<br>我不得不空降作战时,我希望我的战 友是从考利营或是与它相当的西伯利亚营地
<br>毕业的。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 686-687
<br>
<br>
<br>
<br>
<br>在某些情况下,用氢弹去攻击敌人的一个城市就像用斧子砍孩子的屁股一样愚蠢。
<br>战争不仅仅是暴力和杀戮这么简单。 战争是为达到某种目的而使用的有控制的暴
<br>力。 战争的目的就是以武力支持政府的决定,绝不是为杀人而杀人…… 而
<br>是为了让他做你想让他做的事。不是杀戮……而是有控制、有目的的暴力。选择暴力
<br>的方式不是你我所能决定的。士兵的任务不是决定何时、何地、以何种方 式——以
<br>及为什么——作战。那是政府高层和将军们的事。政府高层决定为什么、何种程度。
<br>将军们从他们那儿接受任务,决定时间、地点和手段。我 们提供暴力,其他人——
<br>他们称之为'聪明的老家伙们'——实施控制。这就是战争的形式。这是我能提供的最
<br>好的答案。如果你还不满意,我可以给 你提供一个面见团长的机会。如果他同样
<br>不能使你信服——你就回家去,当个老百姓!因为在这种情况下,你永远不会成为一
<br>名士兵。"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 779-787
<br>
<br>
<br>
<br>
<br>比如,如果我们两个恰好在剧院或商店里碰上,只要你对我的军衔表现出应有的尊
<br>敬,我所拥有的扇你耳光的权利不会 比你拥有的扇我耳光的权利更多。但是在军
<br>务中,规则就完全不同
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 863-865
<br>
<br>
<br>
<br>
<br>我可以打碎你的下巴,为此我会向我自己的上司做出必要解释。但是我不必向你解释。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 867-868
<br>
<br>
<br>
<br>
<br>当然,值勤教官也可以哄你,说'亲爱的,乖',或是问你今早是否想在床上用早餐
<br>——如果我们能抽出一个教官专门 当你的保姆的话。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 873-874
<br>
<br>
<br>
<br>
<br>我们不能恨他们,也不能喜欢他们。我们必须教导他们。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 1024-1024
<br>
<br>
<br>
<br>
<br>一个人可以想像的最崇高的生活方式,就是将他自己的身体挡在荒芜的战场和可爱
<br>的家园之间。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 1136-1137
<br>
<br>
<br>
<br>
<br>仅有的记录留在了最重要的地方。 脑子里。你永远不会忘了它。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 1352-1353
<br>
<br>
<br>
<br>
<br>漫长繁忙的军旅生涯可能仅仅只有几个小时和敌人面对面作战,剩下的都是训练、
<br>准备、出发——随后返回、调养修 整,准备进入下一个循环,并且在战斗间隙不断
<br>练习,练习,练习。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 1842-1843
<br>
<br>
<br>
<br>
<br>足足五十三件装甲动力服需要检查、维护,战斗间歇必须检修,更不用提武器和特
<br>殊装备了。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 1849-1849
<br>
<br>
<br>
<br>
<br>在我们的系统之下,任何一个投票者或是政府官员都是一个这样的人,他已经通过
<br>志愿参加的艰苦服役表明,他能够将 集体的利益摆在个人之前。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2310-2312
<br>
<br>
<br>
<br>
<br>如果希福中尉不能推荐提升他为中士,那么他就不会继续把他留在这个排,他会以
<br>最快速度把他赶出这艘船。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2741-2742
<br>
<br>
<br>
<br>
<br>我们已经有一位副排长去了军官学校,本来就少一个中士,我自己人手都不够,当
<br>然有理由拒绝他们的要求。"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2749-2750
<br>
<br>
<br>
<br>
<br>这是一场野蛮的战争,小子,而且你的自己人会从你这儿把人偷走,如果你不好好
<br>看着他们的话。"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2750-2751
<br>
<br>
<br>
<br>
<br>意外总是会发生的。"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2768-2768
<br>
<br>
<br>
<br>
<br>不要告诉他你和我商量过了——是你给他下命令。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2779-2779
<br>
<br>
<br>
<br>
<br>着:"方位检查。你的方位是275,十二英里。" "长官,你的是96,十二英
<br>里。" "很接近。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 2909-2910
<br>
<br>
<br>
<br>
<br>躺下。这是命令。准备睡觉……一……二……三——乔尼!" "上尉,如果你允许的
<br>话,我想先检查一下听地器,之后再休息,如果你坚持的话。我自己情愿醒着。我
<br>——" 布莱基在我耳边大笑。"听着,小子,你已经睡了一个小时又十分钟了。"
<br> "长官?" "看一下时间。"我看了——感到自己真蠢透了。"你清醒了吗,小
<br>子?"
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 3092-3096
<br>
<br>
<br>
<br>
<br>由于它们仍然关押着我方的被俘人员,我们无法在克兰达斯上使用超新星炸弹——必
<br>须空降,降落到地面,
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 3373-3374
<br>
<br>
<br>
<br>
<br>海因莱因这部作品不仅流露出了作者对天赋人权的质疑,更描绘了一个只有被训练
<br>成一名军人才能成为"公民"的"理 想社会",
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 3429-3431
<br>
<br>
<br>
<br>
<br>他并不是一个法西斯分子,而是一个深受进化论哲学影响的自由意志论者。
<br>young@nenu, 068《星船伞兵》作者:[美] 罗伯特·海因莱因, loc. 3433-3434
<br>
<br>
<br>
<br>
<br>084《霸主的影子》作者:[美] 奥森·斯科特·卡德, gift.young@gmail
<br>
<br>
<br>
<br>
<br>没有什么能够训练你在行星表面生活,除了生活在那里。
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 158-158
<br>
<br>
<br>
<br>
<br>她对竞争没有特殊的兴趣,因为她总是一开始就已经假设了它,如果很重要的话,
<br>她会找到取胜的办法的。
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 160-161
<br>
<br>
<br>
<br>
<br>就象安德曾经说过的,绝大多数胜利来自及时扩大你的敌人愚蠢的错误,而不是由
<br>于你自己的计划有任何特别卓越的地 方。
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 1361-1362
<br>
<br>
<br>
<br>
<br>我正在把我的生命放到他手重。而且现在我发现了他的整个生活中从来没有和任何
<br>人建立诚实的关系。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 1934-1935
<br>
<br>
<br>
<br>
<br>如果你只把你认为我需要的资料给我的话,"比恩说,"那么我的建议的只能由告诉
<br>你你已经知道的事情来组成,而我 现在最好就回家去。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 2450-2451
<br>
<br>
<br>
<br>
<br>他们都是全数返回。有受伤但是没有死亡。有的时候任务失败,但是没有人死亡。
<br> "这是个失败的任务,"比恩说,"但是让你赢得他们的信赖。当你们看到那比
<br>我们预期危险得多的时候,是需要降低目标的,然后告诉他们你比目前的目标更
<br>重视他们的生命。稍后,当你没有选择只能让他们去冒险的时候,他们会知道那是
<br>因为这次是值得去死的。他们知道你不会象孩子对待糖果或者垃圾那 样浪费他们的。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 3895-3899
<br>
<br>
<br>
<br>
<br>在所有的时候,萨里文都几乎不能提供任何帮助而且有的时候显示出直接的敌意。
<br>但是比恩接纳了萨里文,委托他进行 指挥,鼓励人们帮助萨里文学习他们能够做
<br>的。所有的时候,比恩从没有把萨里文视为一个下属或者累赘,而是宁可把他看作
<br>未来的上级官员。
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 3901-3904
<br>
<br>
<br>
<br>
<br>因为他搂着你,就象是情人,"比恩说。"站在那里,枪口对着你的头,他用带着爱
<br>的心境抓住你。我认为他打算在他 带你登机之前吻你。他希望我看到。" "她
<br>根本不会让他吻她的,"弗拉密厌恶地说。 但是佩查看着比恩注视的眼睛,眼
<br>中的泪水给出了比弗拉密的勇敢的言语更真实的回答。她已经让阿契里斯吻过她
<br>了。和颇克一样。 "他给你打了印记,"比恩说。"他爱你。你有比他更高的力
<br>量。在他不再需要你作为人质避免我杀掉他以后,你就不会再活下去了。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 4362-4366
<br>
<br>
<br>
<br>
<br>他要为自己的行为负责,而不是别人。即使那些拯救了他的生命的人。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 4368-4369
<br>
<br>
<br>
<br>
<br>你从他那里自由了。你现在的每分每秒每天每科都比比去设想如果他听到你的话会
<br>怎么对付你,也不用去象他可能看的 时候你该怎么做。他现在唯一能够伤害你的
<br>方法,就是你在心里一直监视着他。"
<br>gift.young@gmail, 084《霸主的影子》作者:[美] 奥森·斯科特·卡德, loc. 4371-4373
<br>
<br>
<br>
<br>
<br>106《银河系公民》 罗伯特·海因莱恩, 罗伯特·海因莱恩
<br>
<br>
<br>
<br>
<br>老爹一直认为聪明人不可能觉得受了侮辱,因为真理不可能被侮辱,如果侮辱本身
<br>是一种谬误,那就更不值得为它光火 了。
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 114, loc. 1746-1747
<br>
<br>
<br>
<br>
<br>你们为这种空前的自由所付出的代价却是……自由本身。不,我不是说谜语,我是
<br>说,'同胞'这个整体的自由是以牺 牲你们每个人的个人自由为代价换来
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 134, loc. 2048-2049
<br>
<br>
<br>
<br>
<br>自由是个难以放弃的习惯
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 136, loc. 2072-2072
<br>
<br>
<br>
<br>
<br>电脑停止运行以后,杰里放下手头工作,看到索比还对着控制面板发愣……不一会
<br>儿,索比又活跃起来,想根据最后出 现的数据再计算一次。杰里一只手搭在他肩
<br>上,说:"打完了,索比。"
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 142, loc. 2168-2169
<br>
<br>
<br>
<br>
<br>可他不愿坐办公室,所以主动降级——两次降为上校——好直接指挥飞船。
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 176, loc. 2699-2700
<br>
<br>
<br>
<br>
<br>那就更好了。现在您可以让他上船当兵,以后当您搞清楚他该去什么地方时,您就
<br>会发现他的年龄搞错了……必须纠 正。给他发些工资,打发他回到自己的星球上去
<br>就是了。" 布里斯比眨了眨眼睛,说:"财务官,你们这些当出纳的都这么狡
<br>猾吗?"
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 182, loc. 2776-2779
<br>
<br>
<br>
<br>
<br>你没有当过巴斯利姆上校的部下。那个人,让他高兴很容易,只要你做到百分之百
<br>的完美就行。
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 198, loc. 3030-3031
<br>
<br>
<br>
<br>
<br>这天夜里,索比好像听见了族长奶奶严厉的声音:"——再想一想!要是你不懂它是
<br>什么意思,而文件在付诸法律以后 又可以生效执行,那就不要签字!不管这份文
<br>件看上去有多大好处,你也不能签。过分懒惰或者过分急切都可以毁掉一个贸易商。"
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 221, loc. 3378-3381
<br>
<br>
<br>
<br>
<br>所以,如果有人来要求去做某项工作,我们是不会立即同意的。相反,我们要求他
<br>做到叫他干什么,他就必须去干什 么。我们只是使用他,往往会让他干到直至做
<br>不动为止。
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 254, loc. 3882-3883
<br>
<br>
<br>
<br>
<br>某个衣冠楚楚的应声虫就会站出来大放厥词,他会说,奴隶制也不见得那么坏,因
<br>为许多人如果不用承担自由民的责 任,他们的生活其实比承担责任幸福得多。
<br>罗伯特·海因莱恩, 106《银河系公民》 罗伯特·海因莱恩, pg. 256, loc. 3921-3922
<br>
<br>
<br>
<br>
<br>177《猫的摇篮》作者:[美] 库特·冯尼古特, young@nenu
<br>
<br>
<br>
<br>
<br>父亲看了一会儿那圈绳子,然后就用手指翻弄着花样。他翻出来的花样叫'猫的摇篮'。
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 89-90
<br>
<br>
<br>
<br>
<br>自然界中有那么多货真价实的游戏,我何苦自找烦恼去玩那些人们生造出来的呢?
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 94-95
<br>
<br>
<br>
<br>
<br>他拒人于千里之外,因为他从来对人们就没有兴趣。
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 112-113
<br>
<br>
<br>
<br>
<br>他说:"要是我能够主管费利克斯的话,那么我现在就准备去主管火山、湖水、
<br>鸟、鼠的迁徙了。那个人是一种自然力 量。人们无法左右他。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 177-179
<br>
<br>
<br>
<br>
<br>我问布里德博士有多少人在研究实验室工作,他说:"七百人,但是真正从事研究
<br>工作的不到一百人。另外六百人都是 打杂的,而我是头号的打杂工。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 263-265
<br>
<br>
<br>
<br>
<br>霍尼克博士常说,一个科学家要是不能向一个八岁的孩子讲明他在干什么的话,那
<br>他就是一个江湖骗子。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 277-278
<br>
<br>
<br>
<br>
<br>人们提出的建议铺天盖地,但从事纯研究工作的人对此不屑一顾。他脑子里装潢了
<br>自己的计划,而我们需要的正是这种 工作作风。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 337-338
<br>
<br>
<br>
<br>
<br>他们提出各种各样的乌七八糟的计划,到现在还是这样。这些计划的唯一不足在于
<br>目前我们所具备的知识还不能将它们 付诸实践。
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 340-341
<br>
<br>
<br>
<br>
<br>费利克斯的奇迹就在于——我衷心希望你能把这一点写进你的书里——他永远能把陈旧
<br>的难题当成全新的奥秘去探 索。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 354-355
<br>
<br>
<br>
<br>
<br>他注视着遮掩洞穴的水帘。他对我说;"我所理解的成熟,就是要有自知之明。"
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 1547-1548
<br>
<br>
<br>
<br>
<br>他常说,他永远也不做他劝别人做的事情,因为他知道那是没有价值的。
<br>young@nenu, 177《猫的摇篮》作者:[美] 库特·冯尼古特, loc. 2142-2143
<br>
<br>
<br>
<br>
<br>Kindle Paperwhite 用户指南(第 2 版), 亚马逊
<br>
<br>
<br>
<br>
<br>如需标注下一页内容,请拖动手指到屏幕右下角以翻页。您可以一直拖动对多个页
<br>面进行标注。 如需标注上一页内容,请拖动手指到屏幕左上角以翻页。您可以一
<br>直拖动对多个页面进行标注。 选取标注后,如需编辑标注范围,请点击并按住标
<br>注内容起止两端的手柄,然后拖动到理想位置。除个别语言外,仅当您选择两个或
<br>以上字词时才会显示手柄。
<br>亚马逊, Kindle Paperwhite 用户指南(第 2 版), loc. 575-584
<br>
<br>
<br>
<br>
<br>Red Mars, Kim Stanley Robinson
<br>
<br>
<br>
<br>
<br>In games there are rules, but in life the rules keep changing.
<br>Kim Stanley Robinson, Red Mars, loc. 7001-7002
<br>
<br>
<br>
<br>
<br>"Can you determine where?"
<br>Kim Stanley Robinson, Red Mars, loc. 8548-8548
<br>
<br>
<br>
<br>
<br>"No, there's too many unknowns.
<br>Kim Stanley Robinson, Red Mars, loc. 8549-8549
<br>
<br>
<br>
<br>
<br>Black ice would melt by day, then freeze at night. Sublimate and
<br>precipitate.
<br>Kim Stanley Robinson, Red Mars, loc. 8944-8944
<br>
<br>
<br>
<br>
<br>it might have been anywhere anytime, and their tired faces bright with
<br>some collective success, or merely with the pleasure of eating together—
<br>while just outside their chamber the broken world roared, and rockfall
<br>could annihilate them at any instant. And it came to her that the
<br>pleasure and stability of dining rooms had always occurred against such
<br>a backdrop, against the catastrophic background of universal chaos; such
<br>moments of calm were things as fragile and transitory as soap bubbles,
<br>destined to burst almost as soon as they blew into existence.
<br>Kim Stanley Robinson, Red Mars, loc. 9061-9065
<br>
<br>
<br>
<br>
<br>the+coquest+of+happiness, <a href="mailto:ninily@gmail.com">ninily@gmail.com</a>
<br>
<br>
<br>
<br>
<br>I have aimed only at putting together some remarks which are inspired by
<br>what I hope is common sense.
<br><a href="mailto:ninily@gmail.com">ninily@gmail.com</a>, the+coquest+of+happiness, loc. 4-4
<br>
<br>
<br>
<br>
<br>of the devotion of their mothers.
<br><a href="mailto:ninily@gmail.com">ninily@gmail.com</a>, the+coquest+of+happiness, loc. 16-17
<br>
<br>
<br>
<br>
<br>Notes: 1) judged by other persons.
<br>
<br>
<br>
<br>
<br>Gradually I learned to be indifferent to myself and my deficiencies; I
<br>came to centre my attention increasingly upon external objects: the
<br>state of the world, various branches of knowledge, individuals for whom
<br>I felt affection.
<br><a href="mailto:ninily@gmail.com">ninily@gmail.com</a>, the+coquest+of+happiness, loc. 42-43
<br>
<br>
<br>
<br>
<br>与鬼为邻, 萨苏
<br>
<br>
<br>
<br>
<br>榻榻米的面是草编的席子,如果穿普通的鞋上去很容易磨坏。
<br>萨苏, 与鬼为邻, pg. 24, loc. 367-367
<br>
<br>
<br>
<br>
<br>您看,这就是日本人的性格,他有事儿从来不当面锣对面鼓,专在背后瞎嘀咕。
<br>萨苏, 与鬼为邻, pg. 28, loc. 429-430
<br>
<br>
<br>
<br>
<br>这是因为日本过去幼儿园和小学都有一个他们视为传统我们看作陋习的习惯,那就
<br>是孩子中谁强大,谁就称王称霸,老 师不管。这种做法日本人认为是培养孩子竞
<br>争力和具备等级观念的精神。
<br>萨苏, 与鬼为邻, pg. 49, loc. 745-746
<br>
<br>
<br>
<br>
<br>越经常锻炼身体好的,对氧气的消耗越多,所以在缺氧环境下剧烈运动,往往是还
<br>没等出缺氧反应,就趴下了。
<br>萨苏, 与鬼为邻, pg. 82, loc. 1256-1257
<br>
<br>
<br>
<br>
<br>天下最喜欢穿制式服装的大概也就是日本人了。无论是铁路的乘务员还是指挥交通
<br>的保安,日本人只要一穿上制服就会 两眼发亮,自信十足。仿佛制服代表着他们
<br>属于一个高贵的阶层。也许,对日本人来说,面子和习惯的重要性,是远远胜过舒
<br>适和自由的。
<br>萨苏, 与鬼为邻, pg. 92, loc. 1407-1409
<br>
<br>
<br>
<br>
<br>就是认为雇你干活你对我就有一定程度的人身依附关系,
<br>萨苏, 与鬼为邻, pg. 117, loc. 1789-1789
<br>
<br>
<br>
<br>
<br>比起欧美政坛的巨头们更多地在经济上寻求共同利益,从封建时代直接进入资本主
<br>义社会的日本更加重视姻亲和裙带的 效力
<br>萨苏, 与鬼为邻, pg. 137, loc. 2097-2098
<br>
<br>
<br>
<br>
<br>因为随着国际交流的发展,大家都明白日本人说话就是习惯这样模模糊糊,藏头露
<br>尾的,
<br>萨苏, 与鬼为邻, pg. 157, loc. 2403-2404
<br>
<br>
<br>
<br>
<br>大江大海1949(插图版), 龙应台
<br>
<br>
<br>
<br>
<br>有一种人,愈是在风雨如晦的时候,心灵愈是宁静。他能穿透所有的混乱和颠倒,
<br>找到最核心的价值,然后就笃定地坚 持。
<br>龙应台, 大江大海1949(插图版), loc. 81
<br>
<br>
<br>
<br>
<br>夹边沟记事, 杨显惠
<br>
<br>
<br>
<br>
<br>夹边沟的右派到了明水以后,仅仅劳动了半个多月,垦荒工作就停止了。作为最下
<br>层的一个劳教犯,我不知道停止垦荒 是否有着更为深层的原因:可能是整个国家
<br>经济生活当时进入了困难时期,经济政策有所调整;也可能是因为仓促上马,条件
<br>不成熟,上级撤销了这个 项目。
<br>杨显惠, 夹边沟记事, pg. 407, loc. 5810-5813
<br>
<br>
<br>
<br>
<br>每一次合并,我都发现,是那些总也躺着不动的人在搬家,还有些个别的能偷能抢
<br>或者家庭支援颇丰的人,而那些成天 在田野上挖野菜捋草籽的人早早倒毙了,被
<br>人用被褥或者毯子卷起来抬出去了。因为他的胃从野菜和草籽里摄取的营养补充不
<br>了他劳作而失去的热量。
<br>杨显惠, 夹边沟记事, pg. 455, loc. 6493-6495
<br>
<br>
<br>
<br>
<br>我说,把裤子和衬衣都换了吧。你还想得远——明年夏天!你先想眼前怎么活过去吧。
<br>杨显惠, 夹边沟记事, pg. 456, loc. 6514-6515
<br>
<br>
<br>
<br>
<br>技术的本质:技术是什么,它是如何进化的, 布莱恩•阿瑟
<br>
<br>
<br>
<br>
<br>然而,作为人类,我们实际上不应该和技术如此紧密地结合,而是应该和其他什么
<br>东西融合得更为紧密,那就是自然。 在最深的层次上,人的存在应该和自然,和
<br>我们最初的环境,以及最初使我们成为人的那些条件相融合。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 30, loc. 338-340
<br>
<br>
<br>
<br>
<br>如今机器被用来生产机器了,同时它又变成了以后同类机器的父母。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 36, loc. 426-426
<br>
<br>
<br>
<br>
<br>技术的建构不仅来自已有技术的组合,还来自于对自然现象的捕捉和征服。在
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 43, loc. 529-530
<br>
<br>
<br>
<br>
<br>三个基本原理
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 544-544
<br>
<br>
<br>
<br>
<br>技术(所有的技术)都是某种组合。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 544-545
<br>
<br>
<br>
<br>
<br>其次,技术的每个组件自身也是缩微的技术。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 545-546
<br>
<br>
<br>
<br>
<br>第三条基本原理是,所有的技术都会利用或开发某种(通常是几种)效应
<br>(effect)或现象 (phenomenon)。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 547-548
<br>
<br>
<br>
<br>
<br>技术组件的集成或组合是为了满足它们的目的。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 550-550
<br>
<br>
<br>
<br>
<br>Notes: 1) motivation 2) motivation , difference between the evolution
<br>of technology and biology.
<br>
<br>
<br>
<br>
<br>技术组件的集成或组合是为了满足它们的目的。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 44, loc. 550-550
<br>
<br>
<br>
<br>
<br>定义:技术是实现人的目的的一种手段。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 49, loc. 605-605
<br>
<br>
<br>
<br>
<br>技术是实践和元器件(components)的集成(assemblage)。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 49, loc. 610-611
<br>
<br>
<br>
<br>
<br>将技术作为在某种文化中得以运用的装置和工程实践的集合。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 50, loc. 613-614
<br>
<br>
<br>
<br>
<br>装置和流程的确可以归于相同的范畴。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 53, loc. 663-663
<br>
<br>
<br>
<br>
<br>技术总是围绕着一个中心概念或原理,如"事物的方法"或者一个可行的核心理念来组建
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 55, loc. 696-696
<br>
<br>
<br>
<br>
<br>各个子程序就处于不断的相互联系之中,它们不停地"对话",就如同喷气发动机那样。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 57, loc. 724-725
<br>
<br>
<br>
<br>
<br>技术的分解随着市场的细分而加剧。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 60, loc. 767-768
<br>
<br>
<br>
<br>
<br>一开始的一系列松散地串在一起的零件如果被用得足够多,就会"凝固"成独立的单
<br>元。技术模块随着时间的推移会变 成标准组件。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 61, loc. 772-773
<br>
<br>
<br>
<br>
<br>一个技术绝少是固定不变的。它会不断地变换结构,当目的改变时,它会去适应并
<br>进行重新的配置,
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 66, loc. 851-852
<br>
<br>
<br>
<br>
<br>在真实世界中,技术是高度可重构的,它们是流动的东西,永远不会静止,永远不
<br>会完结,永远不会完美。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 66, loc. 854-855
<br>
<br>
<br>
<br>
<br>现象是技术赖以产生的必不可少的源泉。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 73, loc. 929-930
<br>
<br>
<br>
<br>
<br>Notes: 1) theory , principle .
<br>
<br>
<br>
<br>
<br>这个例子阐明了如何应用现象的组合去达到目的。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 75, loc. 960-961
<br>
<br>
<br>
<br>
<br>在实践中,现象在能够被应用于技术之前,一定要被"驯服",并且作好恰当的准
<br>备。天然形式的现象很难被利用,需 要巧妙的诱导,它们才能令人满意地运作起
<br>来。它们可能只在很有限的条件下起作用,所以一定要建立正确的支持方式才能使
<br>它们为预设的目的服务。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 75, loc. 972-974
<br>
<br>
<br>
<br>
<br>货币系统利用了这样一种现象:只要我们相信其他人会相信一种交换媒介是有价值
<br>的,而且这种信任会在未来持续下 去,我们就会相信这个系统。需要注意的是,
<br>这里的现象不是物理性的,而是行为性的,
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 83, loc. 1076-1078
<br>
<br>
<br>
<br>
<br>物理现象。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 83, loc. 1079-1079
<br>
<br>
<br>
<br>
<br>目的性系统(purposed systems)。
<br>布莱恩•阿瑟, 技术的本质:技术是什么,它是如何进化的, pg. 84, loc. 1090-1090
<br>
<br>
<br>
<br>
<br>李银河说性, 李银河
<br>
<br>
<br>
<br>
<br>弗罗姆在讲到欧洲中世纪时说:那时,"个人"尚未形成。
<br>李银河, 李银河说性, pg. 14, loc. 212-213
<br>
<br>
<br>
<br>
<br>道德保守派一直没有放弃纯净社会道德使之尽量趋向于禁欲主义的目标。他们顺应
<br>(或者说利用)社会中一部分人的保 守道德观念,压制另一部分人的权利一殊不
<br>知按照《宪法》中关于言论自由和出版自由的规定,后者的道德观念也有加以表达的
<br>合法权利。用行政处罚 的办法钳制后者的言论自由和出版自由,用社会中一部分
<br>人的道德标准来压制另一部分人的言论自由权利,严格地说属于违宪的行为,是应
<br>当认真加以 检讨的。 在中国一部分人群进人现代化的都市生活之后,个人主义渐
<br>渐得到应有的地位,也渐渐在人们的观念中与自私自利的利己主义区分开来。人们
<br>越来越多地意识到自己 的权利,一些"准群体"也渐渐形成为"利益群体"(达伦多
<br>夫语),他们希望运用自己的权利,实现自己的利益,争取和保护自己作为一个人
<br>的一般 权利和作为某个利益群体的成员的特殊权利。
<br>李银河, 李银河说性, pg. 15, loc. 218-225
<br>
<br>
<br>
<br>
<br>福柯说过:性是没有任何一个权力能够忽视的资源。
<br>李银河, 李银河说性, pg. 18, loc. 268-268
<br>
<br>
<br>
<br>
<br>权力能够通过对性的控制来控制人,
<br>李银河, 李银河说性, pg. 18, loc. 269-269
<br>
<br>
<br>
<br>
<br>在制定与法律不一致的团体规定时,必须有绝对必要的理由。换言之,在剥夺团体
<br>成员的某项法定权利时,必须有充分 的理由。
<br>李银河, 李银河说性, pg. 25, loc. 380-381
<br>
<br>
<br>
<br>
<br>如果有一个社会或时期,人们会以某种知识为耻(无论是关于什么事物的知识),
<br>那么对这个社会或时期人们的理性就 不能抱有太大的希望。对这样一个社会最精
<br>辟的概括只能是乔治奥威尔在他那本闻名遐迩的预言体小说《1984》中所说的:"战
<br>争即和平;自由即 奴役;无知即力量。"
<br>李银河, 李银河说性, pg. 35, loc. 526-528
<br>
<br>
<br>
<br>
<br>中国的禁欲主义并无任何宗教色彩,而是一种世俗的出于意识形态纯洁化意图的禁
<br>欲主义。
<br>李银河, 李银河说性, pg. 38, loc. 579-580
<br>
<br>
<br>
<br>
<br>现代技术结束了对大批人工劳力的需求,原子能和技术的进步结束了对以数量取胜
<br>的军队的需求,人口除了消费之外不 再有任何积极意义。
<br>李银河, 李银河说性, pg. 42, loc. 638-639
<br>
<br>
<br>
<br>
<br>新右派的口号是"保卫家庭"。在美国,它与宗教结盟,将不同的利益群体联合到了
<br>同一个易于理解的政治目标下。这 是一个与"放纵"同样有力却全然对立的政治符
<br>号,它在政治党派动员力量逐渐减弱的西方政治中提供了一个有力的图腾。
<br>李银河, 李银河说性, pg. 43, loc. 650-652
<br>
<br>
<br>
<br>
<br>以及一种更普遍的恐惧:破坏了维系男性和女性关系的传统纽带。
<br>李银河, 李银河说性, pg. 43, loc. 660-660
<br>
<br>
<br>
<br>
<br>罗素提出:性应当被视同为食,是人的自然需求,对它的约束应当只因为保护健康
<br>的原因,其他不必。
<br>李银河, 李银河说性, pg. 45, loc. 680-681
<br>
<br>
<br>
<br>
<br>正是因为我们一向按照传统的规范来看问题,想不到越过这些规范,原来对事情还
<br>町以有另一种看法。
<br>李银河, 李银河说性, pg. 48, loc. 729-730
<br>
<br>
<br>
<br>
<br>我们甚至都不会觉得在这个问题上是权力让我们这样想的,而误以为这完全是自己
<br>经过独立思考得出的看法。
<br>李银河, 李银河说性, pg. 48, loc. 736-737
<br>
<br>
<br>
<br>
<br>我们甚至都不会觉得在这个问题上是权力让我们这样想的,而误以为这完全是自己
<br>经过独立思考得出的看法。福柯的深 刻之处就在于此,是他告诉我们:不是别人
<br>剥夺了我们的自由,是我们自愿被剥夺了自由思想的权利,权力就是这样来建构我
<br>们的主体的。如果我们要 想证明自己还是有独立思考能力的,就让我们在习俗的
<br>思路之外自由地思考一下:
<br>李银河, 李银河说性, pg. 48, loc. 736-739
<br>
<br>
<br>
<br>
<br>一位公民有权选择自己的道德标准。如果他选择了一种不道德的生活方式,社会道
<br>德可以批评他,教育他,却没有权利 用《刑法》去处罚他。
<br>李银河, 李银河说性, pg. 56, loc. 856-857
<br>
<br>
<br>
<br>
<br>一位公民有权选择自己的道德标准。如果他选择了一种不道德的生活方式,社会道
<br>德可以批评他,教育他,却没有权利 用《刑法》去处罚他。用法律的形式来处罚公
<br>民的不道德行为,这是一种立法上的道德清高主义。
<br>李银河, 李银河说性, pg. 56, loc. 856-857
<br>
<br>
<br>
<br>
<br>Notes: 1) ?
<br>
<br>
<br>
<br>
<br>不应当逮捕性工作者,把她们关进监狱,因为她们是性工作者,她们的行为方式没
<br>有侵犯任何人,她们的行为没有受害 者;
<br>李银河, 李银河说性, pg. 60, loc. 915-917
<br>
<br>
<br>
<br>
<br>仅仅因为爱情而締结的婚姻才是道德的婚姻,只有继续保持爱情的婚姻才是道德的
<br>婚姻。
<br>李银河, 李银河说性, pg. 63, loc. 964-964
<br>
<br>
<br>
<br>
<br>当儿童说他是或不是遭到暴力侵害时,
<br>李银河, 李银河说性, pg. 67, loc. 1023-1023
<br>
<br>
<br>
<br>
<br>Notes: 1) what about being cheated?
<br>
<br>
<br>
<br>
<br>压制并不仅仅来自国家,而且来自我们自己。
<br>李银河, 李银河说性, pg. 80, loc. 1218-1219
<br>
<br>
<br>
<br>
<br>福柯之所以如此,有他的理由,其中最主要的在我看来是他对身份政治所持的否定
<br>态度。他从没有隐瞒过自己的性倾 向,但是对于身份政治却存有极大的疑虑。
<br>李银河, 李银河说性, pg. 91, loc. 1390-1392
<br>
<br>
<br>
<br>
<br>福柯顺理成章地反对同性恋身份政治中所倡导的"现身"(被形象地称做"走出壁
<br>橱")的行动,因为这个行动的前提 恰恰是:每个人都有一个固定的性身份,而且
<br>这种身份是应当公开的。他在1982年一次与同性恋行动主义分子的会谈中指出:我
<br>们和我们自己的关 系,不是认同的关系,而应该是变异的关系、创造的关系、革
<br>新的关系。保持同一,实在令人腻烦。"
<br>李银河, 李银河说性, pg. 93, loc. 1411-1414
<br>
<br>
<br>
<br>
<br>Notes: 1) processing & private
<br>
<br>
<br>
<br>
<br>这是一种忽视占有和忠诚观念的关系。
<br>李银河, 李银河说性, pg. 94, loc. 1440-1441
<br>
<br>
<br>
<br>
<br>萨德的哲学就是沿着这一思路发展的。他的创新之处在于将上述唯物主义原则的伦
<br>理含义推向其逻辑结论。
<br>李银河, 李银河说性, pg. 106, loc. 1619-1620
<br>
<br>
<br>
<br>
<br>权力将受害者变为非人,
<br>李银河, 李银河说性, pg. 107, loc. 1629-1629
<br>
<br>
<br>
<br>
<br>例如萨特的存在主义是用政治的形式取代上帝,以便使人类能够有秩序地生活在一起。
<br>李银河, 李银河说性, pg. 107, loc. 1639-1640
<br>
<br>
<br>
<br>
<br>科学真理被当时的人们视为一种潜伏在事物内部的本质,只等聪明的人们把它发现
<br>出来,公之于众。这种对自然科学的 看法也浸染着社会科学的研究,
<br>李银河, 李银河说性, pg. 117, loc. 1783-1785
<br>
<br>
<br>
<br>
<br>性学的抱负不仅是要发现、描述和分析性现象背后所隐藏的自然规律,而且由于人
<br>类的性行为是一种社会行为,性学还 想发现性现象背后的社会规律。
<br>李银河, 李银河说性, pg. 117, loc. 1785-1786
<br>
<br>
<br>
<br>
<br>每一个人和所有的人的生活方式都可以是好的。
<br>李银河, 李银河说性, pg. 120, loc. 1832-1833
<br>
<br>
<br>
<br>
<br>他们认为,就连生理性别也是社会建构的。
<br>李银河, 李银河说性, pg. 127, loc. 1943-1943
<br>
<br>
<br>
<br>
<br>在同与异的问题上,强调差异曾是法西斯主义把人分为等级的基础,差异实际上就
<br>是"不如"。
<br>李银河, 李银河说性, pg. 127, loc. 1943-1944
<br>
<br>
<br>
<br>
<br>第三,将女性客体化。在男性事务和交易中将女性用做客体。限制和阻碍女性的创
<br>造力;不让女性接触社会知识和文化 成就的很多领域;否定女性的性;将男性的
<br>性强加于女性;命令和剥削女性的劳动力,控制其产品;肉体上限制女性,阻止女
<br>性的活动;文化意识形态 和信息贬低女性,贬低女性的角色、工作、产品和社会
<br>环境;符号设计暗含对女性的贬低;社会结构安排从社会最高权力机制排斥女性。
<br>李银河, 李银河说性, pg. 129, loc. 1965-1968
<br>
<br>
<br>
<br>
<br>当他们想促使女性屈从于男性时,却是用"保护家庭"的口号出现。
<br>李银河, 李银河说性, pg. 129, loc. 1974-1975
<br>
<br>
<br>
<br>
<br>中国自1978年以来,把家庭重新变成经济、社会和道德的重心,重新强调一夫一妻
<br>制关系,为女性的家内角色增加 荣誉感。
<br>李银河, 李银河说性, pg. 130, loc. 1988-1990
<br>
<br>
<br>
<br>
<br>她们被告知:家庭才是她们基本的社会责任所在。
<br>李银河, 李银河说性, pg. 130, loc. 1990-1991
<br>
<br>
<br>
<br>
<br>在整饬自己的身体时,女性的地位变得低下、客体化。在许多男权制文化中,女性
<br>只有在外貌、姿态、动作、声音、身 材、精神和价值方面达到所谓女性标准,才
<br>能受到喜爱、雇佣、提拔,才能被选中,任何拒绝和反抗就都要付出昂贵的代价。
<br>在这里,女性受到男性统 治的惩罚和规训,这惩罚就包括:失去建立异性亲密关
<br>系的机会,不能过上体面的生活。
<br>李银河, 李银河说性, pg. 137, loc. 2094-2098
<br>
<br>
<br>
<br>
<br>对于从弱势群体如女性的角度对影视作品提出批评,人们还不大习惯。这就是左芳
<br>的文章引起较大反响的原因之一。在 我看来,这样的批评太少了,应当再多一些
<br>才好。
<br>李银河, 李银河说性, pg. 145, loc. 2211-2212
<br>
<br>
<br>
<br>
<br>也许有人会说:对于真实的描述一定要有个正确的态度,对于男人压迫女人的关
<br>系,如果你是反对的就可以写;如果你 是赞成的就不可以写。
<br>李银河, 李银河说性, pg. 146, loc. 2228-2229
<br>
<br>
<br>
<br>
<br>这种要求的荒谬是显而易见的一一它将取消所有的文艺创作。
<br>李银河, 李银河说性, pg. 146, loc. 2232-2232
<br>
<br>
<br>
<br>
<br>综上所述,我认为,左芳的批评在文学批评上毫无意义(它不属于文学批评的范
<br>畴),它是一个女性主义的政治批标。
<br>李银河, 李银河说性, pg. 146, loc. 2236-2237
<br>
<br>
<br>
<br>
<br>这一选择之所以具有政治性,是因为她们认为,男女两性之间的关系在本质上具有
<br>政治性,含有权力和统治的成分。由 于女同性恋拒绝了两性关系而选择了女性,
<br>她就蔑视了现存的政治体制。在当时的政治潮流中,许多政治性的女同性恋并不一
<br>定是性倾向上的女同性 恋。
<br>李银河, 李银河说性, pg. 153, loc. 2339-2341
<br>
<br>
<br>
<br>
<br>Notes: 1) smoke in poland.
<br>
<br>
<br>
<br>
<br>对于进步男性运动的支持程度有阶层的差异,越是处于社会上层的人越倾向于接受
<br>进步男性运动,而越是处于社会底层 的人观念越传统。
<br>李银河, 李银河说性, pg. 158, loc. 2415-2416
<br>
<br>
<br>
<br>
<br>一个有趣的例证就是:我国的离婚法曾以感情破裂为离婚的充分理由,它因此被世
<br>界其他文化中的人视为最前卫的标 准。
<br>李银河, 李银河说性, pg. 161, loc. 2463-2464
<br>
<br>
<br>
<br>
<br>爱情是人心的一种感觉,如果它到了需要道德来约束的程度,它还存在吗?
<br>李银河, 李银河说性, pg. 162, loc. 2467-2468
<br>
<br>
<br>
<br>
<br>其实,在我看来,在情与性的关系上,男女两性在行为和观念上的差异,根本不可
<br>以用生理的原因来解释,而只能用社 会对男女两性的塑造和建构来解释。说得更
<br>明白些,男女两性的这种差异,是丁百年来男权文化的产物,是男女两性双重道德
<br>标准的产物。
<br>李银河, 李银河说性, pg. 164, loc. 2499-2501
<br>
<br>
<br>
<br>
<br>据社会史家研究,在前现代的欧洲,大部分婚姻都是契约式的,是以经济条件而不
<br>是以彼此间的性魅力为基础的。
<br>李银河, 李银河说性, pg. 168, loc. 2558-2559
<br>
<br>
<br>
<br>
<br>但是实际上,在婚姻中,激情最终变成柔情、亲情。
<br>李银河, 李银河说性, pg. 169, loc. 2573-2574
<br>
<br>
<br>
<br>
<br>罗辑思维, 罗振宇
<br>
<br>
<br>
<br>
<br>美国为了扶植日本,给了日本大量的军工订单。扶植日本难道是为了让日本再崛起
<br>吗?不是的,而是要把日本纳入由美 国主导的国际经济体系当中,要让日本人围
<br>着美国的贸易指挥棒打转转,这就是政治影响力。
<br>罗振宇, 罗辑思维, pg. 40, loc. 613-615
<br>
<br>
<br>
<br>
<br>而且他的生活技能在这个城市能销售掉,他被嵌入到这个城市的大系统当中,他已
<br>经无法抽离等等
<br>罗振宇, 罗辑思维, pg. 43, loc. 653-653
<br>
<br>
<br>
<br>
<br>很多媒体人之间的交流,不是开个专业会议就算成功交流。有时候只是打个招呼、
<br>发个短信,或者闲聊几句,这些非正 式交流都意味着个人是否嵌入到中国的传媒
<br>系统当中,能否感受到大家的气味,并跟上大家共同成长的步伐。从北京回到保
<br>定,可能生活质量一下提升 好几档
<br>罗振宇, 罗辑思维, pg. 44, loc. 667-670
<br>
<br>
<br>
<br>
<br>回到著名哲学家维特根斯坦[2]的一句名言,他说:"凡是能够言说的世界,就是我
<br>们能够掌握的世界。如果不能言 说出来,也就是不能把它符号化、简化的世界,
<br>我们只好保持沉默。"
<br>罗振宇, 罗辑思维, pg. 64, loc. 981-983
<br>
<br>
<br>
<br>
<br>我们的成长过程就是不断构建自我和外界,也就是"我们"和"他们"之间边界的过程。
<br>罗振宇, 罗辑思维, pg. 66, loc. 1002-1003
<br>
<br>
<br>
<br>
<br>所以历史上真正想明白的人,不会把组织内的身份看得那么重。
<br>罗振宇, 罗辑思维, pg. 81, loc. 1242-1242
<br>
<br>
<br>
<br>
<br>税收制度成本也是全社会每一个公民非常沉重的负担。李稻葵先生讲:"不要说什
<br>么所得税制就一定是大势所趋,时代 不同了。其实美国人也在酝酿改革这种税
<br>制,而我们中国人为什么非要去学习这种税制呢?"
<br>罗振宇, 罗辑思维, pg. 95, loc. 1452-1453
<br>
<br>
<br>
<br>
<br>流民图
<br>罗振宇, 罗辑思维, pg. 134, loc. 2048-2048
<br>
<br>
<br>
<br>
<br>到最后,获取权力中心者的意见偏向只有靠这种纯文艺的方法,而不是诉诸于真相
<br>的方法,
<br>罗振宇, 罗辑思维, pg. 134, loc. 2049-2050
<br>
<br>
<br>
<br>
<br>但是后来的历史学家分析说,正是因为德国人觉得必有一战,那么就按照必有一战
<br>的方式去做这样的战争准备,而你的 所有准备让对手看到又害怕,然后对手也做
<br>相应的战争准备,那么就真的必有一战。这有一个名词,叫"自我实现的预言"。
<br>罗振宇, 罗辑思维, pg. 183, loc. 2805-2807
<br>
<br>
<br>
<br>
<br>所以,达尔文真正赶下神坛的压根儿不是什么上帝,他其实是把人类生存的一切信
<br>心和信念都全部毁掉了,我们以为我 们这一代人都在奔向美好,我们不断地改善
<br>自己的命运,试图掌控自己的命运,而达尔文就在旁边冷笑,用他那英国式散文优
<br>雅的笔调冷笑说道:"你 们什么都不懂,大自然的剪刀在决定你们,你们自己什么
<br>都决定不了。"这是达尔文进化论真正的精髓。
<br>罗振宇, 罗辑思维, pg. 196, loc. 3000-3003
<br>
<br>
<br>
<br>
<br>"我非常爱你,但是你这套理论把上帝算是彻底给得罪了,我嫁给你之后,我们相
<br>爱一生之后在天堂还能重逢吗?"
<br>罗振宇, 罗辑思维, pg. 197, loc. 3017-3018
<br>
<br>
<br>
<br>
<br>举个简单的例子,如果你们家小区门口只有一个摄像头,那它只能够扫描到你进去
<br>的那一刹那。可是如果这个摄像头一 直在,覆盖掉所有的时间节点之后,那产生
<br>的是什么效应呢?就是你的轨迹就被监控了。
<br>罗振宇, 罗辑思维, pg. 218, loc. 3339-3340
<br>
<br>
<br>
<br>
<br>举个简单的例子,如果你们家小区门口只有一个摄像头,那它只能够扫描到你进去
<br>的那一刹那。可是如果这个摄像头一 直在,覆盖掉所有的时间节点之后,那产生
<br>的是什么效应呢?
<br>罗振宇, 罗辑思维, pg. 218, loc. 3339-3340
<br>
<br>
<br>
<br>
<br>Notes: 1) 1+1>2
<br>new math mode.
<br>
<br>
<br>
<br>
<br>其实我就抓住两点:第一点,只要你对这个女孩好,它就会像一颗种子一样,一定
<br>会在她心里种下点儿什么,虽然她此 时可能是拒绝,可能是给你冷脸看,但不要
<br>紧,只要种子种下了,将来就有发芽的机会。
<br>罗振宇, 罗辑思维, pg. 236, loc. 3618-3620
<br>
<br>
<br>
<br>
<br>只要种子种下了,将来就有发芽的机会。
<br>罗振宇, 罗辑思维, pg. 237, loc. 3619-3620
<br>
<br>
<br>
<br>
<br>Notes: 1) responsibility of education.
<br>
<br>
<br>
<br>
<br>群星,我的归宿 (阿尔弗雷德·贝斯特, Alfred Bester)
<br>
<br>
<br>
<br>
<br>柯达——未来柯达家族的首领。
<br>Alfred Bester), 群星,我的归宿 (阿尔弗雷德·贝斯特, pg. 42, loc. 631-631
<br>
<br>
<br>
<br>
<br>"通过意志和想法。"普瑞斯特恩重复,"派尔只能依靠精神致动学引爆。它的能量
<br>只能依靠思想来解放。它必须被想 着要爆炸,而且这思想直接作用于它。那是惟
<br>一的方法。"
<br>Alfred Bester), 群星,我的归宿 (阿尔弗雷德·贝斯特, pg. 227, loc. 3474-3475
<br>
<br>
<br>
<br>
<br>Notes: 1) the same to stone effect.
<br>
<br>
<br>
<br>
<br>西方哲学史[英文版]罗素.文字版, gift.young@gmail
<br>
<br>
<br>
<br>
<br>"modern"
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7931-7931
<br>
<br>
<br>
<br>
<br>diminishing authority of the Church, and the increasing authority of
<br>science.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7932-7932
<br>
<br>
<br>
<br>
<br>State has less influence on the opinions of philosophers than the Church
<br>had in the Middle Ages.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7936-7936
<br>
<br>
<br>
<br>
<br>the Copernican theory in 1543; but this theory did not become
<br>influential until it was taken up and improved by Kepler and Galileo in
<br>the seventeenth century.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7947-7949
<br>
<br>
<br>
<br>
<br>intellectual, not governmental.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7950-7951
<br>
<br>
<br>
<br>
<br>as liable to modification.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7956-7956
<br>
<br>
<br>
<br>
<br>The triumph of science has been mainly due to its practical utility, and
<br>there has been an attempt to divorce this aspect from that of theory,
<br>thus making science more and more a technique, and less and less a
<br>doctrine as to the nature of the world.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7962-7964
<br>
<br>
<br>
<br>
<br>it had not the same anarchic character.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7972-7972
<br>
<br>
<br>
<br>
<br>Notes: 1) political makes philosophy
<br>
<br>
<br>
<br>
<br>Modern philosophy, however, has retained, for the most part, an
<br>individualistic and subjective character.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7972-7973
<br>
<br>
<br>
<br>
<br>individualistic and subjective character.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7973-7973
<br>
<br>
<br>
<br>
<br>Scientific technique requires the co-operation of a large number of
<br>individuals organized under a single direction. Its tendency, therefore,
<br>is against anarchism and even individualism, since it demands a
<br>well-knit social structure.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7983-7985
<br>
<br>
<br>
<br>
<br>The modern world, at present, seems to be moving towards a solution like
<br>that of antiquity: a social order imposed by force, representing the
<br>will of the powerful rather than the hopes of common men.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 7993-7995
<br>
<br>
<br>
<br>
<br>To understand the Renaissance, it is necessary first to review briefly
<br>the political condition of Italy.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8004-8005
<br>
<br>
<br>
<br>
<br>Notes: 1) social outter environment .
<br>
<br>
<br>
<br>
<br>The game of power politics
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8073-8073
<br>
<br>
<br>
<br>
<br>It must be said that Italy would inevitably have lost its importance,
<br>owing to the discovery of America and the Cape route to the East; but
<br>the collapse could have been less catastrophic, and less destructive of
<br>the quality of Italian civilization.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8080-8082
<br>
<br>
<br>
<br>
<br>The Renaissance
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8082-8082
<br>
<br>
<br>
<br>
<br>essential preliminaries
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8082-8082
<br>
<br>
<br>
<br>
<br>it encouraged the habit of regarding intellectual activity as a
<br>delightful social adventure, not a cloistered meditation aiming at the
<br>preservation of a predetermined orthodoxy.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8086-8087
<br>
<br>
<br>
<br>
<br>were too busy acquiring knowledge of antiquity to be able to produce
<br>anything original in philosophy.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8092-8092
<br>
<br>
<br>
<br>
<br>Consequently Italian unorthodoxy, in the Renaissance, was purely
<br>intellectual, and did not lead to schism, or to any attempt to create a
<br>popular movement away from the Church.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8112-8113
<br>
<br>
<br>
<br>
<br>The first effect of emancipation from the Church was not to make men
<br>think rationally, but to open their minds to every sort of antique nonsense.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8116-8117
<br>
<br>
<br>
<br>
<br>Notes: 1) variety of Russel .
<br>
<br>
<br>
<br>
<br>A stable social system is necessary, but every stable system hitherto
<br>devised has hampered the development of exceptional artistic or
<br>intellectual merit.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8131-8132
<br>
<br>
<br>
<br>
<br>How much murder and anarchy are we prepared to endure for the sake of
<br>great achievements such as those of the Renaissance?
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8132-8132
<br>
<br>
<br>
<br>
<br>Notes: 1) individual vs. colectivity
<br>
<br>
<br>
<br>
<br>Savonarola dominated Florence; his miserable end evidently made a great
<br>impression on Machiavelli, for he remarks that "all armed prophets have
<br>conquered and unarmed ones failed,"
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8144-8145
<br>
<br>
<br>
<br>
<br>Notes: 1) personal experience . the importance of individual .
<br>
<br>
<br>
<br>
<br>which was that of the sack of Rome by the troops of Charles V. This year
<br>may be reckoned also that in which the Italian Renaissance died.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8154-8155
<br>
<br>
<br>
<br>
<br>Admiration of skill, and of the actions that lead to fame, was very
<br>great at the time of the Renaissance.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8188-8189
<br>
<br>
<br>
<br>
<br>The Neoplatonists, the Arabs, and the Schoolmen took a passionate
<br>interest in the metaphysics of Plato and Aristotle, but none at all in
<br>their political writings, because the political systems of the age of
<br>City States had completely disappeared.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8217-8219
<br>
<br>
<br>
<br>
<br>In what follows, I am expressing not my own opinions, but opinions which
<br>are explicitly or implicitly his.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8228-8229
<br>
<br>
<br>
<br>
<br>Notes: 1) haha . he never emphasized this.
<br>
<br>
<br>
<br>
<br>stability,
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8231-8231
<br>
<br>
<br>
<br>
<br>We must concede to Machiavelli that this was an important element in the
<br>growing power of the Church during the eleventh, twelfth, and thirteenth
<br>centuries, as well as in the success of the Reformation in the sixteenth
<br>century.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8242-8244
<br>
<br>
<br>
<br>
<br>This northern Renaissance was in many ways very different from that of
<br>Italy. It was not anarchic or amoral; on the contrary, it was associated
<br>with piety and public virtue.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8268-8270
<br>
<br>
<br>
<br>
<br>Notes: 1) why
<br>
<br>
<br>
<br>
<br>according to which true religion comes from the heart, not the head, and
<br>all elaborate theology is superfluous. This point of view has become
<br>increasingly common, and is now pretty generally accepted among Protestants.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8330-8331
<br>
<br>
<br>
<br>
<br>exaggerating Augustine, rejected. Luther replied savagely,
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8357-8357
<br>
<br>
<br>
<br>
<br>In 1534, the king got Parliament to pass the Act of Supremacy, declaring
<br>him, not the Pope, the head of the Church of England.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8375-8375
<br>
<br>
<br>
<br>
<br>In 1534, the king got Parliament to pass the Act of Supremacy, declaring
<br>him, not the Pope, the head of the Church of England. Under this act an
<br>Oath of Supremacy was exacted, which More refused to take; this was only
<br>misprision of treason, which did not involve the death penalty. It was
<br>proved, however, by very dubious testimony, that he had said Parliament
<br>could not make Henry head of the Church; on this evidence he was
<br>convicted of high treason, and beheaded. His property was given to
<br>Princess Elizabeth, who kept it to the day of her death. More is
<br>remembered almost solely on account of his Utopia ( 1518). Utopia is an
<br>island in the southern hemisphere, where everything is done in the best
<br>possible way. It has been visited accidentally by a sailor named Raphael
<br>Hythloday, who spent five years there, and only returned to Europe to
<br>make its wise institutions known. In
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8375-8381
<br>
<br>
<br>
<br>
<br>More is remembered almost solely on account of his Utopia ( 1518).
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8378-8379
<br>
<br>
<br>
<br>
<br>More is remembered almost solely on account of his Utopia ( 1518).
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8378-8379
<br>
<br>
<br>
<br>
<br>Diversity is essential to happiness, and in Utopia there is hardly any.
<br>This is a defect of all planned social systems, actual as well as imaginary.
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8433-8434
<br>
<br>
<br>
<br>
<br>Notes: 1) diversity or passion or emotion?
<br>
<br>
<br>
<br>
<br>Roughly speaking, the Reformation was German, the Counter-Reformation
<br>Spanish; the wars of religion were at the same time wars between Spain
<br>and its enemies,
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8439-8440
<br>
<br>
<br>
<br>
<br>Luther, Calvin, and Loyola. All three, intellectually, are medieval in
<br>philosophy,
<br>gift.young@gmail, 西方哲学史[英文版]罗素.文字版, loc. 8446-8447Anonymoushttp://www.blogger.com/profile/11571072696414581207noreply@blogger.com0