Posted on 24-06-2010
Filed Under (技术) by waterlin

最近一直在做 Windows Mobile 的移动开发,重装系统后,用 Visual Studio 2005 死活没有办法新建工程。

仔细地找了找答案,原来需要打上 Visual Studio 2005 SP1 的补丁才行!

另外,做 M8 的开发,也需要用上 Visual Studio 2005 SP1 才行,否则连 Samples 都编译不过。

(0) Comments    Read More   
Posted on 24-06-2010
Filed Under (技术) by waterlin

在我的 Windows 系统下,用 Gpg4Win 来作为 Emacs EasyPG 文件加密解密的工具,可是每次用 EasyPG 打开加密的文件时,都会弹出一个对话框来让我输 Key。

弹出对话框来倒也无所谓,很要命的是,在这个对话框里,没有办法输入 Key。每每要用加密文件的关键时刻,我都不知所措,想尽办法重启电脑之类的来解决该问题。

今天一怒之下,改用 Cygwin 里的 GnuPG 了,现在 EasyPG 的表现和 Linux 下终于一样了,在 MiniBuffer 里输 Key 即可。

有人知道这是什么问题吗?是我哪里配置得有问题吗?

(1) Comment    Read More   
Posted on 08-06-2010
Filed Under (技术) by waterlin

我之前是用 SVN 来在多台电脑间同步 Emacs 配置文件,主要是担心 Dropbox 不安全,导致文件随便就删掉了。没办法,Dropbox 的操作太便捷了。

现在发现,其实可以把 SVN 的文件也一起用 Dropbox 同步,这样就可以在任意一台电脑上同步所有文件在 SVN 里的状态,也可以同步 Gnus 使用的大量变化快速、不方便用 SVN 同步的文件。

不过我很害怕,不小心把 Dropbox 里的文件一下子全删掉了,Dropbox 虽然有文件恢复功能,不过我还是用 SVN 一起来同步比较保险。

哈,好吧,我承认,到目前为止,Dropbox 完胜了!

(5) Comments    Read More   
Posted on 08-06-2010
Filed Under (技术) by waterlin

Linux 下可以很方便地使用 EasyPG 来对文本文件进行加密,最近工作迁移到了 Windows 下,所以,有些东西也得在 Windows 下配起来。

要在 Windows 下使用 EasyPG,装一个 GPG4Win 就基本上可以替换 Linux 下的 GnuPG 了。

安装成功后,会自动在系统的 PATH 里添加一个执行路径,默认安装的情况下路径是

c:/Program Files/GNU/GnuPG/pub

当然,你也可以在 .emacs 里指定 GPG 的可执行文件路径,类似下面的代码就可以(声明:这个代码是我抄 chunhui 的,我没仔细测试,有问题找他!):

(custom-set-variables
  '(epa-file-name-regexp "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
  '(epg-gpg-program "c:/Program Files/GNU/GnuPG/pub/gpg2.exe"))

如果提示如下错误,肯定是你的 GnuPG 安装或配置得有问题,从而导致 Emacs 不知道如何去读取该文件:

File exists, but cannot be read

感谢水木社区 chunhui 的代码与帮助。

(1) Comment    Read More   
Posted on 25-05-2010
Filed Under (已报) by waterlin

终于有点受不了”细节之锤”这个酸得要掉牙的名称了,太严肃、太做作了,虽然和我写的内容相符,但是跟我的性格一点都不匹配。

本来还想抱着”细节决定成败”的理念,好好做一做技术方面的笔记,结果发现,这里真成了自己的烂笔头了。啥东西,都是一股脑扔进来!

现在改成一个俗不可耐的名称”浏忙大爆炸”,一来符合乱的本性,二来好歹让别人知道浏忙是啥意思嘛!至于大爆炸呢,可以参看四个土摩托和一个美女的故事~~

(4) Comments    Read More   
Posted on 22-05-2010
Filed Under (技术) by waterlin

如果你有 Windows,Linux 等多台机器,你可能要试着在多台机器间同步你的 Emacs 配置文件,这样才用得爽嘛!我就是这样,采用下面的步骤就可以实现此目的:

1) 尽量把与本地路径相关的东西放到 .emacs 文件,而把其它通用的内容放到其它 el 文件里

我用 svn 管理我的 Emacs 配置文件,扩展的 el 文件我也保存到 SVN 里面,这样,随便到哪台机器上只要把配置文件 check out 出来,就可以使用了。

当然,在不同的机器上,会面临字体、文件路径等问题,这时,需要根据各台机器的实际情况,单独配置一下。

可以用 (system-type) 来识别当前机器的操作系统版本,同样,你也可以根据更多的属性,如用户名等来判断配置文件应该设置哪些参数。

如果对于多台同样类型的机器,你也可以根据 (system-name) 来判断一下你的 Emacs 所在路径。

这两种方法性质类似,完全可以根据自己的属性灵活选用这两种识别机器的方法。

当要在 Window 或是 Linux 机器上识别、配置不同的代码的时,可以参考下面的例子代码:

;;如果是 Windows 平台,则进行如下设置
(if (eq system-type 'windows-nt)
            ;;current system is Windows, do some specific setting for Windows
            ;;(message "Current system is Windows")
            ;;use Cygwin as bash
            (let* ((cygwin-root "d:/cygwin")
            (cygwin-bin (concat cygwin-root "/bin")))

            ;;根据不同的 Windows 系统设置不同的路径
            ;;设置公司电脑的路径
            (if (string-match (system-name) "SCUT-9C14ED3B4C")
                (setenv "HOME" (concat cygwin-root "/home/water")))
            ;;设置家里电脑的路径
            (if (string-match (system-name) "32283744FF164E6")
                (setenv "HOME" (concat cygwin-root "/home/water/water")))

            (setenv "PATH" (concat cygwin-bin ";" (getenv "PATH")))
            (setq exec-path (cons cygwin-bin exec-path)))
            (setq shell-file-name "bash")
            (setq explicit-shell-file-name "bash")

            ;;else current system is Linux, do some specific setting for Linux
            (if (or (eq system-type 'cygwin)
                    (eq system-type 'gnu/linux)
                    (eq system-type 'linux))
                         (message "Current system is Linux, please do some specific setting here")))

如果要专门针对某一类型的系统设置字体等,就可以参考下面的代码来设置:

;; font set
(if (or (eq system-type 'cygwin)
        (eq system-type 'gnu/linux)
        (eq system-type 'linux))
                 (set-default-font "Courier 10 Pitch-12")
                 (set-default-font "Courier New-14"))

如果专项设置的代码量比较大,还可以把不同平台的代码分成几个文件,导入不同的文件即可。

2) 选择需要同步的文件

并不是所有的配置文件都需要同步,我也不赞同一股脑地把所有的文件同步,有一些配置文件完全可以根据平台的需要选择不同步。

像我的习惯就是 .ido.last, .recentf, .emacs.desktop 这些文件就不同步了。

因为家里的电脑和公司的电脑,干的事情基本上是不同的,没有必要搅成一堆,这样也不容易产生冲突。再一个,回家了,就不干公家的事情了嘛!

3) 文件远程同步软件或工具

至于文件同步工具,水木社区 Emacs 版上有人推荐的,用 ProjectLockerDropBox 都不错,前者是免费 SVN 服务器,后者也是一个免费的文件同步工具。同样,还有一些其它的同步软件也可以试用。

通过以上三个步骤仔细设置,就可以一劳永逸地在多台电脑间同步 Emacs 工作环境,同步 org,muse 等文件了。

感谢水木社区 Emacs 版的 ahei0802,swdonline,Madsen 等兄弟们的经验分享。

(3) Comments    Read More   
Posted on 19-05-2010
Filed Under (软件) by waterlin

最近工作很忙,天天趴在电脑前写呀写呀的,搞得眼睛很疲劳。

其实嘛,工作再忙,也得定时让自己休息。不过一忙起来,就容易忘记休息。人都是有惰性的,非得有外力强迫休息一下不可!

Workrave 可以作为一个视力保护程序,定时提醒您该休息了,功能和 Windows 下的 EyeDefender 类似。

(0) Comments    Read More   
Posted on 19-05-2010
Filed Under (软件) by waterlin

通过 Gmail 来打交道的人有中国人也有外国人,因此需要针对外国人制定一份英文的签名档,针对中国人制定一份中文的签名档。只有这样才礼貌嘛!

要实现这个功能很简单:如果是在 Firefox 里,则可以使用 WiseStamp 这个插件,如果是在 Chrome 里,则可以使用 Autopen 这个插件。

(0) Comments    Read More   
Posted on 14-05-2010
Filed Under (生活) by waterlin

平时虽然有带纸和笔在身上,可是在地铁和公交上想到事情时,往往都没办法拿出来记。

我的手机功能比较弱,没有办法直接使用 Remember The Milk 的服务,而单独写成备忘录之类的又太零散了,不便于集中管理。手机太渣,访问其它记事本功能的站点,基本上也用不了,只剩下电子邮箱这种办法了。

以前我都是给自己发个邮件了事,但是依然需要手动把这个 Todo 事情从邮件里贴到 Remember The Milk 上。今天发现,Remember The Milk 提供发邮件写 Todo 的功能,一切问题迎刃而解了!

在设置页面里找到 Remember The Milk 给你提供的邮件地址,往这个地址发送内容即可更新 Todo 列表,邮件的标题成了 Todo 的记录,内容成了该 Todo 记录的备注内容。当然,还可以有更复杂的标记功能,需要的话,可以使用。

下次想到事情的时候,只要拿出手机登上139的邮箱,发个邮件就好了,并且也能在电脑前查看了。之所以用 139 邮箱,是因为这个邮箱基本上是我手机不用重新登陆就可以访问的唯一一个邮箱了。

看,穷人也有穷人的法子!

(0) Comments    Read More   
Posted on 29-04-2010
Filed Under (技术) by waterlin

需要测试某台机器的某个端口是否能用,从而可以使用相关的服务,可以用

telnet ip port

这种形式的命令来测试。

清屏后光标一闪一闪说明服务器该端口可连接。

(2) Comments    Read More