需要免费的相机 RAW 处理和批量转换软件?

May 9th, 2009

不知道大家是否需要,反正自从开始用数码相机后,我就有一大堆的 raw 格式需要处理并批量转换成 jpg,Mac OS X 下倒可以用 iPhoto,只是把照片输入到 iPhoto 的图库需要不少时间, Windows 和 Ubuntu 呢?

好,Ubuntu 下可以用 Rawstudio,可以使用 sudo apt-get install rawstudio 在命令行下直接安装,或者在 GNOME 界面下使用新立得软件包管理器,搜索 rawstudio 并安装即可。安装后的 Rawstudio 可以在应用程序->图形中找到,运行 Rawstudio,在顶端菜单条选 File -> Open Directory, 选择 raw 格式照片所在目录,程序会自动导入该目录下所有的 raw 格式文件,然后选 Batch -> Add current view to queue,再到右下角工具箱点 Batch 选项卡,设置 Output Directory 和 Filename template 后,点击 Start 即可。

Windows 下则可以选择 Stepok’s Raw Importer,理由很简单,免费软件,很小,支持批量导入和导出,向导式界面更加容易上手。

别告诉我你的电脑上装了 PhotoShop、Lightroom ⋯⋯

Outlook 和 SharePoint Services 的联系人同步问题

April 7th, 2009

从一开始接触 SharePoint Services 开始,就觉得是一个非常好的文档和联系人的共享平台。但是在实际使用过程中,我却发现作为很重要的联系人同步功能,在 Outlook 和 SharePoint Services 的不同版本之前存在兼容性问题,值得引起我们的注意。

Outlook 2003 和 WSS 3.0 无法双向同步,而只能是 Outlook 2003 可以从 WSS 3.0 上下载一个只读的联系人列表副本到本地,并且在拥有信任连接的情况下可以自动更新,但 Office Outlook 2003 的联系人却不能上传到 WSS 3.0。

而另一方面,Outlook 2003 和 WSS 2.0 可以进行联系人的双向同步,而 Office Outlook 2007 和 WSS 3.0 也可以。在实际应用中,就需要选择合适的搭配,避免因为版本兼容性问题造成麻烦。

在 Puppy Linux 中设置全局代理服务器变量

June 3rd, 2008

以前用过一段时间的 Puppy Linux,给我的感觉是一个超便携的 Linux 系统,非常适合放在 U 盘上随时携带。

前两天朋友问我,在单位是通过代理服务器连接互联网的,Puppy 使用的 JWM 不像 Gnome 一样有专门的地方设置网络代理,难道只能在应用程序如 Pidgin、Seamonkey 中单独进行设置吗?岂不是很麻烦?

查了资料,原来可以在 /etc/profile.local 中设置系统变量:

export http_proxy=http://your.company.com:port
export https_proxy=http://your.company.com:port

Puppy 真的是一个很可爱的操作系统,目前唯一的问题是不支持中文,不过对于开源的世界,这应该会很快解决。

在 Linux 系统上运行 Internet Explorer

May 26th, 2008

越来越喜欢 Linux,越来越喜欢 Ubuntu,但是有一个问题始终困扰我,就是那些只能在 IE 下正常工作的网站,而且偏偏还是一些经常需要使用的网站,比如工商银行的个人网上银行,比如淘宝网要用到的支付宝。

早就听说过 Wine,知道在 Linux 上运行 Windows 应用程序的可能,于是决定实际测试一下,看看能不能解决这些 IE-only 的网站使用问题。

好了,先安装 Wine,到 WineHQ 的下载页面,选择你使用的 Linux 发行版,按照提示操作。

然后我们要安装的是 ies4linux :一个用于在 Wine 上的安装 Internet Explorer 和相关文件,并自动完成设置的脚本,最新的版本可安装 Internet Explorer 7.0!

ies4linux 的主页,同样选择对应的 Linux 发行版,按照提示操作,由于已经安装了 Wine,只需进行余下的步骤:安装 cabextract,然后下载并安装 ies4linux。

好了,启动你熟悉的 IE 吧。

Wubi, Lubi 和 Mubi

May 22nd, 2008

恩,我还是那么后知后觉,不得不承认。

早上吃饭的时候,还跟同事大侃几个月前如何在一台没有光驱和软驱、没有任何系统的老笔记本上,通过 PXE boot 安装 Xubuntu 的经历,进而感慨在没有光驱的环境里,安装系统是多么的不方便。

结果中午的时候,拿着刚下载完的 Ubuntu 8.04 ISO 镜像(家里的 Ubuntu 8.04 是通过 7.10 在线升级的),打算再仔细研究研究无光驱安装的问题。在网上搜来搜去,只看到了利用 Grub for DOS、Linux 启动文件和 Ubuntu ISO 的方法,读完之后觉得还是有些麻烦,用中午休息时间来测试看来是不够了。

无聊之中,用 DAEMON Tools 打开了 Ubuntu 8.04 的 ISO 镜像,鬼使神差的打开了自动播放(我基本不用这个功能),赫然看见了“Install Ubuntu Inside Windows” 的选项,终于让我发现了这个叫做 Wubi ( Ubuntu Installer for Windows )的小家伙。

还不敢贸然行事,开始查找 Wubi 的资料。原来,通过 Wubi,你可以像安装一个普通应用程序那样在 Windows 界面下安装 Ubuntu,无需刻录光盘,无需准备分区,Wubi 会把 Ubuntu 安装在虚拟磁盘文件 ( Virtual Disk File ) 中,于是在 Windows 下,它就是一个文件 ( c:\ubuntu\disks\root.disk ),但在 Linux 系统看来则是一个磁盘。然后 Wubi 会修改 Windows 的启动菜单,加入 Ubuntu 的启动选项,安装就完成了。整个安装过程只需在开始时输入要在 Ubuntu 下创建的用户名和密码,再也不用其他干预,非常简单而且快速。

更为方便的是,卸载 Ubuntu 也只需像卸载普通 Windows 应用程序一样,通过控制面板即可完成。

Wubi 早在 Ubuntu 7.04 和 7.10 版时,就作为开源项目独立提供,8.04 版更是获得了 Ubuntu 的官方支持,并被放入 Ubuntu 的安装光盘中,所以才有了我开头的一幕。

Wubi 支持 Windows 98 / 2000 / XP / Vista,而更令我惊喜的是,还有用于 Linux 系统的 Lubi,和用于 Mac OS 的 Mbui ( 开发中) ! Ubuntu 的这种无障碍体验方式,也许就是开源软件的真正优势吧。

对了,如果一定要问有什么不足的话,根据官方的资料,一是休眠在 Wubi 下无法使用;二是因为是用文件虚拟磁盘,对于突然断电比较脆弱,请尽量避免。

通过代理服务器使用 gem install 安装包

May 20th, 2008

这几天又开始捣鼓上了 Ruby on Rails,起因很简单,虽然早就知道了 RoR 的大名,但刚刚得到了一本 Agile Web Development with Rails,并且决定仔细阅读 ( 不好意思,本人书很多,但是读过的很少…… 我一定改正!)

谁知刚开始安装 Rails 就遇到了问题,不论在 Windows 系统还是 Linux 系统下,都是通过 RubyGems 来安装 Rails 和其他包,本来使用 gem install rails –include-dependencies 即可轻松搞定。但我的办公室是通过代理服务器上网的,直接执行 gem install rails 就会得到一个连接超时的错误,怎样才能告诉 RubyGems 使用代理服务器呢?

没关系,可以通过设置名为 http_proxy 的环境变量来解决。

变量的格式为 http_proxy=http://URL:PORT,

例如: http_proxy=http://192.168.0.1:8080

可参考 Ruby on Rails 的 Wiki 获取更多信息。

修复 Winsock 解决无法上网的问题

May 19th, 2008

以前使用 CDMA 上网时曾经亲身经历过突然无法上网的问题,最后通过软件修复 Winsock 解决。当时的症状是浏览任何网页都无法打开,IE 状态栏显示 DNS 解析出了问题。但用 ipconfig 查看发现已经自动获得了 DNS 地址,Ping DNS 地址也正常,测试 Ping QQ 服务器和其它几个 IP 都能 Ping 通,尝试用 ipconfig/flushdns 来清除 DNS cache 无效,更换其他 DNS 无效。最后下载了 LSP-Fix,修复了 Winsock,问题终告解决。

前段时间同事的电脑也遇到无法上网,但是能获取 IP 地址(内网通过 DHCP 服务器)和 DNS 地址,当时第一反应就是修复 Winsock。在上网寻找软件的时候,发现对于 Windows XP SP2 版本,可以使用新增的 Netsh 命令更快地解决这个问题。借此机会正好仔细研究了一下有关修复 Winsock 的问题,整理如下:

1. Winsock 和 Winsock2,以及 LSP

Winsock 最初来源于 Windows Sockets API 的简称。简而言之,Winsock 的作用就是 Windows 网络应用程序与底层网络协议之间的桥梁。从 Windows 98 系统开始包含了2.0 版本 Winsock 组件,所以有时候我们会看到 Winsock2 这样的说法。LSP 则是对 Winsock2 的扩展。(详见 Wikipedia: Winsock

2. Winsock 错误的症状和修复方法

与网络有关的应用程序、恶意程序、注册表误操作等,都可能造成 Winsock 设置错误,从而出现能够连接网络(比如能够获取有效的 IP 地址,和 DNS 地址;在防火墙允许的情况下,可以被其他电脑 Ping 通),但无法实现网络应用(比如用 IE 无法显示网页)的症状。

对于 Windows XP SP2 及 Windows Server 2003 / Windows Vista,修复的方法非常简单,就是使用 Netsh 命令重置 Winsock:

netsh winsock reset

对于 Windows XP SP2 之前的版本,可以借助第三方软件,如 WinSock XP Fix、前文提到的 LSP-Fix 等软件,也可以手动删除注册表中 Winsock 设置后重新安装 TCP/IP 协议来解决。

Microsoft 知识库文章 811259 提供了详细的 Winsock 损坏症状、确认和修复办法,请参考。

Ubuntu 下的 RealPlayer 终于播放流畅了

May 17th, 2008

恩,这个消息可能有点旧了,不过没关系,我既不是厂商,也不是媒体……

用 Ubuntu 有一段时间了,好像是从 5.10 版开始吧,但一直觉得在易用性上于 Windows 桌面系统还有差距,RealPlayer for Linux 在 Ubuntu 下播放很卡的问题就是其中之一。

尽管如此,我还是坚持不断更新我的 Ubuntu,昨天升级到 8.04 之后,正好要重新安装 RealPlayer,再次来到 RealPlayer for Linux 的主页, 就发现了 2008 年 3 月推出的 RealPlayer 11 for Linux,心头忽然一喜……

果然,下载到 RealPlayer11GOLD.bin 文件,增加允许执行的权限,然后到终端中运行这个 .bin 文件。

马上拿出成堆的 .rm 和 .rmvb 文件测试,播放流畅!看来我要考虑完全转向 Linux 了。

使用 Excel VBA 保存文件时如何覆盖已有文件

March 1st, 2008

这两天一直在埋头编写我的人力资源管理软件的导出名册模块,再大功即将告成之时,忽然遇到了问题。

导出的名册是 Excel 格式的,用 Excel VBA 的 Workbook 对象的 Close 方法或者 SaveAs 方法,都可以指定文件名保存文件,但如果指定的文件已经存在,Excel VBA 就会非常“不友好”的弹出一个确认对话框,询问你是否覆盖已用文件,严重破坏了程序的完整性。但是在 Close 和 SaveAs 方法中,却又没有指定是否覆盖的开关参数,一时间让我非常为难。

还好,总算在网上找到了变通的方法,那就是通过 Application 对象的 DisplayAlerts 属性关闭警告,待保存结束,再恢复警告,代码如下:

Application.DisplayAlerts = False
Workbook.Close True, FileName
Application.DisplayAlerts = True

VarType 和 TypeName 函数

February 19th, 2008

今天用 Visual Basic 6.0 ( SP6 ) 开发自动生成报表的模块 ( DAO 访问 ACCESS ) 时遇到一个问题,要把从数据库中读取的时间格式化成报表要求的格式,但因为数据库中的时间有日期和字符串两种类型,所以我想先获取数据的类型,再分别做相 应的调整。

首先想到的是用 TypeName 函数来返回数据类型,可奇怪的是,用 TypeName 得到的结果竟然全是 Field 类型,完全无法区分。本来想只好令想办法了,没想到改用 VarType 函数一试,竟然就得到了正确的结果,奇怪中!

在网上暂时没有搜到相关的资料,只知道 TypeName 和 VarType 在某些特定条件下会得到不同的结果,先记下一笔,回头再分析。