我叫 杨文博,毕业于中国科学院研究生院(工学硕士,2010)和南京大学(理学学士,2007),供职于百度公司,任商业运营产品研发部高级研发工程师,曾经从事分布式存储系统的研发工作,目前作为技术负责人,负责搜索推广自动审核系统和报表系统。
本博客主要记录我的生活、技术、思想和梦想,在技术方面主要关注开源、Linux、程序设计和分布式系统等计算机科学相关内容。本站内容除特殊说明外均为本人原创,并遵从署名-非商业性使用-禁止演绎创作共享协议,转载时请在文中注明作者和出处。
本站为个人博客站点,其文章内容仅代表个人观点,并不代表本人所供职的机构或公司的观点或立场。
更多个人信息,请访问小弟的个人主页--> http://solrex.org。
我维护或参与的项目
- 免费电子书:《使用开源软件-自己动手写操作系统》,项目作者。
- 开源软件:casnet——中科院 IP 网关 Linux GUI/CLI 客户端,项目作者。
- 开源软件:Tohr——工作在 HTTP 层上的 Tor,项目作者。
- 免费软件:sendsms ——Linux 下发送飞信的命令行客户端,项目作者。
- 免费服务:豆瓣好友统计图标——将豆瓣好友计数转换为一个类似于Feed统计的图标。
- 开源软件:JabRef——使用 BibTeX 格式数据库的文献管理工具,中文版译者。
- 开源软件:Libfetion——Linux 下飞信客户端,非活跃开发者。
- 开放文档:NJUthesis——南京大学学位论文LaTeX模板。
我的联系方式
请到我的个人主页寻找我的联系方式,也可用手机扫描下面这张图片获得我的名片:

我很高兴能通过网络认识一些朋友,尤其欢迎有关我的博客、书、项目的讨论,如果您在这方面有任何看法,请不吝赐教。但是,和我联系时希望您注意以下几点:
- 当我的 IM(即时通信软件) 状态标识为“忙碌”或者“免打扰”时,如果您不能确信自己是我的好朋友或者有非常重要的事情,请不要打扰,因为我有极大的可能不回复您。
- 请以有意义的句子开始聊天,不要使用“hi”、“有时间吗”这类客套用语,这样能节省我们双方的时间。
- 当聊天结束时,请直接关闭聊天窗口,而不是发送“再见”、“88”这类废话,理由同上。
- 关于邮件附件:请不要给我发送 M$ Office 格式的文档(.docx, .pptx, .doc, .ppt...),因为我不能正常打开它们,并且对该类文档格式保持深刻偏见,所以我不保证会回复您。如果没有特殊格式,请使用纯文本 TXT 文档,如果有特殊格式,请使用 PDF。Google Document 在所有情况下都欢迎。
FAQ
- 你的网名 Solrex 是什么意思?我从英语辞典上没有查到啊。
这个词是我自己造的,在一般英语辞典上是查不到的。
以前申请一些服务的时候,想到的名字总是被别人注册过了,所以我就一气之下自己造了一个英文单词。这个词的起源比较装逼,所以我以前不怎么跟别人提起的:sol- 在英文里面是表示“太阳”的前缀,比如 solar;而 -rex 呢,是表示“王”的后缀,所以合起来 solrex 就表示“太阳王”的意思。我不知道这个过程符合不符合英语的构词法,但是既然很好用,就叫下去吧。
- 你博客里那么多关于 Linux 的文章,你平时只用 Linux 吗?
不是,我也使用 Windows。
我不是一个狂热的 Linux 和开源信徒,虽然我周围有这样的朋友,我也喜欢这样纯粹的人。我使用某个操作系统,很主要的原因是它能使我效率更高,而在某些情况下使用 Windows 就像被捆上手脚去赛跑一样,所以我厌恶使用 Windows 做一些事情,比如软件开发、文件操作等等。但是有一些情况会逼得你不得不使用 Windows,比如 Word 文档作业,网上银行等等,更重要的是,我和我女朋友保持联系的最主要方式就是 QQ 视频。一个人可以有自己的软件哲学,但是我认为这个哲学永远不应该置于亲情和爱情之上。如果我女朋友说:“我不许你使用 Linux”,要是我说服不了她我就会立即放弃使用 Linux。
但即使是使用 Windows,我也有自己的哲学,就是我不使用盗版软件,这一态度在“我对盗版的思考”这篇文章阐述得很清楚。如果您想知道我如何做到这一点又不影响平时工作和学习的,也许您应该去看看我的另一篇文章“扔掉你 Windows 中的盗版软件吧——Windows 下常用盗版软件的替代免费软件列表”。
- 我想和你交换链接,请问该怎么做?
其实我不喜欢公开讨论这个问题,有规则就会产生歧视,而且许多人喜欢把自己套进去,认为被歧视了,或者被认为过于骄傲,“不就是一个链接嘛”。但通常一个人的信誉可以由他朋友的信誉衡量出来,即所谓“近朱者赤,近墨者黑”,一个站点的信誉也可以由它的导出链接的质量来衡量,这也是不得不考虑的问题。
我的博客 PV 和 PageRank 在个人站点中还是比较高的,所以我的导出链接还是有些价值的。如果您希望与我交换链接,那么您应该考虑以下几条规则:
- Content is king. 如果您的网站没什么有意义的内容,比如大部分内容是不加修改的转贴,或者文章长度都在 200 字以下,我对拒绝您的请求不会感到不好意思。我不希望给我的网站访客提供垃圾链接,同时也会损害访问者对其它导出链接的评价。
- Real name needed. 如果您是陌生人,那么我至少需要知道您的真实姓名。
- PageRank rules. 如果您网站的 PageRank 小于等于我的 PageRank,那么出于礼貌您应该先添加我的站点为友情链接再请求我添加您;如果您网站的 PageRank 大于我的 PageRank,您可以要求我先添加您。(FYI: 2010年1月3日,此博客首页的 PageRank 为 4。)
- Friend biased. 如果您是我现实生活中的朋友,不好意思开口,只需将我的站点添加为友情链接。一旦我注意到,我就会增加对您的友情链接。例外:对于一些带有权限设置的 BSP,比如 Live Space、QQZone ,或者您的博客只是记录些私人生活,那么我默认认为您不想太多陌生人访问,除非您开口,我不会添加链接。
另外,您会注意到我的博客有一个“特别推荐”列表,这个列表中的网站很少,代表我对该列表中网站有很高的评价。进入该列表的网站除了满足以上 4 条规则以外,还需要满足两个条件:
- Valuable content. 该网站的内容不仅是有意义的,而且是有很高价值的。
- Regularly post. 该网站有一定的更新频率,未必很高,但不会过低。
- 你博客的代码高亮用的什么插件?
简单的回答是“没用插件,人肉做的”,更完整点儿的回答是:我博客中的代码是首先将代码贴到代码发芽网,获得高亮以后的 HTML 代码,然后用下面这个小脚本 faya 处理掉冗余的部分:
#!/bin/bash
sed -e 's/<br> /<br>\n/g;s@<span style="color: rgb(0, 0, 0);">\([^<]*\)</span>@\1@g;s///g' "$@"使用这个脚本有两个方法,一个是 ./faya code.txt > clean.txt,另一个是用 vim 打开 code.txt,然后在命令模式输入 :%!faya。我一般用 vim 来做,然后就可以把代码贴到博客里了。可以使用自定义的 blockquote 标签把代码圈起来与一般文字以示区分。
直接使用高亮的 HTML 代码有几个好处:
- 不用纠结于用哪个插件和代码风格。由于插件对各种语言和代码风格的支持不一,使用插件不可避免地会影响到代码的展示。但我不想纠结于这点,而且我平时扯淡涉及到的语言种类还是挺杂的,我希望代码能尽量自由地展示。
- 不影响文章的备份和迁移。HTML 代码是写死的,无论是从数据库导出还是直接复制文件,都不会影响文章的最终展示效果。
