《少有人走的路》读后感

关注这本书是在编程随想那里看到的一篇书评, 其中引用了书中一句经典的话:

人可以拒绝任何东西,但绝对不可以拒绝成熟。拒绝成熟,实际上就是在规避问题、 逃避痛苦。规避问题和逃避痛苦的趋向,是人类心理疾病的根源,不及时处理, 你就会为此付出沉重的代价,承受更大的痛苦。

所有逃避者,都在阻碍自己心智的成熟; 一切心智成熟者,他们的人生之旅都是从直面问题开始。

我最近半年的时间中,经常和一位闺密朋友讨论成熟、感情、人生历程的问题, 她的价值取向:喜欢自由无舒服的生活,压力尽量好。 我直观的感觉这是有问题的,可是说不出哪里不对,人的确有追求美好生活的权利呀。 看到《少有人走的路》中这几句话,我反应过来了。 我们依然用童年的遗留思维评判生活质量,以自己为中心,缺少安全感,心智还没有成熟。

于是我翻开这本书,寻找答案。

少有人走的路

心智成熟的标志-自律

人生苦难重重,我们要解决它们,逃避不是办法,依赖别人也不可靠。 自律可以让我们解决各种问题,自律有四种技巧:

  1. 推迟满足感:喜欢先苦后甜的人往往缺乏安全感,和成长历程有关。 推迟满足感需要控制自己欲望并相信自己的价值 …

more ...

MoinMoin Wiki 转换 Text 脚本

我使用 MoinMoin 作为我的 KMS,具体使用方式可以参考 [使用MoinMoin作为个人KMS][moin-kms]。另外,我将 MoinMoin 的 data 目录链接到 Dropbox 同步目录下面,从而可以备份并查看我的知识库。

我想同步阅读 KMS 数据

想在移动设备阅读 KMS 数据时,我遇到一个麻烦,MoinMoin 使用文件来保存 wiki 数据, 比如「28个Unix.Linux的命令行神器」这篇 wiki 目录在 data/28(e4b8aa)Unix(2e)Linux(e79a84e591bde4bba4e8a18ce7a59ee599a8) 中, 结构如下:

|---revisions
|        |---00000002
|        |---00000001
|---edit-log
|---current
|---attachments
|          |---http___coolshell.cn_wp-content_uploads_2012_07_xargs_screenshot …
more ...

学车记

经过两个月的学习,今天下午终于把驾照拿到手了。期间各种苦逼各种悲催顿感消失, 终于打赢了这场难度仅次于装修的战争。

博客也因学车而荒废了1个月,今天就顺便写点针对南京的驾校考试的东西。

南京驾照考试有4部分:

  • 理论考试,网上好好做题,2小时就可以考95分以上了,90分合格
  • 桩考,就是考倒桩。80分合格,当场有一次补考机会。
  • 电子路,2+1(侧方位停车、坡道定点停车和起步、起伏路、直角转弯、S 弯、 百米加减档、限宽门、单边桥和连续障碍),其中「侧方位停车」和 「坡道定点停车和起步」是必考,其他再抽一项。和桩考共享一次现场补考机会,80分合格。
  • 人工路:上车在实际道路开一会。没有现场补考,80分合格。

如果现场补考不合格,或者压根没有现场补考机会,那么不合格的话需要等22天补考。

特别注意:如果桩考不是满分过的,而电子路又没通过,那就需要从桩考重新开始考, 所以桩考不满分,后面电子路压力会很大。

我报的驾校是南京天保驾校,大明路分校 …

more ...

Flotr2 - 我最喜欢的 Javascript 图形库[译文]

原文地址:Flotr2 - my favorite javascript graph library

译者:alswl


我研究了很久,得到的终极数据可视化方案是 javascript + html ,这是唯一像样又好用的。

Gnuplot 虽然看上去不错,但是不太漂亮。 一些基于 Python 的图形化工具也有同样的问题。 Mathematica 在我看来则太正式了,所以我不怎么用它。

基于 javascript 的图形化工具其中一个巨大优势是易于共享。 通过设置 Github Page、分享链接等方法,我们都可以很方便的获取最新图表数据, 甚至可以进行交互。

那些基于 javascript 的图形化工具

有很多 javascript 图形化库,从极简到复杂绚丽的风格,都极为丰富。

最流行的可能就是 d3.jsRaphael 了。 他们用起来相当麻烦,但却能实现绚丽到超越你想象的可视化效果 …

more ...

想和做

一年前,我在草稿箱里面写了这篇文章的开头,那时的我正在为工作而烦闷,却一筹莫展。 最近在读《人人都是产品设计师》,其中提到了「产品经理」和「项目经理」的区别, 又引发了我一些思考,我决定把这篇文章重新写完。


这篇文章准备讨论普通程序员在工作中容易滋生的错误,以及解决的方法。

传统意义上,大家会提倡「不能光想,还要去做」,即强调行动力的重要性。 而在实际工作中,大部分人都不缺乏这个行动力,反而缺少对自己工作的思考。 比如我为什么要这么做?有没有更优美的办法?能不能通过自动化减少工作强度? 流程是否可以改善?

我和产品

在聊上面几个问题之前,我先确定一个既有现实:「每个程序员都曾经是产品经理」。 诸位是否还记得当年在学校里面学习时候,应该都做过 XX 管理系统吧, 那时候我们也许单枪匹马,也许结对组团去完成「项目」:获取需求,设计系统和 撰写代码,在这些工作中,我们首先担任的就是产品经理一职。

我还清晰的记得大二时候我用 SSH 模仿了一个百度贴吧系统,现在看来,也就是个 CRUD 级别的粗糙作品 …

more ...

Vundle 和 Submodule

问题背景

Vundle 是个好东西,可以用来管理 vim 配置和 vim 插件。Vundle 会将所有插件管理在 .vim/bundle/ 中,详情可看 使用 Vundle 管理 Vim 插件

官方安装 Vundle 方法如下:

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

我的 Vundle 的版本是 59bff0c457f68c3d52bcebbf6068ea01ac8f5dac, git 版本是 git version 1.7.10.2 。 使用 BundleInstall 可以安装 .vimrc 中配置的插件 …

more ...

服务器 Push 技术

服务器 Push 技术表示服务器可以主动推送消息给客户端浏览器。

实现方式

  • Comet
  • Ajax 轮询
  • iframe / htmlfile
  • script tag (不中断的连续请求)
  • Flash 通讯
  • WebSocket

Comet 本意是彗星,彗星尾巴痕迹很像长连接工作方式,所以 Comet 指代长连接。 在 Ajax 轮询的分类上,存在一些分歧,这里我把轮询认为一种 Comet 方式。

ps:「长连接」在一些场景下,是另外一种意义「HTTP: Keep alive」。不在本文讨论的范围中。

参考链接:

浏览器支持情况

WebSocket 属于 …

more ...

《开源和自由》幻灯片

周末回学校一趟,和几个老同学、老师聚会,然后给学弟学妹们做了一个分享。

我的主题是《开源与自由》。 为了让同学们不瞌睡,几乎是当一个故事讲的,没太多技术内容。

more ...

让 Octopress 支持 RSS2.0

土鳖人人网的 日志导入 功能仅支持 RSS2.0,而 Octopress 输出的订阅格式是 Atom1.0。 于是为了让人人网的同学能看见我那些技术宅,又或非技术宅的文章, 我只能昧着良心,给 Octopress 加上过时的 RSS2.0 输出。

source/ 下创建新文件 rss.xml ,内容如下:

---
layout: nil
---
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
    <channel>
        <description><![CDATA[{{ site …
more ...

给 Octopress 加上标签功能

上周,我将 Log4D 由 Wordpress 转换为 Octopress,略加打理,颇为顺手。 自动分类 / 评论转移 / 代码高亮 / 图床 的问题一一解决之后, 就只剩下 tag 的问题没有搞定了。

我当时使用了YORKXIN的修改版本来处理 Wordpress 的数据迁移,这个脚本很好用,数据没有遗失,甚至是让我担心的 category / tag 都给予了保留。具体使用方法可以参见从Wordpress迁移到Octopress

只是虽然 tag 的数据保留了,但是 Octopress 仅支持 category 的分类,而完全忽略 tag。这是我不能容忍的:category 和 tag 分别代表 有序 / 无序 的知识点归纳方法。 一篇文章只能属于一个 category …

more ...