自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(27)
  • 收藏
  • 关注

Feeling lucky with Firefox

最近越来越多地发现经常要去一些项目的主页,这么多的主页当然记不住,然而书签也是越来越多,定位也就麻烦了。多是直接 Ctrl+K 定位到搜索栏,然后用 Google 搜索,再点第一个链接。唉,其实要是用 I’m feeling lucky 就方便多了。我知道 Firefox 的搜索引擎是可以自己定制的,于是边去网上搜索相关的资料,无意间发现了 Firefox 的 keyword 搜索功能:就是直接...

2007-09-06 13:36:30 139

Workflows of SCM

版本控制的概念从最初的手工加版本号(比如,为旧的文件加上 .orig 后缀)以及 RCS 开始,主要体现于各自本地进行版本控制。到后来 CVS 模式流行起来,出现了中央仓库的概念。而今天大行其道的分布式版本控制系统,似乎又把主角带回了各自的本地主机那里。然而于以往各自独立的主机不一样,作为各个分布式节点的主机,在相互独立的同时,又互相有紧密的联系,甚至会出现一个特别重要的节点,充当一个“伪中央仓库...

2007-09-06 06:51:24 135

Do write portable code

最近遇到两个 bug ,都是因为代码写得不具有可移植性而造成的。Javascript 本身就由于浏览器的差异有许多需要注意的地方,写代码的时候一定要万分小心,多多测试。数组常量值末尾多余的逗号Javascript 里面用类似 [1,2,3] 的方法来初始化数组是众所周知的。但是有一个地方却比较容易犯错误。特别是对于熟悉 C 语言的人来说,C 语言里面明确说明,以下这种情况里面,多余的逗号是可以...

2007-09-04 05:50:41 184

nXhtml: tame your rhtml files

I personally use Emacs as an IDE to develop rails project. Equipped with emacs-rails, it becomes a powerful IDE for rails developing.However, you may noticed, it doesn’t have full support for rhtml ...

2007-08-30 16:21:57 140

linum.el: Yet another package for Emacs to display line number

Emacs 自带的行号显示方式仅仅在 mode-line 上显示当前行号,有时候显得颇不方便。其他流行的和不流行的编辑器通常都有在左边显示行号的功能。Emacs 当然也有许多扩展来实现这个功能,比如 setnu.el(再配上 setnu+.el) 以及 wb-line-number.el 等。今天在这里又发现一个 linum.el ,它的主页在这里。其实总的来说,这几个扩展都不是特别理想,比如...

2007-08-29 15:24:25 241

Photoshop 鼠标绘图一张

每次快要出门的时候都总是按奈不住,其实我是不喜欢旅行的,因此并不是感到特别高兴,但是确实是无法静下心来做些正事了。那就休息一下好了,但不能总是睡觉,在 Energy Management 一文中说过,精力并不只是物理上的休息就能完全恢复的,虽然我一项都很喜欢睡觉的时候体验一下虚幻的梦境,但是要让情绪等各方面都得到休息,还是干点其他有趣的事情吧,改变工作就是最好的休息啊。于是我打开 Photosh...

2007-08-19 06:49:59 204

Spun down disk properly

更新内核到 2.6.22 除了前面提到的 vmnet 编译错误的问题,还在关机的时候多出来了一条警告:DISK MIGHT NOT BE SPUN DOWN PROPERLY. UPDATE SHUTDOWN UTILITYFor more info, visit http://linux-ata.org/shutdown.html这是关机的最后一条信息了,一直都没有特别注意,因为信息显示...

2007-08-16 04:15:58 369

memoize in Ruby

Common Lisp 的经典书《On Lisp》的 5.3 节叫做 Memoizing 。书中讲到了将函数调用的返回值缓存起来的一种技术。这本来是一种非常常见的技术,但是《On Lisp》让我看到了动态语言的精练之处,这样的一种技术被抽象成一个通用的函数,将任意一个函数传入 memoize ,就会得到一个经过包装的函数,并且它已经具备了缓存的能力:12345678(defun...

2007-08-14 15:28:07 123

Vmware module vmnet refused to compile under linux 2.6.22

最近升级到了 Linux 2.6.22 的内核,vmware 需要重新编译一下内核模块。不过这次并不那么顺利,安装好内核头文件以后运行 vmware-config.pl ,在编译网络模块的时候出错了。从错误来看应该是内核源代码变动造成的吧,在网上搜索了一下,发现是 Linux 内核里面对 network stack 有很大的改动造成的。并且在这里找到了一个可以下载的 patch 以及打好 patc...

2007-08-14 01:55:23 93

Ruby 里的元编程

关于元编程Wikipedia 上关于元编程的定义说元编程就是将程序作为数据进行处理。“用程序来处理程序”,这就是“元”的来源了,这本身是一个容易产生混淆的地方,就像“用语言来描述语言”一样,数学上的许多悖论就来自于此呢。幸好我们用的编程语言比自然语言要简单许多,并且都有严格的定义规范,有兴趣的人可以尝试在自己喜欢的编程语言里面构造一下 “This statement is false” 这个经典...

2007-08-12 11:51:34 237

中文问题

今天收到一封邮件,让我感到很失落。其实是一封道歉信。起因是我在邮件列表里面问了一个问题,而我的邮件用户名称是用的中文,邮件列表里面的一个用户那里无法正常显示中文(应该是字体的问题吧),当然这种乱码看上去很像病毒一类的,被自动标记为垃圾邮件了。后来他发现了这个问题,取消了垃圾邮件的标记,并发来了这封道歉信。首先我看到国内和国外对待这种小事的区别了。国内的好像多是“不拘小节”吧,而国外的人似乎都挺追...

2007-08-08 05:57:13 181

为笔记本猜测网络环境并自动配置网络

如果是笔记本电脑,经常更换网络环境的话,配置网络是比较麻烦的。其实操作也就那么几步,但是每次都要做重复工作确实很头痛,特别是在其实网络环境就那么几个的情况下(例如:寝室、实验室和图书馆)。如果每个地方都是用 DHCP 的方式自动配置网络,那自然好,但是有些地方又是需要手工配置的。不过幸好程序员都是懒惰的,于是就有了懒惰的工具(还要多谢 dlzcn 告诉我这个好用的工具!)。在 Debian 下可...

2007-07-16 03:02:03 107

Emacs 版衫设计

最近 newsmth 的 Emacs 版在征集版衫设计。我不知道这么远是不是能在那里订版衫。不过还是跟风做了一个。 图像处理工具用得也不熟。抽取 simple.el 中的代码帖了一大段到背面,我想也许会看起来 Cool 一点。如果太远了订不到的话,有机会不妨在 freecity 也做一个 Emacs 的版衫,这边也有很多人用 Emacs 的。...

2007-06-29 13:27:26 92

Drawing with computer

我自己很小就对绘画非常感兴趣,不过自从上高中之后一直到现在都很少动笔去话了。后来接触到电脑,发现这个东西也可以绘图,不过除非用那些专业的工具,否则用鼠标来画实在是不如笔来得精细。这里是我前不久用鼠标画的一幅图,相当粗糙,但是还不错。后来听说了矢量图,有一些很有趣的小图标之类的可以利用电脑精确的特性,而不是靠手来勾勒,也一直比较感兴趣,只是都没有太多的时间去关注。其实 Linux 下在设计方面也...

2007-06-17 05:12:33 125

git and subversion

Linus 在 Google 做了他对于版本控制软件的演讲。他似乎非常偏爱分布式版本控制软件,否则宁愿用 tarball+patch (其时 tarball+patch 确确实实是一种分布式的方法呢!)。以至于在 Linux 内核不能试用 BitKeeper 以后,他自己动手写了 git 。他对版本控制软件有许多要求,比如:取出来的东西要和放进去的东西一样。如果连数据的完整性都无法保证的话,谁...

2007-06-14 13:45:09 103

Yakuake + dtach vs Screen + urxvt

Yakuake + dtach vs Screen + urxvtScreen 无疑是每一个经常使用终端的用户的必备工具。它拥有许多非常实用的功能:管理会话,可以 detach 一个会话,让它在后台运行,并在其他时间/地点 attach 原来的会话。这对于经常远程登录的用户来说非常方便。登录以后,运行一些程序, Screen 会保证在你注销以后程序仍然能继续运行,并且下次登录进来可以 att...

2007-06-10 14:45:42 179

Emacs 22.1 Released!

经过一而再再而三的跳票,RMS 终于让 Emacs 22.1 Release 出来了。http://www.gnu.org/software/emacs/ 上也更新了最新的 Stable 版本的信息:Current Stable ReleaseLatest stable release: 22.1 (June 2, 2007)Emacs version 22 includes GTK+...

2007-06-02 15:31:59 132

Typical Chinese Programmer

FatMouse 在 Java 课上介绍了 Typical Chinese Programmer 的概念。我不知道这个名词从何而来,在 Google 上似乎也没有找到有用的信息。不过 FatMouse 说 Typical Chinese Programmer 是这样的一类人,他们想当然地写程序:比如,他们做出来的界面上有一堆按钮,他们假定用户会先点击“按钮一”,再点击“按钮二”然后是“按钮三”...

2007-06-01 05:12:04 155

Beagle the desktop search tool

我所了解的人当中大多数都会把自己的磁盘整理得头头是道,很少有找不到自己的文件的情况,当然我自己也是这样的。可是有些时候使用桌面搜索引擎不是找得到找不到的问题,有时候要定位一个文件确实是比较麻烦的,即使你清楚地知道它在哪里。我自己体会最深刻的就是文档 API 。看看系统自带了多少文档吧:$ ls -1 /usr/share/doc/ | wc -l14861486 项。挺吓人的数字,每次都输...

2007-05-31 11:24:01 155

不愉快的 Qt 之旅

今天尝试用 Qt 来写一个小程序,从网上抓取一些东西,并解析一下保存到本地。很简单的功能,但是却写得非常不舒服。大致看了一下 Qt 提供的库,似乎应有尽有了。一大堆 GUI Widget 可以构建丰富的界面,方便的 QHttp 可以用于下载 Web 页面,并使用 QRegExp 进行解析,还有 Qt 强大的 QTextCodec 可以在各种编码之间进行转换。并且 Qt 4 提供了 MCV 方式,...

2007-05-27 15:08:23 114

Play with macro

Lisp 的宏可谓是异常强大。我所接触过的宏大约算三种:一种是 C 语言的宏,这几乎可以算是功能最弱但又用得最多的宏了。只做非常简单的语法分析,并进行文本替换。但是实际上这种简单的宏为 C/C++ 带来了许多额外的能力,不过从来这个东西好像也没有专门的文献以及教材详细讲解,大多是经验丰富的程序员们通过源代码互相传播关于宏的知识,而且许多方面在各个不同的编译器上的结果都是不一样的,所以一直以来宏...

2007-05-25 15:15:47 147

smart-snippet and smart-skeleton

随着 Ruby on Rails 火起来,TextMate 也突然变得很火。没有 Mac 机器,不能体验到 TextMate 是什么感觉,不过在网络上看到 TextMate 的视频演示,其中有一个功能确实是很不错的。就是那个 snippet 。定义一些模板,然后在合适的时候展开,以减少输入重复的内容,这个是每个稍微强一点的编辑器都有的功能了,同一个“域”,在多处展开也是非常常见的功能。但是通常的编...

2007-05-21 12:58:26 151

引用已经析构了的局部变量

在平常的编程里面,这样的代码算是再普通不过了:void func(){    SomeType local_obj;    another_func(local_obj);    // ...}然而最近我却遇到了问题。在使用 boost::asio 的时候,使用了这种常规的做法。结果遭遇段错误。后来才意识到是在进行异步调用。 another_func 拿着 local_obj (事...

2007-05-21 08:42:51 133

原创 引用已经被析构的局部变量

在平常的编程里面,这样的代码算是再普通不过了:void func()...{    SomeType local_obj;    another_func(local_obj);    // ...}然而最近我却遇到了问题。在使用 boost::asio 的时候,使用了这种常规的做法。结果遭遇段错误。后来才意识到是在进行异步调用。 another_func 拿着 local_obj

2007-05-20 06:54:00 592

原创 全局初始化

这次和同学一起做 C++ 课的 project ,我们分成几个层次在做,我做的比较底层的东西。后来我发现在底层库可用之前我需要做一些全局的初始化。以前做 C 的 project 的时候是使用了一个 init() 函数,要求在使用之前必须调用。不过现在在 C++ 里面有构造函数可以用。于是我可以完全向上一层隐藏这个细节了。要做的就是定义一个具有私有构造函数的类,然后定义一个 const 的私有静态实

2007-05-20 06:39:00 601

翻译 Tramp 详解

什么是 TRAMP 安装 TRAMP 获取 TRAMP 安装 TRAMP 让 Emacs 使用 TRAMP 配置 TRAMP Inline Methods External Transfer Methods 指定默认方法

2006-05-06 12:30:00 1612 1

原创 试用 Emacs muse

UsingMuseblog 使用 html 语法要想简单排版又得到漂亮的结果是在是比较困难呀,还是 看看 Emacs Muse 的功能如何吧!首先到 http://www.mwolson.org/static/dist/muse-latest.tar.gz 去下载最 新版本的 muse 。然后解压缩并编译:$ tar xzf muse-3.02.6b.tar.gz$ make把

2006-05-06 09:48:00 1377

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除