0%

最近在整理自己的书,发现了一本放在不起眼的位置,我找了很久都没找到的书,就是这本《人月神话》。这本封页写的是20周年经典纪念版,买这书的时候,我还在五山上大一。从今天回看这本书对我的影响,这是一本带我入行的好书。虽然不如《软件工程》这课程一样科班化,但是却如圣经一般指引着我走在信息行业的大路上。

阅读全文 »

本书是北大的吴国盛教授的新作,一本能称得上是教科书的科普读物。我对这位素昧平生的教授肃然起敬,源于我在看他为《牛津通识读本:科学革命》的作的中文序。到今日才知道,译者张卜生是他的博士生,我对张的翻译非常的认可,可谓科技作品雅信达的一个典范。

无独有偶,我当年买《科学革命》那本书纯属是一个凑单的行为,这个偶然性的事件如我当年入手格里克的《混沌:一门新科学》一般,改变了我的思维模式,让我看到了在西方文艺复兴同期的另一条主线,科学革命。

文艺复兴和科技革命是当下西方文化蓬勃与繁荣的基因,一个相互交织的双螺旋结构,从思想上和技术上对西方文化进行了重构,再经过几百年的发酵,终于看到西方的那棵苹果树长大,并结出了甜美的果子。

阅读全文 »

这是我们读书会本期选定的书目,主持人还为我们找到了电子版,良苦用心,考虑周到。作者邱振海,凤凰卫视大名鼎鼎的主持人,不过自从取消了有线电视后,收看凤凰卫视的难度就增加了,一般的电视软件,都不会有港台的节目,即便列表中有但是实际上也无法连接。

很难想象,港台节目陪伴着我成长,在我成年的时候,却难以再找到港台节目的踪迹。实话说,翡翠台已经基本不去看了,亚视根本就倒闭了,唯有凤凰卫视能长期的占据家里电视机的屏幕,现在连凤凰都没有了,电视机就成了专业播动画片给小朋友看的工具了。

阅读全文 »

出于对Star Trek的热爱,也出于对为小朋友们设计一个科学教育课程的想法,我入手了这本书。这是市面上众多的《〈X〉中物理学》丛书的其中一本,看完后才知道原来这是第一本,获得巨大的成功后其他类似的书都是模仿它的,其中中山大学天文学院的李淼教授也写了一本《〈三体〉中物理学》,不过我对三体的评价极其的低,于是便没有入手这本书的兴趣。

这本不起眼的小书,它的序竟然是霍金撰写的,这就是分量吧。作者也是一名宇宙学与天体物理学的科学家,出版过不少有份量的科普书籍,而从本书的写作风格就能看出,这是一个幽默却又不失严谨的科学家,深奥的物理学知识却用了非常浅显的例子来解释,不拘泥于所谓的定义于条框。

阅读全文 »

和大部分小说一样,主角的归宿是不会交待的,这书也一样。起初,看完这书后,总觉得这书似乎不错,但却又难说出个所以然,我读书太少,难以评价。于是上网找些书评读后感,始终难以让本人认同。

人生立世,总得有两把刷子,自己的一亩三分地,总归是得有自信的。我有我的一亩三分地,书中的主人公各有各的一亩三分地,只不过有的让人敬仰,有的不为人尊重。

阅读全文 »

前两日,得知父亲住院的消息,恨不得立即回家探望。完成手上的工作,周六的十点,我回到了那个亲切的小城。许久没回去,但这个小城与儿时的模样变化并不算太大,我依然不敢在火车站打出租车,只好走出站场,到路对面打车回家。

阅读全文 »

之前扎尔伯格展示了一幅图片,他和刚出生不久的小娃,一起看量子力学的绘图本,那套书死鬼,我还真从美国买回来了。为了给小孩上好STEM的课程,于是我买了李淼教授的这本书来看看,科普一下量子力学的知识,也学习一下怎么把这些抽象的东西教给小孩。

阅读全文 »

这是本很难啃的书,毕竟书的大部分内容都是以色列法庭公开对艾希曼的庭审描述,关键是在书的后记,在这短短的几十页书里,作者汉娜·阿伦特几乎完全的表达了自己对艾希曼的看法,这是一个极为平庸的公务员,但是却犯下了反人类的罪行。

艾希曼应该判处死刑,但是作为一个主权国家以色列,怎么能审判一个他国的公务员在他国的所作所为呢,这是国与国主权豁免的事情,即便审判外国人在外国法律下合法的工作导致的反人类恶果,靠的又是什么法律的规章?

阅读全文 »

这是科幻大师克拉克关于太空漫游四部曲的最后一本,怀揣致敬的心,看完了整本书。这虽然是克拉克的最后一部长篇小说,比起第一部《2001太空漫游》而言,我个人觉得这个故事的规划与宇宙观的格局,都要逊色不少,难免有点失望,多少有点狗尾续貂的感觉,这词批的太狠,不符合我对大师一贯以来的崇敬,然而也找不到一个更合适的词,唯有凑合用了。

阅读全文 »

这也是比尔盖茨推荐的书,在他的读书笔记上写道,他不是煽情的人,尤其是用死亡用死亡来煽情的书他是抗拒的,而当他妻子米兰达把这本书推荐给他的时候,他不但被吸引住了,而且还流下了眼泪。

记得孔子在被学生问道关于如何看待死的时候,他说,“不知生,焉知死”,活在当下,你想死来干嘛?这或许是我们很多人对待死亡的态度,回避得再久,总归要面对生离死别的事情,或许是别人的,或许是自己的。

阅读全文 »

两周前,我们从各地赶回来,在这个毕业季完成了心中的十年之约。

是的,10年前,软2的兄弟姐妹们在此分离,走向了人生的下一站。毕业的第一个十年,回来了二十多人,作为班长,我激动得难以言语。毕业的第一个十年,大家正值壮年,大部分人有了自己的小孩,工作也正是重要的上升期,难以到场的兄弟姐妹们各有各的苦衷。

今天,恰逢高考放榜,思绪似乎又跑回十四年前,这个考试其实改变了很多人的命运,包括我。当年,我并有没有足够的信心认为自己能考上这大学,而当我得知高分录取的时候,自己是不敢相信的。

毕业十年,似乎很多人并没有太多的变化,身材相貌不仔细看,与当下毕业生也差不多。回到刻有校名的石头前合照,恰逢应届的经贸学院的师妹也在合照,便与其一起留下应届毕业与毕业十年的主题照。我想,这是十年前我们敢想并不太敢做的事情,而如今算是弥补了十年前的小缺憾吧。

我们都是文理分科的产物,自然地从工科学校毕业,也便带上了工科人沉闷的习性。这种沉闷是相对的,因为我去东北看过更沉闷的。少了些人文关怀,知识结构相对单一,思考问题有相当的局限,四平八稳的模式并没有错,但只是埋没了很多人的潜能和天赋,专于技术与业务不应是语言沟通不善的借口。

即便是我们几个负责张罗聚会的同学,自己也有不同程度的焦虑,所以活动组织起来也比较的单调。短期的相聚,大家欢声笑语,似乎回到过去,而心中的焦虑也就放作一旁。日复一日生活与工作的压力,正如同华莱士说的一样,正一点点禁锢了我们的思维模式,大部分人都需要一个局外人指点自己走出迷雾。

我们都是软件业的科班生,然而还在钻研技术的同学,已经不多。有时候想想,科班的软件工程的人不去做软件了,而很多不是科班出身的人去投身到了一线的开发大潮中去,或许也是当前信息产业良莠不齐的一个原因了。如果说工作和计算机相关的话,我想这会有超过一半的同学,在从事IT业的工作,包括了甲方单位,创投方,产品经理等等。

暗暗的发现,十年过去了,大家并没有忘记初心,我们依然是那一批希望在计算机领域做出点成绩的人。虽然我们形单影只,散落在不同的行业,境遇不尽相同,当初说好要绕过去坑,一个都没绕过去,可是我们有共同的心愿,只期盼接下来的十年,大家相互间有机会合作,打造一个属于我们软件2的共有的事业。

因为情怀,我们回到了当初出发的原点;因为情怀,我们穿上了那件如太极模样的班服;因为情怀,我们会让下一个十年更精彩。

这是一本故意做的这么厚的书,其实这本就是一次演讲,据闻是8分钟的演讲,内容不算多,内容也打动了我,为了情怀,我觉得还是值得的。大卫·福斯特·华莱士,一名极有数学天赋的作家,比尔盖茨在最近的读书笔记中推荐了他的小说(不是这本),无独有偶,之前看那本《数学教你不犯错》对华莱士有着极高的评价,这两个原因虽然很重要,但是真正让我下单买回来的原因是京东打折,我选了这本书来凑单。

这个华莱士,不是那个谈笑风生的华莱士,而是一个有着极高数学造诣的作家,他那本多次被提到的作品《无穷的跳跃》无货,所以我随便的选了这本小书。

阅读全文 »

很久之前便听说了哈佛的《公正》的公开课很不错,值得一看,大家都说好。我尝试看了一段,发现教授讲的很快,字幕飘过的速度也很快,一句话还没想明白,下一句话又接上来了。看了半个钟头,脑子也是一头雾水。于是便放弃了观看这个公开课的念头。

看书其实也很费劲,每个章节平均都都得花两个多小时去阅读与理解。毕竟这是一本关于价值观的哲学教材,难度还不小。巧的是,这本书是在井冈山看完的。当我合上书本的时候,回味其中内容,发现自己关于公平的认识确实加深了理解。之所以说这是一本关于价值观的书,是因为书中从三个角度来分析了,“什么是公正”,脑中许多矛盾又统一的观点都可以归到这三个类别中。

阅读全文 »

男儿有泪不轻弹,只是未到伤心处。

在电影院里,一开始我笑个不停,直到Getta(大女儿)和爸爸摔跤比试后奋然离去,送别的人群里没有爸爸的身影。随着她坐在车上远去,在画面上看到爸爸在二楼目送着女儿离开的时候,我的眼泪开始止不住的往下流。

直到影片结束,我不晓得自己到底留下了多少的眼泪。虽然没有抽泣,但是不断的用手抹去眼睛里的泪,以至于眼睛都揉红了。

似乎我长这么大,从来没有试过因为一部电影而感动成这样,有人说我感情冷淡,也有人说我思维异于常人。然而,今日让我止不住的掉眼泪的,是因为我想起了作为一个儿子的叛逆,让父母承受了许多的酸楚;更是因为自己为人父想到未来有一天,儿女也会这样叛逆的远去。很多时候扮演父亲的阿米尔汗并没有太多的对白,但是他失望纠结理解无奈的眼神,让我想起了自己,自惭形秽。

阅读全文 »

我终于把这本书看完了,现代文学与传统文学差别还是很大的,尤其是杜拉斯的这种以人物心理为主的写作风格与哈代那种写实的描述方法,很不一样。

这么有难度的作品,被王道乾先生调教得服服帖帖,要不提到的是法国,越南,你根本看不出这是一个法国作家写的文学作品。小波先生没说错,不看过这些大家们说过的中文,还真不知道有品位的中文是什么样的味道。

阅读全文 »

如果你不付钱,你就不是顾客,你只会被当作商品出售。

最开始,我只把这本书当成了凑单的书,因为京东的300减200的购书折扣会限定书目,意味着只有某些书能享受这个折扣。当然,作为京东去存量的一个重要手段,把畅销书和非畅销书打包一起卖,打折期间畅销书的价格也被调高了,所以虽然折扣没有说的这么大,有时候我还是很不理智的选书凑单,这个过程得耗费不少心力和时间。

这书看完后,确实让我认识到了我们的私隐数据正被偷偷的拿走,然后被打包卖出去,应了那句老话,被人卖了还帮人数钱呢!不过既然被偷掉的数据能卖钱,为此还有人发了大财,证明这确实是个商机,很多人学者做大数据挣的钱怕是还没有这些所谓的“数据中间商”挣得钱多,因为,不挣钱的事情商人怎么会冒着风险干呢?

阅读全文 »

对费曼的思念是一天又一天,终于禁不住诱惑,买下了《The Pleasure Of Finding Things Out》的简体中文版。等我满怀期待的打开的时候,我就傻眼了,与此前我看的两本费曼的书,重合度达到了70%,这是什么概念?就是这本书的大部分内容我是看过的,而且看完吴程远先生的译文,再看简体中文版的内容,简直是不能接受。

翻译太重要了

一个是翻译的人,一个翻译的文笔。上一次那本《魔鬼数学》,让我看得很是痛苦,果断下手买了台湾版的《数学教你不犯错》,当时下决策的时候也是因为国家收紧了进口书记的入境政策,使得国境以外出版的书籍越来越难买到。

阅读全文 »

不知道是不是因为多喝了一杯咖啡,肚子有种隐隐的不舒服。

初夏,天气已经开始变得闷热,室内的空调不间断的工作,让人能够感受到一丝凉意。即便如此,工作给人带来的压抑和疲惫,并不能通过凉风与冷饮解决。

中午,陪同朋友一起完成一个主题摄影创作。或许是天分的问题,即便我从小开始摆弄照相机,但是拍出来的效果总是不讨人喜欢,于是很多时候,我宁愿承认我不会照相。

想当年,我摆弄着那台手动对焦的美能达相机,拿着一桶桶的胶片经常出入于照相铺。
(工作压力)

turtle — Turtle graphics for Tk

引言

Turtle图形库是一个极好的向小朋友们普及编程知识的方法。这是伟大的计算机大师Wally Feurzig和Seymour Papert在1966年创造的LOGO编程语言的一部分。

画图的机器乌龟,一开始是停留在画布二维x-y平面上(0,0)点上。看看下面的代码:

1
2
3
import turtle
turtle.forward(15)
turtle.right(25)

第一句代码是引用这个库。第二句代码是机器乌龟径直的往前移动15个像素,留下一条直线。第三句的代码是机器乌龟沿着顺时针扭转25度。

通过使用这些简单的命令,我们可以轻易的画出复杂的图形和漂亮的图片。

从Python2.5开始,turtle库就是python的一个标准库了,当前是这个库的重新实现版。

我们尝试把老的Turtle库全部重写了一次,确保几乎能100%兼容。这就意味着尝试学习使用这个库编程的同仁,在IDLE下通过运行-n参数,就可以使用这个库的所有命令(command),类库(class)以及方法(method)。

turtle模块提供了turtle图形绘制原语(primitive),不管是你使用面向对象(object-oriented)还是面向过程的编程方法(procedure-oriented)。因为turtle库是基于Tkinter库的图形模块编写的,所以要运行turtle库的前提是安装了Tk库。

面向对象的编程接口使用two+two的方式来命名:

  1. TurtleScreen类定义了一个图形的窗口(不管是windows,还是mac,或者是其他linux的桌面发行版),让用户驰骋其中。它的构造函数(constructor)需要传入Tkinter.CanvasScrolledCanvas的类作为参数。当程序调用了turtle的时候,会调用到这个窗口类。


    函数Screen()会返回一个单例(singleton)对象,这是TurtleScreen的子类。在turtle库被单独调用来画图的时候,就会用到了。作为一个单例对象,要继承它是做不到的。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    2. ```RawTurtle```(别名```RawPen```)定义了一个turtle对象,用来在```TurtleScreen```上画图。因此它的构造函数需要```Canvas```、```ScrolledCanvas```或```TurtleScreen```类的对象作为参数,以确保```RawTurtle```对象知道在哪画图。<br/><br/>
    ```Turtle```是```RawTurtle```的派生类,大部分的时候会被用来在屏幕上画图。它的实例会被自动创建,如果发现它还没创建的话。<br/><br/>
    ```RawTurtle```/```Turtle```的类函数(method)也提供了对应的函数(function),供面向过程的编程方法使用。

    ```Screen```和```Turtle```类的所有类函数(method)都有对应的函数(function)实现。意味着在没有构造```Screen```和```Turtle```对象的时候,可以直接调用它的函数,因为在这个时候,```Screen```和```Turtle```的匿名对象在后台被悄悄的实例化了。

    ``````
    如果一个屏幕上需要用到多个turtle对象的时候,那就必须采用面向对象的方式来调用接口了。

    ## Turtle与Screen可以使用的类函数

    ### 光标(Turtle)函数

    #### 光标(Turtle)的动作
    ##### 移动和画图
    ```Python
    向前并留下线条
    forward() | fd()

    退后并留下线条
    backward() | bk() | back()

    右转
    right() | rt()

    左转
    left() | lt()

    直接跳跃到某个位置
    goto() | setpos() | setposition()

    横轴跳到某个位置,竖轴不动
    setx()

    竖轴跳到某个位置,横轴不动
    sety()

    光标角度调整
    setheading() | seth()

    重回开始的点
    home()

    画一个圆
    circle()

    画一个点
    dot()

    拷贝一个图形
    stamp()

    根据id删掉一个复制的图形
    clearstamp()

    根据id删掉一堆复制的图形
    clearstamps()

    撤销一个绘图动作
    undo()

    设置画图的速度
    speed()
    获取光标(Turtle)的状态
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    获取光标的位置信息
    position() | pos()

    获得当前位置相对于某个点的角度
    towards()

    获得光标的横坐标
    xcor()

    获得光标的纵坐标
    ycor()

    获得当前光标的角度信息
    heading()
    distance()
Setting and measurement
1
2
degrees()
radians()

Pen control

Drawing state
1
2
3
4
5
pendown() | pd() | down()
penup() | pu() | up()
pensize() | width()
pen()
isdown()
Color control
1
2
3
color()
pencolor()
fillcolor()
Filling
1
2
3
fill()
begin_fill()
end_fill()

More drawing control

1
2
3
reset()
clear()
write()

Turtle state

Visibility

1
2
3
showturtle() | st()
hideturtle() | ht()
isvisible()

Appearance

1
2
3
4
5
6
shape()
resizemode()
shapesize() | turtlesize()
settiltangle()
tiltangle()
tilt()

Using events

1
2
3
4
onclick()
onrelease()
ondrag()
mainloop() | done()

Special Turtle methods

1
2
3
4
5
6
7
8
9
10
11
begin_poly()
end_poly()
get_poly()
clone()
getturtle() | getpen()
getscreen()
setundobuffer()
undobufferentries()
tracer()
window_width()
window_height()

TurtleScreen/Screen 画布可用的函数

Window control

1
2
3
4
5
6
bgcolor()
bgpic()
clear() | clearscreen()
reset() | resetscreen()
screensize()
setworldcoordinates()

Animation control

1
2
3
delay()
tracer()
update()

Using screen events

1
2
3
4
listen()
onkey()
onclick() | onscreenclick()
ontimer()

Settings and special methods

1
2
3
4
5
6
7
8
mode()
colormode()
getcanvas()
getshapes()
register_shape() | addshape()
turtles()
window_height()
window_width()

Methods specific to Screen

1
2
3
4
bye()
exitonclick()
setup()
title()

当年为了集齐“太空漫游”四部曲,费劲周折的从各个小图书商人手里高价购得,起码是定价的3倍价格,为了情怀。

本书是这个系列的第三部,看完之后,总觉得有点奇怪,摸不着头脑的感觉。

三位一体

第一部是宏大的开篇,交代了高等智慧对地球生命的影响及启智,讲述了人类前往木星,人工智能HAL与船员争夺飞船控制权,最后宇航员鲍曼驾驶小飞船进行第三类接触最后消失了。

阅读全文 »