最近公司中层领导调整,我们部门原领导安排到别的部门去任职,换来了一个同样优秀的新领导。
原领导送我们每人一个U盘,Kingston 16G的U盘,真不错。估计市价二百多吧。

就是这个样子的,还不错
部门发了个新 U 盘
我的 Emacs 配置文件
这里只是记录我用的 Emacs 的配置文件
(setq inhibit-startup-message t)
(add-to-list 'load-path "~/.emacs.d/elisp/color-theme")
(require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(color-theme-arjen)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "black" :foreground "White" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 91 :width normal :foundry "bitstream" :family "Courier 10 Pitch")))))
(setq display-time-day-and-date t)
(setq display-time-24hr-format t)
(display-time-mode)
(show-paren-mode t)
(tool-bar-mode -1)
(setq scroll-margin 3 scroll-conservatively 10000)
(add-to-list 'load-path "~/.emacs.d/elisp")
(require 'mmm-mode)
(setq mmm-global-mode 'maybe)
;(mmm-add-mode-ext-class nil "\\.php\\'" 'html-php)
;(mmm-add-classes
; '((html-php
; :submode php-mode
; :front "<\\?\\(php\\)?"
; :back "\\?>"
; )))
(load "php-mode")
(add-to-list 'auto-mode-alist
'("\\.php[34]?\\'\\|]].phtml\\'" . php-mode))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t))
(setq frame-title-format "emacs@%b")Mozilla Thunderbird 与 Windows Mobile 之间的同步
Windows Mobile 最好的同步对象还是 Microsoft Outlook,如果要是想让 Thunderbird 和 WM 之间进行同步,还是有一些麻烦。我在网上找了找,有这么三个软件可以用。
1.BirdieSync
这个软件是个商业软件,在网上使用过的人的经验来看,这应该是最好用的了,价格是 19.95 欧元。
我没购买这个软件的意向,所以也就没有详细地试用。
这个软件的网址是:http://www.birdiesync.com/,有兴趣的朋友可以去试试,试用版提供了21天的全功能试用。来自http://osnaile.osdn.cn/
2.FinchSync
我现在用的是这个软件,免费软件。
这个软件是由 PC 端和 PPC 端组成。
PC端,是用纯 JAVA 写成的,需要 JRE 1.4.2 及以上版本,PPC 端是用 .net framework 写的,在 PPC2002 和 Windows Mobile 2003 及以上的系统都可以使用。
首先下载 PC 端程序,是一个 JAR 的程序包,运行就可以了,然后开始设置。
这是启动程序后的界面:

上面有三个标签页:
Activity:显示当前正在活动的同步任务
Sync Source:同步源的设置
Clients:客户端的设置
先配置整体的服务,在File 菜单里的 Server Configuration,显示如下:来自http://osnaile.osdn.cn/

设置好要使用的端口就可以了。
Sync Source 设置:

这上面显示了我的设置好的一条同步源,要加入新的源,点击“Add”按钮:

写好名字,这个名字只支持字母和数字,用中文不成,点“Next”

源下拉选择要同步的内容,我这里写的是 Mozilla/Thunderbird/Netscape Address Book
然后“Browser”选择联系人所使用的文件,一般是 mab 后缀的。
接着设置 Clients:

同样,这是我一个设置好的客户端,增加新的点“Add”来自http://osnaile.osdn.cn/

在 Name 里写上PPC 的名字,可以随便写
设置好密码,然后再点“Add”来加入刚刚设置的源

这里的下拉就是刚刚在“Sync Source”里设置同步源的名称,选择后,就可以了。
PC 端的设置就这些,然后再设置一下 PPC 端的程序。
PPC 端是一个 CAB 的安装包,复制到 PPC 里安装好,运行后界面:

如果是第一次运行,那界面中的下拉里是没有任何项目的,要先进行配置。
运行“Config”菜单中的“Server”,显示出可用的同步源,第一次设置是什么的没有的,要先“Add”

点“Add”后,出现界面:来自http://osnaile.osdn.cn/

输入 PC 端的 IP 地址,在 PC 端的主界面下的状态栏里就有显示。
Login 和 Password 就是刚刚在 PC 端的 Clients 里设置的,都写好后,先测试一下,点“Test” :

点一下“connect”,如果设置正确,就会列出这个同步源都有什么项目:

Type为 “C”,是表示 Contact,后面的 X 可不是“不可能”,是“选中”的意思。
好了,现在就可以回到主界面上,点“Sync it” 了。
这样 Thunderbird 里的联系就可以同步到 PPC 里了。
注意,我在网上看到有很多人说不能正确运行,我很幸运,这个软件在我这里可以使用。来自http://osnaile.osdn.cn/
3.Funambol Mozilla Sync Client
这个软件是个开源软件,我粗略地看了一下,是由? Client -> Server -> Client 来实现同步的。
就是说,你可以先把 Thunderbird 里的联系人、任务、日历等信息同步到他的网站上,然后再到 PPC 里去同步这个网站,来达到同步的效果。
如果你不想用他的网站,也可以下载 Funambol Server,自己架设一个小的服务端,有 Windows 和 Linux 两个版本的选择。
然后再分别安装 Thunderbird 和 PPC 的插件,就可以使用了。
我觉得有些复杂,就没有使用。来自http://osnaile.osdn.cn/
安装 Windows 7 RC 版的折腾过程
2009 年5月5日,微软真是按时发布了 Windows 7 RC 版,随时早在上个月就有了泄漏版的 7100 发布出来,我还是等到了微软官方发布。经过公司网络漫长的下载,历时一整天,终于把 Windows 7 RC 和 Windows Server 2008 R2 RC 下载下来了,然后就开装。
在台式机上安装 Windows 7 RC:先把 ISO 文件刻到 DVD 光盘上,然后光盘启动,本以为会很正常的进入安装界面,没想到,出现一个“CDBOOT: Cannot boot from CD – Code: 5”的错误提示。
以前没见过这个提示,第一反应就是光盘刻坏了,有文件没刻正确,进入原来的系统,打开 VirtualBox,建一个新的虚拟机,挂上光盘,启动,恩,正确启动了。
那光盘是没问题的,光驱不行了?关机,拆光驱,又翻出了一个好的光驱插上,启动,问题依旧,莫非这个光驱还是坏的?把边上的另一个电脑打开,用光盘启动,没问题,能正常进入安装界面,那另一电脑上的光驱肯定是好的了,为了确定我这光驱是不是有问题,我把刚才的两个光驱插到了这个电脑上,再启动,正常。怪了。
把那好的光驱插到我的电脑上,启动,还是不行。那就是主板了,主板不支持?不会吧,以前装系统都没问题,装Vista也没有遇到问题。看了一个 BIOS 版本,1.0 版,我的主板是 MSI 的 865PE Neo2-S(MS-6728),可能是 BIOS 不支持吧,到 MSI 的官网上看看,恩,BIOS 已经出到了 2.5 了,看来我落伍了,升级吧。
升级有两种方法,一个是下载升级文件,一个是在线升级。先下载下来升级文件,要求做DOS启动盘启动,我这电脑连软驱都没有,还启动盘呢,那就在线升级吧。下载了在线升级的程序,安装好后,运行,找到了更新文件,点下载,之后安装,安装过程中有安装方式的选择,一是WINDOWS安装,二是制作启动盘,我崩溃,WINDOWS安装的选项灰掉了,只能制作启动盘。木办法,再翻箱倒柜,找到了一个米苏米的软驱,真好,还找到了三张软盘,我估计上次摸到软盘还是大学时候吧。插到主板上,好了,系统正常看到软驱,软驱也正常能读了。下面就是制作启动盘了,接着,WINDOWS说了,“不能格式化软盘”,完,不知道是软驱问题还是软盘问题,来来回回试了好几次,三张软盘也算是彻底报废了。
怎么办呢,这难不倒我,不就是启动嘛,跟同事借来GHOST 的盘,我记得里面有DOS工具箱什么的,启动,先进PE,看看那个在线升级行不行,万一是在线升级只支持XP不支持Vista呢。试过知道了,不行。老老实实启动 DOS 工具箱吧,启动 DOS 了,可怎么运行升级程序呢,看了一眼,发现可以挂 U 盘,爽,把程序复制到 U 盘上,挂,成了,运行,升级,齐活,BIOS 更新了。
好了,最新版的 BIOS 了,再启动一下 Windows 7 RC 安装盘,再次吐血,升 BIOS 不起作用。
看来只好让我出绝招了,WINDOWS 安装中间会有一次重启,好,那我就在那个刚刚能正常启动的电脑上挂上我的硬盘,再安装,安装到第一次重启,关机,把硬盘再插到我的电脑上,继续安装,哈哈哈,我还从没有这么安装过系统呢。
后续就是正常安装了,现在系统运行没有任何问题,看来我的电脑以后再装 Windows 7 正式版的时候,也要这么折腾一下了。
压缩 VirtualBox 的 VDI 文件
用 Sun VirtualBox 软件虚拟出来的硬盘文件是 VDI 文件,这个文件会随着使用而变大,因为磁盘碎片的产生,这个文件里也有很多的没用的空闲空间,为了节省空间,就需要对 VDI 文件进行压缩。
压缩分三步,1.在虚拟系统中进行碎片整理;2.在虚拟系统中把空闲空间标记为 0;3.在宿主系统中收缩 VDI 文件。
第一步,碎片整理可以用系统自带的,也可以使用第三方软件。
第二步,使用 “sdelete” 把空闲空间标记为 0,下载地址:http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx
命令:sdelete.exe -c c:
第三步,收缩
收缩有两个办法,一个是使用 VirtualBox 自带的 VBoxManage.exe,命令格式是:
VBoxManage modifyhd VDI文件名 compact
不过,我在使用这个命令时出错了,错误信息是:“Shrink hard disk operation is not implemented!”(貌似之后的版本可以用了,2010.08.09更新)
我在网上也查了这个错误,有不少人也遇到了同样的问题。
有高人写了一段小代码,实现了这个功能,PackVDI,下载地址:http://jerome.hode.free.fr/opensource/PackVDI.zip
执行 PackVDI 文件名即可。
注:本文内容在主机为 Windows 和 ubuntu 10.04 环境下测试过,VirtualBox 版本:3.2.8
x64与五笔
换了 Windows Server 2008 R2 Beta 后,装上了从 OFFICE2000 时代就一直用的微软提供的王码五笔型,用了几天没有发现什么问题。今天在用的时候,终于发现问题了。正好今天是除夕,想用飞信给朋友们发短信,打开发消息的窗口,再打开输入法,切换到五笔型,就是打不出汉字来,都是英文字母,再一看,原来微软在 OFFICE2000里带的是 32位版的五笔,飞信装好后,是 64 位程序,五笔就打不开了,换用微软拼音吧,不行,打字太累,还要去想拼音怎么拼,太麻烦,就上网搜了几款五笔输入法。
看了几个介绍,有“海峰五笔”和“小鸭五笔”都说支持 64 位系统。
我先安装了海峰五笔,因为在海峰五笔的官方网站说介绍说,使用传统的 IME 方式,和王码五笔型长得最像,我就安装了,在飞信中使用正常,我再到 firefox 里输入,结果导致了 firefox 的崩溃,试了几次,海峰五笔和传统的 32 位程序不太兼容。
我再试了小鸭五笔,装完后,输入法的界面和微软拼音类似,不像什么搜狗的,还自己弄一个输入的界面,看着就很累赘的样子。分别在 32 位的 firefox 和 64 位的 IE 里试验,都很完美的能输入汉字。
再设置上常用的打开输入法的快捷键,就更完美了。
Microsoft.Jet.OLEDB.4.0 与 x64
我在新安装好的 Windows Server 2008 R2 Beta 中,运行我的一个程序,就出现了错误信息,打开源代码,进行调试
发现错误是:“The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine.”
随后,到百度上查,因为百度上查的基本上都是中文的信息,英文怕看不懂嘛,可什么都没查到
再到 GOOGLE 上查,还是 GOOGLE 好,一查就查到了,有很多人都有这个问题,是因为 Microsoft.Jet.OLEDB.4.0 不再支持 64 位系统。
同时,也看到了解决方案,就是把程序的目标平台设置成“x86”就可以了。
在项目的属性中,把“生成”中的“目标平台”从“Any CPU”改成“x86”,再重新编译就可以了。

OleDbConnection.GetOleDbSchemaTable
在 .NET Framework 2.0 中,要得到表结构的定义,不能简单的用 DataTable.Columns[col].DataType 来获取,有很多信息是无法得到的,要用OleDbConnection.GetOleDbSchemaTable 这个方法。
在 MSDN 中是这么定义的:
public DataTable GetOleDbSchemaTable( Guid schema, Object[] restrictions )
参数:
schema
类型:System.Guid
OleDbSchemaGuid 的值之一,它指定要返回的架构表。restrictions
类型:array[]()[]
限制值的 Object 数组。这些值按照限制列的顺序来应用。即,第一个限制值应用于第一个限制列,第二个限制值应用于第二个限制列,依此类推。返回值
类型:System.Data..::.DataTable
一个包含所请求的架构信息的 DataTable。
我要得到一个表的结构,可以这样:
DataTable dtSchema = db.GetOleDbSchemaTable( OleDbSchemaGuid.Columns, new object[] { null, null, TableName, null });
返回的 dtSchema 的列分别是:
0: TABLE_CATALOG
1: TABLE_SCHEMA
2: TABLE_NAME
3: COLUMN_NAME
4: COLUMN_GUID
5: COLUMN_PROPID
6: ORDINAL_POSITION
7: ORDINAL_HASDEFAULT
8: ORDINAL_DEFAULT
9: ORDINAL_FLAGS
10: IS_NULLABLE
11: DATA_TYPE
12: TYPE_GUID
13: CHARACTER_MAXIMUM_LENGTH
14: CHARACTER_OCTET_LENGTH
15: NUMERIC_PRECISION
16: NUMERIC_SCALE
17: DATETIME_PRECISION
18: CHARACTER_SET_CATALOG
19: CHARACTER_SET_SCHEMA
20: CHARACTER_SET_NAME
21: COLLATION_CATALOG
22: COLLATION_SCHEMA
23: COLLATION_NAME
24: DOMAIN_CATALOG
25: DOMAIN_SCHEMA
26: DOMAIN_NAME
27: DOMAIN_DESCRIPTION
Vista 下 Jeyo Mobile Extender 2.5 不能连接的问题
当在 Windows Vista 中成功安装好 Jeyo Mobile Extender 2.5 后,会发现不能连接到 PPC 上,也就不能同步手机中的短信。这主要是由于 Windows 的防火墙引起的。
解决方法是停止连接到手机的那个网络连接上的防火墙。
- 打开“控制面板”中的“网络和共享中心”
- 点击“管理网络连接”的链接
- 找到连接 Windows Mobile 的网络连接,这个网络连接一般标记为“Microsoft Windows Mobile Remote Adapter”,名字一般为“本地连接X”。
- 回到“控制面板”,打开“Windows 防火墙”,点击“允许程序通过 Windows 防火墙”链接。
- 点击“高级”页。
- 把刚刚查到的那个“本地连接X”前面的勾去掉
- 点击“确定”
现在 Jeyo Mobile Extender 就可以自动连接到 PPC 上了。
ThinkPad的一些软件与UAC
我的本本是 ThinkPad T61,装 WINDOWS SERVER 2008 有一段时间了,这段时间里,本本的驱动都很好的装上了,就是一些应用软件,如电源管理、Access Connection这些,安装后总是报错,不能正常运行。因为也没有什么大的影响,就一直没有理会。
前几天无聊,翻控制面板里看,在“用户帐户”里,看到了关闭UAC的选项,虽然在 WINDOWS SERVER 2008 里的 UAC 没有 VISTA 里的那么烦人,不过我最后还是决定给关掉了。
今天又闲下来了,想想 UAC 已经关掉了,那把 ThinkPad 的一些应用程序装一装,看看能不能正常,就试着运行 ThinkVantage 的 System Update,装好了电源管理和 Access Connection,这次好了,可以正常运行了,看着电池的显示条在任务栏上正确的显示,爽哟
