CatCoding

当前 20,共 26 页

读 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 ......

Ruby Robot AI

最近看到一个RRobot,这是一个用 Ruby 来实现的坦克对战平台。感觉挺好玩的,周三在公司也顺带和同事分享了一下。有时间的同学可以尝试尝试,用 Ruby 来写坦克的 AI。另外这个不到 1000 行的程序也比较好读,这种 Robot AI 平台以前也有 C++/Java 版本的,不过都要比这个实 ......

Ruby's Block and Proc

Callable objects 在 Ruby 当中一切都是对象,但是有一个例外,那就是 block。Block 和 Proc 类似,但是还是有稍有差别的,Block 更常用一些。最近在看《Metaprogramming Ruby》,在这节中有个例子是这样的。 require 'highli ......

丽江印象

上周我们公司一行九个人去丽江开会、游玩了四天。我去之前心里还没什么期望的,不过在那边待了一段时间后对丽江的印象还是挺好的。 其实像这种古镇以前也逛过不少,成都的和江浙一带的都去过,大多商业化比较严重。不过丽江的古镇确实是我见过的最大的,虽然说也是商业化,还是存在不少原生态的东西。我们去的时间也刚好还 ......