台湾之行

自从上次去马尔代夫后,因为宝宝出生,所以很久没有进行大的旅行。现在宝宝正好准备两岁,计划了半年多,这次终于去台湾旅行。 台湾1895年中日甲午战争之后成为日本殖民地;1945年二战结束,民国政府接管台湾;内战之后蒋介石退居台湾;朝鲜战争之后美国派军舰驻台;上个世纪八十时代蒋经国进行政治改革,台湾成为亚洲发达经济体,并成为亚洲民主自由社会的标杆。 香港和台湾继承和保留传统的中国文化和习俗,前两次去香港,总觉得香港还是太闹太繁华了,打算去台湾看看,这是驱动我们去台的原因之一。 这两年两岸关系好像变冷,所以去台旅游的人应该少了很多,正好合适。 这次去台湾旅行,从南到北,垦丁和高雄、台中市、台北市(平溪线和九份),整体感觉很不错,希望台湾能保持这种感觉,有机会一定还会来。

June 1, 2018

关于父母和自己的思考

年轻的时候,我们总觉得,自己努力奋斗的意义,就是有一天能够彻底改变父母的生活:让他们住得更好、穿得更体面、少吃苦、少劳累,把自己认为最好的生活送给他们。 但随着年龄增长,很多人才会慢慢明白,真正难改变的,从来不是经济条件,而是一个人几十年形成的生活方式、价值观和幸福感。 父母并不一定向往我们想象中的生活。他们珍惜熟悉的环境,习惯多年的生活节奏,也有属于自己的快乐。对子女来说,那些旧衣服、老房子、农活、柴火灶或许意味着辛苦;但对他们来说,那却是最自然、最安心的日常。 因此,孝顺并不等于按照自己的标准去改造父母的人生。经济上的支持固然重要,但更重要的是尊重他们的选择,理解他们对幸福的定义。很多时候,我们能够改善的是生活条件,却无法替他们过日子,也无法替他们感受幸福。 成熟的标志之一,就是从"一定要改变父母"转变为"学会接受父母本来的样子"。这种接受不是放弃责任,而是明白人与人之间都有各自的人生轨迹。子女可以陪伴、帮助、照顾,却不能代替父母生活。 所以,当父母依然身体健康、能够自由活动、还能按照自己喜欢的方式度过每一天时,这本身就是一种值得珍惜的幸福。与其因为无法改变他们而愧疚,不如珍惜每一次相聚,多一些陪伴、少一些要求,多一些理解、少一些焦虑。 归根结底,真正的孝顺,不是把自己的幸福观强加给父母,而是在力所能及的范围内给予支持,同时尊重他们按照自己的方式度过人生。健康平安、彼此牵挂、相互理解,往往比任何物质上的改善都更重要。

May 4, 2018

翻了脸的爱国主义:木心与语言的最后归宿

“木心说自己是翻了脸的爱国主义者,他从中国出发,向世界流亡,千山万水、天涯海角,一直流亡到母国故乡,陪他战胜这些流亡日子的力量是母语。这是我见过的对母国和母语的最高见解,这也是木心表达自己的世界主义和个人主义。” —–陈丹青 陈丹青的这段话,像是一把钥匙,打开了理解木心的一个核心入口:他不是在“离开中国”,而是在不断重新发明“母国”的意义;他也不是简单拥抱“世界主义”,而是在语言与精神的双重流亡中,把母语锻造成最后的归宿。 “翻了脸的爱国主义者”这个说法本身就带有张力。它既不是否定,也不是认同,而是一种对传统爱国叙事的拆解与重组。木心的复杂性,恰恰在于他既无法与母国的文化传统彻底断裂,又无法安然接受既定的民族叙事。他的姿态更接近一种文学意义上的“出走者”——出走并非逃离,而是为了在更广阔的精神空间里重新确认自身的位置。 一、流亡并非地理,而是精神结构 人们谈木心,常常会提到“流亡”。但如果把流亡理解为地理迁徙,就会误读他的经验。木心真正的流亡,是一种精神结构:他从中国古典文化出发,又不断被现代性、战争、政治与语言断裂推离原有的语境。 然而有趣的是,这种被动的“被推出去”,最终转化为一种主动的选择。他在世界的广阔文化中游历、吸收、重组,却始终没有放弃中文写作。于是,“流亡”在他那里变成了双向的:一方面是被历史与时代驱逐,另一方面是主动进入更复杂的语言与文化系统。 陈丹青所说“向世界流亡,千山万水、天涯海角,一直流亡到母国故乡”,正揭示了这种悖论:真正的回归,并不是回到原点,而是在远离之后重新发现原点的意义。 二、母语作为最后的栖居地 如果说木心的“母国”是一个不断被重写的概念,那么他的“母语”则是唯一稳定的结构。 在他身上,母语并不是一种工具,而是一种精神容器。他在海外长期生活,但始终用中文写作,这不仅是习惯,更是一种抵抗:抵抗语言的失根,抵抗表达的同质化,也抵抗“成为他者语言附庸”的可能。 母语在木心这里有三重意义: 首先,它是记忆的载体。古典汉语的节奏、意象与修辞,构成了他理解世界的基础语法。 其次,它是抵抗现代性断裂的方式。当世界不断加速、语言不断简化时,木心的中文反而趋向古典、凝练甚至反时代。 最后,它是归宿。在长期的文化漂泊中,他并没有找到一个“国家意义上的归宿”,但找到了“语言意义上的家”。 因此,陈丹青所说“陪他战胜这些流亡日子的力量是母语”,并不是文学修辞,而是一种真实的精神经验。 三、世界主义与个人主义的悖论统一 木心常被归入“世界主义者”,但这种归类并不完全准确。他的世界主义并不是价值观意义上的开放包容,而是一种高度个人化的文化选择。 他既不属于某一个民族叙事,也不完全融入任何一种西方现代主义传统。他像是在不同文化之间建立私人通道:在古典汉语与欧洲艺术之间,在文学与绘画之间,在孤独与历史之间。 这种姿态很容易被误解为“疏离”,但更准确地说,是一种彻底的个人主义文化立场:世界不是一个共同体,而是一座可供独自穿行的博物馆;文化不是归属,而是资源;传统不是身份,而是材料。 因此,他的“世界主义”与“个人主义”并不矛盾,反而彼此支撑:只有极端的个人化,才能真正摆脱单一文化归属的束缚;也只有在世界尺度上流动,个人的精神结构才不会被局部历史所压扁。 四、写作作为重建世界的方式 木心的写作,并不以叙事为中心,而更接近一种“重建世界的练习”。他的语言高度凝练、节制,甚至带有古典汉语的冷感。这种风格并不是审美选择的结果,而是一种经验过滤后的产物。 他经历过断裂的时代,也经历过长期的文化边缘状态。在这种背景下,写作不再是表达,而是重建秩序。 因此,他的文本常常呈现出一种奇特的双重性:一方面是极其个人化的感受与判断,另一方面又带有超越个人经验的冷静与抽离。这种张力,使他的作品既不像传统散文,也不像现代抒情文学,而更像一种“文化碎片的重新编排”。 五、回到陈丹青的判断 陈丹青说木心“从中国出发,向世界流亡,千山万水、天涯海角,一直流亡到母国故乡”,这句话的关键不在“流亡”,而在“回到母国故乡”。 这个“回到”,并不是现实地理意义上的归返,而是精神结构的完成:当一个人经历足够远的离散之后,他才可能重新理解“母国”不只是国家,而是文化记忆与语言结构的集合。 而木心的独特之处在于,他并没有被这种回归所“安置”。他始终保持一种不稳定的状态:既不完全在中国,也不完全在世界;既不属于历史,也不完全属于当下。 这种不安置感,正是他作品持久魅力的来源。 结语 木心的意义,也许不在于提供一种答案,而在于提出一种难以安放的经验:当世界不断要求人们归类、归属、定位时,他选择了语言作为唯一的坐标。 在这个意义上,“母语”不只是他表达的工具,而是他与世界之间最后的连接方式。 而所谓“流亡”,也不再是失去,而是一种持续的生成:在远离之中不断接近,在破碎之中不断重建,在世界之中不断回到语言本身。

April 30, 2018

成为深度学习专家的七个步骤

1、对机器学习有基本的理解,最好的材料是Andrew Ng在coursera上的公开课程,看过教程能让你对机器学习有基本的认识,完成课程中的任务会让你对机器学习有更深入的理解; 2、接下来需要培养对神经网络的感觉,实现一个神经网络,并利用它做点事情; 3、理解神经网络的原理很重要,但简单的神经网络并不足以解决最有趣的问题。神经网络的变体-卷积神经网络(CNN)非常适合于图像识别类的任务,斯坦福大学的有关资料如下:CS231n 用于图像识别的卷积神经网络(笔记)和课件。另外两个参考资料如下CNN 参考资料1和CNN 参考资料1。 4、接下来需要在自己的电脑上运行CNN; step1:买一块GPU,安装CUDA开发工具包 step2:安装Caffe和GUI包Digit step3:安装Boinc,这个工具对你理解深度学习并没有帮助,但能够让其他研究人员在闲暇时间利用你的GPU做科研 5、Digit提供了少量算法,比如用于字符识别的lenet算法和用于图像分类的Googlenet算法。要想运行这些算法,需要下载相应的数据集lenet数据集和Googlenet数据集。你也可以修改算法来执行其他的图像识别任务,比如我们的工作; 6、对于自然语言处理任务,递归神经网络RNN更适合。学习RNN最好的材料是斯坦福的讲座及笔记,也可以下载Tensorflow来构建RNN; 7、现在你可以尝试用深度学习来解决各种各样的难题了,比如面部识别、语音识别和自动驾驶等; 如果你认真完成以上步骤,那么祝贺你,可以去Google、Baidu、Microsoft, Facebook或Amazon申请职位。

December 10, 2017

我们萌生Migration的念头了

女儿出生之后,我思考了很多关于未来的事情,这一年来读了不少政治哲学方面的图书,对自己的价值体系进行重构。今年起我陆陆续续有migration的念头,最大的驱动是三个:1、子女的教育和未来(我们不是京户,虽然这个问题可以取道天津,但总觉得心里不舒服;而如果走国际校,成本先不说,最终子女还是要往外走);2、这两年帝都的雾霾(准确的说是整个国内的雾霾)让人窒息;3、对每天地铁以及所从事的工作开始有些厌烦,当然也是中年危机之前想给自己找点事情做。 想migrate第一步肯定是先考英语,而我已经10年不学了。我选择PTE考试,因为估计雅思4个7我是绝对过不了。考试今天是我第一次参加PTE考试(相当于雅思),听5.5,说5,读6,写 6,总 6,这个成绩离4个7好遥远….但是既然决定了,真的考不过就当学英语吧,未来一年好好学习英语。

August 31, 2017

深度学习随感

“深度学习是一个激情澎湃却又相对单一的领域。有一些深刻的想法,一些主要的学术会议,其中若干会议之间也存在着很多重叠。然后,一篇篇的论文在不断地提升和完善同样的一些基本想法:使用SGD(或者类似的变体)来优化一个代价函数。这些想法非常成功。但是我们现在还没有看到这个领域的健康发展,每个人在研究自己的深刻想法,将深度学习推向很多的方向。所以,根据社会复杂性度量,忽略文字游戏,深度学习仍然是一个相当粗浅的领域。现在还是可以完全地掌握该领域大多数的深刻想法的。” via:Michael Nielsen 上世纪50、60年代神经网络曾经非常火爆,局限于计算能力和算法束缚,没有获得商用,迅速进入寒冬,但Hinton和Yann Lecun坚持做了二十多年,去年以来媒体对AI大肆渲染,而这两位深度学习的领袖却保持很理性的认识。下面是Yann Lecun在facebook的声明:AlphaGo战胜李世石后,Slashdot上有帖子帖子宣称:“我们现在知道,我们不需要任何大的新的突破,以获得真正的AI”。 这是完全,完全,可笑的错误。 正如我在前面的陈述中所说的:大多数人类和动物学习是无监督的学习。 如果智力是一个蛋糕,无监督学习将是蛋糕,监督学习将是蛋糕上的糖霜,强化学习将是蛋糕上的樱桃。 我们知道如何做结冰和樱桃,但我们不知道如何做蛋糕。在我们想获得真正的AI之前,需要先解决无监督的学习问题。 这只是我们知道的一个障碍。还有大量的我们不知道的障碍。 最近几年deep learning使得机器对图像,语音,人类语言的认知能力获得了质的飞跃,在图像识别方面甚至已经超越人类,出现了很多看起来是黑科技并且非常实用的技术,比如人脸识别,图片自动标注描述,机器翻译,无人车等等。但不应该去夸大AI,媒体的大肆宣传,会让大家都以为实现科幻电影里出现的强AI,这样只会换来失望,从而导致AI的下一个寒冬。当然,乐观的来讲,深度学习对于弱AI的发展起到了非常大的作用,而且也有理由相信未来(我觉得还需要近上百年的发展)肯定会诞生强AI。

June 4, 2017

深度学习猜想

推荐所有立志从事机器学习特别是深度神经网络学习算法的人认真研读这本书。书评:作者从最根本最朴素的思想开始,结合实践进入深度神经网络,这本书堪称神经网络的几何原本。另外,第二章有非常多的多元微积分公式和证明,作者说可以跳过,但建议数学系毕业的人认真研读并完成证明,因为只有了解这些才可能进行算法的创新。 如果拉马努金在世,他应该能从上帝那里拿来神奇的公式,让深度学习的算法更优。另外,我猜想基于欧拉公式设计逻辑神经元的算法,或许会彻底改变神经网络算法—因为现在的S型神经元只包含自然对数e,英应该要加入pi,i,0和-1才是优美的。哦,这只是天马行空的猜想。

May 4, 2017

写在女儿出生之后

2016年6月初,女儿出生了,我当爸爸了,非常兴奋和开心。看到女儿出生的那一刹那,我感受到生命的奇迹,更感受到爱人的艰辛——那一刹那脑袋里就想着不能让她再生第二个了。从买房、装修、结婚、度假、出生,似乎一切都在计划之中,但生活确实发生翻天覆地的变化,我从刚开始不知所措、谨小慎微,到慢慢地与女儿、爱人磨合,经过近半年的时间才慢慢达成一家三口的一点默契。记得修完陪产假,在家待了一个月后,上班第一天发现原来上班才是休假啊!!! 我们是完全自己带小孩,这期间的辛苦只有我们自己知道。举个最简单的例子,最近进电影院,都是把女儿弄进去睡着了,两个人才出门,每次都想电影情节一样,好几次电影开始前10分钟进入地库…都说爸爸爱女儿,这个是只有当你有一个女儿了之后才深深感受到。所以我舍不得宝宝,6个月前都是抱睡居多,前阵子开始锻炼宝宝自己在小床入睡,虽然会有反复但已经初有成效,其实应该在三个月后就让宝宝自己入睡。值得欣慰的是,女儿出生回家后都是睡小床,满月后夜里最多醒两次,挺多时候能晚八点到早上五点,这些都是爱人坚定的育儿观念换来的结果。 希望女儿健康快乐长大,希望爱人能尽快走出产后不良情绪…

December 31, 2016

CentOS6 yum 安装memcached,CentOS6 安装Memcached PHP安装Memcache扩展

############# centos 6 第一二步省略,直接yum安装 1. 安装第三方软件库 wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.rf.src.rpm rpm -ivh rpmforge-release-0.5.2-2.rf.src.rpm 2. 查找Memcached yum search memcached 3. 安装Memcached yum -y install memcached 4. 验证安装 memcached -h 应该会输出一些帮助信息 5. 将memcache加入启动列表 chkconfig –level 2345 memcached on 6. 配置Memcache vi /etc/sysconfig/memcached 文件中内容如下 PORT=”11211″ 端口 USER=”root” 使用的用户名 MAXCONN=”1024″ 同时最大连接数 CACHESIZE=”64″ 使用的内存大小 OPTIONS=”" 附加参数 7. 查看memcache状态 memcached-tool [Memcache Server IP]:[Memcache Server Port] stats 如:memcached-tool 127.0.0.1:11211 stats =====至此,我们将Memcache服务配置完毕,接着我们配置PHP的扩展,以便在程序中来调用===== PHP共有2种Memcache扩展,一个叫Memcache(2002年发布),另一个叫Memcached(2008年发布) Memcached比较新,它依赖于limemcached库才能运行,不过它能完成基于Memcache服务的几乎所有功能,比如:Memcached::getResultCode ,它能返回上一次操作Memcache的结果,而Memcache则没有这个功能 Memcache(没有d)不依赖任何库就能运行,安装相对简单,同时也能完成Memcache服务的大部分主要功能。 下面分别介绍2者的安装方式。 8. 安装PHP的Memcache扩展(yum安装php已安装此扩展) wget http://pecl.php.net/get/memcache-2.2.6.tgz wget http://pecl.php.net/get/memcache-3.0.6.tgz tar vxzf memcache-2.2.6.tgz cd memcache-2.2.6 /usr/bin/phpize (如果不知道phpize在什么位置,可以用find / -name phpize查找) ./configure –enable-memcache –with-php-config=/usr/bin/php-config –with-zlib-dir make make install 记录下安装成功后的提示,类似于: Installing shared extensions: /usr/lib/php/modules/ 把这个地址记录下来 ...

December 3, 2015

互联网架构启示:一根网线引发的“血案”

互联网架构启示:一根网线引发的“血案” 引言:当一个网站做大的时候,无论是研发还是运维,每一个细节都至关重要,网站的任何一个小的瑕疵都会被无限放大。 公司有一个基于微信公共服务器号开发的产品,主要为微信用户提供在线交流、互动、阅读和科研分析等功能。前阵子升级了支付接口,运营人员开始用红包推广,并且把原来微信服务号的积累的用户引流到服务号本身的网站服务,网站堵塞时秒并发连接数峰值达到1k,数据库瞬间批处理数也达到了2k+,这个量其实不算什么,但因为运维架构的一个疏忽,导致网站2次宕机。这里先说明两点:运维属于公司另外一个部门,当然大家还是相互协作还算比较好;我们的服务器都是32G内存,4核2GHz的CPU的品牌服务器。 第一次宕机:抢红包导致宕机3小时。 我们发布完毕2.0版本之后,运营很开心,打算搞一次庆祝活动:只要来关注公共号,进入首页就可以另一个1块钱红包,任何人都可以。发红包当天,我没有接到通知,到家收到微信的提醒,过了差不多1小时,运营电话过来说网站慢了,而此时我连服务器都很难连接不上,运维的说50兆的带宽只用了8兆(这里有一个细节他没有告诉我:网络是一条几乎是直线在运行),再过来半小时,网站几乎打不开了。过了一阵子我登录终于能登录服务器了,但还是很卡,看了服务器的指标,我关注了io、cpu和内存,发现全部正常,idle很高,几乎都是80%,不过没有注意网络。接着两个多小时,直到红包抢完,网站才开始能正常访问。第二天,运维与我们完成了负载均衡的搭建,4台web,1台专用db,cache不变,与架构变化之前一样,只做了web服务器级别的cache,我个人判断这样的量还不需要加memcached和读写分离。后面两次发红包量没有那么大,服务器都正常,但我观察了服务器,发现一个现象:当并发数比较多的时候,db服务器指标还是正常,但总有点卡顿,这次我观察到有时候内外的网络会瞬间冲到98MB,咨询运维的同事说这个正常我们内网有千兆网卡呢,而且现在外网的流量不到占用不到10%。 第二次宕机:活动导入流量导致宕机1小时。 这一次宕机,我觉得不可能发生的。当天傍晚,运营的人一下子给微信十万级别的用户发消息,把他们引流进入网站,过了1小时网站又宕机了,一直过了高峰才恢复,那天只有运维的人在跟服务器情况。第二天,运维的跟我说是我们数据库有问题,他们的理由是:外网流量还是一条7MB直线,所有服务器的指标都正常,但是一拔数据库的网线整个网际通了,所以是db处理不过来那么多请求、或者代码有问题。我当时有点懵了,因为看了流量,那天2个小时的pv达到了10w,鉴于这个产品我们使用了比较新的开发框架,我开始怀疑代码问题、数据库连接问题等等。然后先把所有能优化的都优化,包括动态的内容等也加cache,上了1台memcached服务器。我们还把用户行为用消息队列进行异步处理。改完之后开始google,研究程序架构支撑情况、数据库并发数等等,结论是感觉昨晚的量在昨晚这种条件下网站不应该宕机的,我甚至都怀疑是不是服务器采购的时候被动手脚了-_- 过了一周运营再次搞活动,活动之前我还发现一个问题:个别图书封面居然有5mb的图片,原来产品经理为了让用户看清楚图书封面要求用原图,我赶紧让工程师改成压缩图片。晚上刚到家不久,运营电话又过来了,说虽然没有宕机,内容也能看,但还是有点慢。我接到电话觉得很不可思议,心里想怎么流量那么高。登录服务器之后,发现流量也就是和上次一样,症状和上次也是一样,和运维的沟通,说他连不上服务器(网络是正常的),我特地看了db的连接也只有2位数,虽然偶尔会突然到2k多,但我知道这是因为网络堵住连接不到memcached。当天晚上就咨询以前的认识的运维大拿们,他们也觉得很不可思议,但我们判断肯定是硬件架构哪里出了问题,我把服务器的指标等都截图保留。公司运维的哥们这时候说怀疑是内外网公用网卡的原因,不过这种做法也不是不可以,因为内网有千兆网卡。第二天,又咨询了很多人,大家的结论是:网络有问题。问了好几次公司运维,都说:交换机是千兆的、防火墙是千兆的、网卡是千兆的,后来我以前的同事乌咔咔大拿注意到我截图里面显示网卡只有100MB,我赶紧检查所有的服务器,发现:内外网公用一个只有100MB的网卡!!!问了运维,他说网卡肯定是千兆,我说是不是被自适应了,他楞了一下,说不是自适应,是网线可能是百兆的,去机房确认了一下,发现服务器用的全是5类网线,而且是自己做的……运维也知道是啥原因了,走了特批买了超6类的网线换上。 目前网站一切正常,未来如果突破一定的用户量,肯定要做db的读写分离、cdn等。回过头来看,第一次宕机的可能性很多种,网线问题、web服务器超并发问题、db和web在同一台问题等;第二次宕机的原因应该是:这根网线引发,内网网络瞬间被挤爆,所有内部通信在等待、数据库连接超时,我的理由是这一天的秒连接数也只有几百,数据库连接也就1k多;第三次虽然没有宕机,但网站有些慢,依然是因为这根网线的原因。 这就是一根网线引发的“血案”的案例,希望对看到的工程师们有所帮助。我本人一直做开发,也自认为自己开发能力、软件系统架构能力很强,但之前确实忽略了硬件方面的知识,这一次是彻彻底底、从头到尾上了一个课。

August 13, 2015