链接推荐 —— 2013年4月

1 Python 与 OpenERP

  • python-sh:管理员的利器

    作为系统管理员的三大语言,Shell 脚本难写难读,Perl 脚本易写难读,而 Python脚
    本虽然易写易读,但说起跟 Shell 的交互,却又没有前两者来得方便。

    python-sh 为 Python 标准库中的 subprocess 模块提供了一个更易用的接口,使得
    Python 可以像调用普通函数那样调用外部命令,比如 sh.ls("-lah", "/")

  • 一些初级 Python 黑魔法

    用简洁的例子讲解了几个所谓的 Python 黑魔法,包括 Higher-Order, Duck Typing,
    Generator, Decorator。

  • OpenERP 模块动态加载原理及启动代码分析

    如题,随着一步一步深入 OpenERP server 的代码,非常清楚地说明白了 OpenERP 模
    块动态加载的过程,痛快痛快!

  • OpenERP 与 Python 元编程

    这篇文章介绍了 Python 元编程(Meta Programming,号称 Python 黑魔法之一)在
    OpenERP 中的应用,顺带讲了 Python 类的实例化过程。

  • 进入 Python 的 REPL

    StackOverflow 链接,介绍了几种 Python 程序进入 REPL(Read-Eval-Print-Loop)
    的方法。其中最简单的,是在需要的时候,插入以下代码:

    import code; code.interact(local=locals())
    

    另外,可以利用下面这个非常简单的 Elisp 函数,在用 pdb 或者 ipdb 调试 Python
    程序的时候进入 REPL。

    ;; enter interactive python
    (defun python-interactive ()
      (interactive)
      (insert "!import code; code.interact(local=vars())"))
    

    : REPL 应该是 Lisp 系的叫法,在 Python 中,就是指那个交互式命令行(还
    有 IPython 这个加强版)。

  • 谷歌 Python 代码风格指南

    谷歌有一系列不同编程语言的风格指南,用于源自谷歌的开源项目
    (Google-originated open-source project)。

    这篇 Python 代码风格指南,对命名方式、缩进方式、代码宽度(不超过80列)都有很
    具体的要求,想养成比较好的编程风格的人,可以读读。

    当然,代码风格有很多种,不需要死守每一条。

2 Emacs 与 Elisp

  • Emacs WIKI

    推荐的原因是它最近终于把界面改漂亮了一点点儿。

  • zenburn 配色方案

    我最早用的配色方案(color-theme)是 subtle-hacker,Emacs 24 出来之后转用
    tango-dark,最近开始用 zenburn。这是个低对比度的配色方案,据说更适合长时间盯
    着屏幕的人。用了几天之后觉得不错,目前博客的配色也依照 zenburn 进行了调整。

  • Emacs Conference 2013

    Emacs Conference 2013 的 Youtube 视频列表,由 Emacs 界已知的 唯一 的妹子
    Sacha Chua 上传,有几个值得一看的视频。

  • Emacs(slime环境)下写 Lisp 常用快捷键整理

    这篇博客总结了 paredit 和 SLIME (The Superior Lisp Interaction Mode for
    Emacs) 的一些常用的功能,熟悉之后可以有效地提高 Emacs 下编辑 Lisp 代码的效率。

  • Scheme 编程环境的配置

    用 Emacs 默认自带的 scheme-mode,加上一些 Elisp 函数和 paredit,就可以搭建一
    个简单实用的 Scheme 开发环境。

    更复杂一些的配置,可以参照 Emacs Wiki,除此之外,还有一些比较通用的插件:

    mode 名称 作用
    highlight-indentation-mode 缩进线
    yasnippet snippet
    auto-complete 自动补全
    hs-minor-mode 代码折叠
    flyspell-prog-mode 字符串和注释的拼写检查
    flymake 实时语法检测(如果用Racket的话)
  • Emacs Litable:实时计算和替换

    Youtube 视频,展示了在 Emacs 中实现 Elisp 的实时计算和替换(类似于 Light
    Table 的功能)。视频介绍里有这个项目的 Github 链接。

  • 在 Emacs 中调用谷歌搜索

    非常简单的一个函数,可以从 Emacs 中调用浏览器进行谷歌搜索。

    这样一个普通的搜索流程就从:

    1.复制 2.切换到浏览器 3.找到搜索框 4.粘贴 5.搜索

    变成了:

    1.`C-c g’(自定义的按键绑定) 2.输入待搜索字符串(如果已经选中了某个区域的话,
    那这一步也不需要了)

  • 有用的 Elisp 库

    介绍了几个可以简化 Elisp 编程的库:`dash.el’ 提供比较“现代”的列表操作函数,
    如 slice, map, reduce (虽然跟 Python 的还是差挺多); `s.el’ 提供更易用的字
    符串操作函数; `ht.el’ 提供哈希表; `loop.el’ 提供更方便的命令式循环语法,如
    loop-until , loop-do-with 和 loop-for-each 。

    感兴趣的话,可以读读这几个库的源代码。比如 loop.el ,其实就是定义了几个宏
    (macro)。用 Elisp 扩展 Elisp 的语法,挺有意思。

3 GNU/Linux

4

  • 最右

    豆瓣相册,收集了新浪微博上不少“神最右”。

  • 《临界》

    王晋康以地震预测为主题的短篇小说,科幻核心是“低烈度纵火“,我觉得整体还算可以。

  • shell’s home

    shell909090 的博客。

    我高二的时候从 Red Hat 转到 Debian,开始在邮件列表上问问题、看别人讨论,当时
    经常会见到 shell909090 的发言,获益匪浅。这么些年过去了,他的文章质量也越来
    越高,主要涉及 Linux、Python、C、网络等领域。

  • PL101: 创造你自己的编程语言

    Nathan’s University 的教程。

    PL101 的核心任务是用 JavaScript 写简化版 Scheme 的 parser, interpreter 和
    compiler (编译到 JS)。听上去挺复杂,但课程的质量很高,学起来并不难。需要一
    些编程基础(不一定是 JS),如果懂点儿正则表达式和 Lisp,那就更容易了。

  • Size Does Matter

    澳洲国立大学做的研究,人说袋鼠儿女(Aussie)多奇志(pā),你们感受下。

  • 阅 FM

    Android 阅读应用,类似于电台,可以随机阅读一些文章(有一定几率读到重复的)。
    设计简洁大气,文章偏小清新,不过挑选得也还不错。目前功能还不够完善(比如“多
    频道”),但是个挺有潜力的应用。

  • Umano: News Read To You

    Android / iOS 应用,可以收听、下载各类英语新闻的真人朗读。不错的点子,有兴趣
    的可以考虑搞个中文版。

  • 《一朝忽觉京梦醒,半世浮沉雨打萍》

    最近翻看了几集锵锵三人行,主持人窦文涛在 2013-01-23 这一期大力推荐了常艳所著
    的这本自白性质的“小说”。

    事儿我不敢评价,因为只有常艳一面之辞,信息来源不足。但“小说”确实非常有意思,
    比如提到作为 中公中央马克思、恩格斯、列宁、斯大林著作编译局 局长的衣俊卿认
    为普陀山的菩萨很灵,而女主人公甚至还会去拜访道士;还有两个人对于《小王子》里
    面“驯服”这个话题的讨论;另外还提到了瓮安事件、十八大、莫言获诺奖等等,不过可
    惜都是一笔带过。

    前些天看电视剧《乾隆王朝》,觉得里面人物的对话暗藏玄机、精妙之至。但看完了这
    本“小说”,又觉得前者在这方面真是差了好几个层次。

    总结下来一句话,千万别招惹文艺女青年。

  • 比特币有前途么?

    比特币(bitcoin)是一种电子货币,采用开源的 P2P (Peer to Peer) 技术,整个系
    统是分布式的,其运行不依赖于大型的中央机构(常见的货币一般需要中央银行的支
    持)。

    这篇文章包含了较详细的比特币介绍和未来分析。

    :我不懂经济学,所以没法对这篇文章的“可靠性”给出判断。


#+./Readings/ChangYan.pdf http://wenshanren.org/wp-content/uploads/2013/04/wpid-ChangYan.pdf