CatCoding

当前 20,共 27 页

一些包管理命令

包管理器是 Linux 上一个经常用的东西,我觉得下面这几个命令是非常有用的,便于查询包的状态,或者搜索我该安装哪些包。 apt-cache 用来根据名字查询软件包,比如 apt-cache search vim 查询 vim 相关的。 apt-file 用来根据某个文件查询软件包,这在编译程序的时 ......

巧妙的 XOR Link List

XOR Link List,只用一个附加的变量来实现双向链表。首先 xor 本身是个稍微有点难理解的操作。xor 有下面的一些特性: A ^ 0 = A A ^ A = 0 A ^ B = B ^ A (A ^ B) ^ A = B (B ^ A) ^ B = A 注意最后两条,这是 XOR Lin ......

Jekyll 使用 MathJax 来显示数学式

使用 Jekyll 写作文章的时候有可能需要内嵌一些数学公式,MathJax就是用来干这个的,试用了一下感觉非常方便。步骤如下: 修改 html 头部。 在每个页面开头加上这么一句,在 Jekyll 下可以通过修改 default.html 加上。 <script type=" ......

读 bootstrap scheme

For a List in Lisp, Car is the First, Cdr is the Rest, and Lisp means List-Proccessing. 前段时间偶然在网上看到这个bootstrap scheme 这个开源程序,读来简洁明了,十分有趣。我对 scheme 有一 ......

Emacs 会说话

出来工作之前我从来没认真考虑过我的英语口语问题,大学时候的四级口语考试 C 级也没让我意识到自己的发音比较烂。学了好多年哑巴英语,又因为本人生性有点害羞经常不好意思开口说英语,悲剧早就注定。其实我的英语阅读能力还是可以的,不过工作之后同事们都嘲笑我口语听起来像印度人,据说发音极其古怪。 在 Mac ......

迟到的 POJ 500

我发现自己有了很重的拖延症,一个表现就是在 2011 年 3 月定下的目标POJ 500最近才完成。 这一页 500 道题耗费了我很多时间和精力,同样也带给了我很多知识和乐趣。 当然工作后毕竟还是没有学校的时间充足了,现在还花时间来做题似乎显得很悠闲,这 500 题最后十个是在元旦的几天假期里完成的 ......

获取挂掉程序的栈信息

在程序挂掉的时候最好还是留点有用的遗言,特别是对于一些比较难重现的 Bug,也许这些信息会成为解决问题的关键。 下面这个技巧可以让程挂掉的时候打印出来栈信息。这个办法来自这里, 我觉得把 SIGABRT、SIGBUS 信号加进去也挺好的,在此做了点修改。曾经尝也试过 glibc 的 backtrac ......

Browser objs and class hierarchy in Ruby

Ruby 里一切都是对象,如何能看到 Ruby 内建的对象模型呢。这里有个小程序来查看 Ruby 内部构建好的的对象和类。ObjectSpace 可以迭代所有对象。 set = Set.new() ObjectSpace.each_object do |x| set.ad ......

Clang is Making Emacs Smarter

在 Emacs 下自动补全总是个问题,对于同一个 buffer 内的基于 symbol 补全 auto-complete-mode 做得非常好了,但是因为没有进行代码的分析,所以像结构体的成员变量或者类的成员函数的补全是不可能的。当然你可能试过这个号称最智能的GCCSence,但是我觉得这个东西够复 ......

Have a try on Ninja

什么是 Ninja 在 Unix/Linux 下通常使用 Makefile 来控制代码的编译,但是 Makefile 对于比较大的项目有时候会比较慢,看看上面那副漫画,代码在编译都变成了程序员放松的借口了。所以这个 Google 的程序员在开发 Chrome 的时候因为忍受不了 Makefile ......