当前位置

博客

Thinkpad 上的仿 'SMS' 应用演示

还记得上次对 MacBook 做的关于 SMS 的介绍吗?IBM 的 dw 刚刚放了一篇关于如何用 perl 检测 HDAPS(硬盘主动保护系统) 传感数据并控制程序的例子。同时 YouTube 上也有演示:

从 YouTube 的相似链接来看,还有用 ruby 实现的例子... 当然,目前这一切只能在 linux 上实现

可惜偶的 r51e 不支持 APS,又增加一点缺憾

Topic: 

万里开源

我是在搜索 mysql 的一个功能的时候发现 mysql 居然有了官方的中文手册,然后顺藤摸瓜,知道这个手册是万里开源这个公司提供的。

从缺乏创意的名字,这个公司实在无法在第一时间内获得我们的尊重,但它却是 MySQL 在中国的金牌合作伙伴,真是让人大跌眼镜。在 google 上搜索,关于这个共创Turbolinux 合作产物的介绍是少之又少,首页也是很没有诚意的 "Under constructing....",直接输入 http://greatlinux.com 更是直接去了 turbolinux,不由得让人们对其是否能承担 mysql 金牌合作伙伴(可能还是中国大陆唯一)这一使命而心存疑虑.

但无论如何,对于中国现在如火如荼的以 MySQL 开始其基础架构的创业公司而言,现在有了一个可以近距离获得现场支持的可能,另一方面,这类基于开源产品的专业服务也是中国难能可贵的尝试。至少万里开源的血统还算高贵纯正,如果您确实在担心存储在 MySQL 中的数据有一天可能突然无法访问,那么可以考虑联系一下万里开源,看看他们的实力和姿态是否足以打动你们的 CIO。当然价格也是需要考虑的因素,MySQL 的白金服务也不过 5000$/Year,不晓得万里开源是怎么定义其服务项目和收费标准的。

虽然我得承认我个人并不喜欢它,但这里还是先为其鼓掌吧。

==================================================
后记:这样的写作风格是不是所谓的华尔街体

Topic: 

周日的困惑

周日在我哥的亲情赞助下去看了《从莫奈到毕加索》

困惑有四:

一、

《红黄蓝的构成》皮特·蒙德里安

这个太夸张了,当我突然发现这个东东,大脑一阵眩晕,耳边回荡着《疯狂的石头》的台词“你侮辱了我的智商”。我知道展览是不能拍照(但是还是看到有人拿着挺不错的相机拍,不知是怎么把相机背进去的),但是我还是忍不住拿出手机,想记录一下这个东东,被保安制止。

二、

《1941》本·尼克尔森

这个稍微好一点,但也很夸张,我又拿出手机低头记下这个和上一个的作者以及作品名,打算回来好好google一下(结果竟然又发现了一张《红黄蓝的构成》,莫非这哥们就画各种的红黄蓝的构成就可以名利双收了?)。保安又出现在我身边,看我似乎在发短信的样子,没说什么。

三、为什么看展览的女子中美女的比例明显比大街上的高的多得多得多,令人叹为观止。

四、为什么世纪坛门口的记录5000年历史的地上的雕刻竟然没用水覆盖了,于是许多人在上面走,公元1000多年的历史的字迹已经给磨得看不见了。突然觉得这实在是一个行为艺术,中国人用不文明的行为抹掉自己的历史或者说用自己的足迹擦掉了自己的历史。这时候我非常后悔没带相机,否则非拍下来寄到电视台或报社去。

Topic: 

We are the Champions

是在周六到天津的火车上读报的时候知道这条消息.

这个冠军来的有些尴尬?

我可不这么认为。至少我们一直在足球场上 keep on fighting till the end, 所以 no time for losers cause we are the champions - of the italy

不管怎么说,莫拉蒂和扎队配得上这个冠军奖杯

我对新赛季的最大愿望现在改成,超过 Milan 9 分夺冠.

Topic: 

用免费工具 VC Toolkit 2003 编译 Mozilla Firefox 1.5

由于编译过程中需要生成的临时文件 xpidl.exe 要链接 glib 和 libIDL,对应 MOZILLA_1_8_BRANCH 来说,用 vc8 链接它们有些问题(Visual C++ 2005 Express Edition),需要的 patch 都在 trunk 里面。所以如果是编译 Firefox 1.x,1.5.x,甚至以后的 2.0.x 的话,最好还是用 Visual C++ Toolkit 2003

但另一方面,Visual C++ Toolkit 2003 是一个很不完整的开发平台,欠缺不少编译需要的工具和库,下面是我的编译环境配置过程,供参考:
1. 安装 Visual C++ Toolkit 2003,30兆安装包.
2. 安装 .NET Framework Redistributable Package version 1.1,20兆安装包(当然可能你的 XP 在升级过程中已经具备了这个环境)
3. 安装 .NET Framework SDK version 1.1,100 兆安装包
4. 安装 Platform SDK. 我半年前只有"Microsoft® Windows Server 2003 SP1 Platform SDK - April 2005 Edition",现在最新版是"Windows Server 2003 R2 SDK - March 2006 Edition". 我只安装了:
 Configuration Options(但没有安装 Register Environment Variables)
 Microsoft Windows Core SDK(Tools、Build Environment、Redistributable Components)
 Microsoft Web Workshop (IE) SDK(只安装了 Build Environment)
5. 安装 MASM32,半年前是 8.2,现在最新版本是 9。免费下载,3兆安装包。这包里面提供了 ML.EXE 和 DUMPBIN.EXE 是编译需要的
6. 下载 moztools-static.zip ,以及 vc71-libIDL-0.6.8-bin.zip、vc71-glib-1.2.10-bin.zip. 安装方法为:
 6.a 解压 moztools-static.zip 到 C:\moztools
 6.b 解压缩 vc71-libIDL-0.6.8-bin.zip、vc71-glib-1.2.10-bin.zip. 比如到 C:\vc71 目录
7. 安装 cygwin,除了缺省包以外只需要
 Devel 类别下选:patchutils, make 3.80 (not 3.81!)
 Interpreters 类别下选:perl
 Archive 列表下选择:zip, unzip
 安装完以后把 cygwin 环境里面的 link.exe 改个名字,因为路径上可能有冲突

基本上免费工具就这么多了,但是还是缺,需要 hack.....
1. VC Toolkit 2003 没有缺省带 lib.exe, 要获得有两个方法
 1.a 要么是安装 Platform SDK 的时候选择 Microsoft Windows Core SDK -> Tools -> Tools (AMD 64-bit) 来获取
 1.b 而我当时看到 64bit 就害怕,就自己创建了一个 lib.bat,内容为:
  link /lib %*
 然后修改 mozilla 关于 lib.exe 的相关配置
  修改 configure、nsprpub/configure,寻找 ""AR=lib"" 以及 ""HOST_AR=lib"" 的地方,修改成 lib.bat
  修改 security/coreconf/WIN32.mk,寻找 ""AR = lib"",修改成 lib.bat
 以上方法参考链接
2. 生成 msvcprt.lib (在 Cygwin 环境下..)。
 进入 ""C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin"",执行
  echo ""LIBRARY msvcp71.dll"" >msvcprt.def
  echo ""EXPORTS"" >> msvcprt.def
  dumpbin /exports msvcp71.dll | awk '{ if (FNR > 19 && $4 ) print $4}' | sed -e 's/\r//' >> msvcprt.def
  link /lib /def:msvcprt.def
  mv msvcprt.lib ../lib
 参考 链接

在 cygwin 自己的 home 目录下创建 .mozconfig
. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/my_firefox
ac_add_options --enable-optimize
ac_add_options --enable-crypto
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-xpconnect-idispatch
ac_add_options --disable-accessibility
ac_add_options --disable-test

设置编译所必须的环境,比如创建一个 vc71.bat 文件
@echo off
rem --- Basic config, with VC7 libIDL files
SET MOZ_TOOLS=C:\moztools
SET GLIB_PREFIX=C:\vc71
SET LIBIDL_PREFIX=C:\vc71
SET CYGWINBASE=C:\cygwin

rem --- Clean slate start
SET INCLUDE=
SET LIB=
SET PATH=C:\;C:\windows\system32;C:\windows;C:\windows\system32\wbem;

rem --- Then prepend Cygwin path
SET PATH=%CYGWINBASE%\bin;%PATH%

rem --- Set VC7 compiler environment vars

CALL ""C:\Program Files\Microsoft Visual C++ Toolkit 2003\vcvars32.bat""
CALL ""C:\Program Files\Microsoft Platform SDK\SetEnv.Cmd"" /XP32 /RETAIL
CALL ""C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat""

rem --- Add glib/libidl to build environment
SET PATH=%PATH%;%GLIB_PREFIX%;%GLIB_PREFIX%\bin
SET INCLUDE=%GLIB_PREFIX%\include;%INCLUDE%;
SET LIB=%GLIB_PREFIX%\lib;%LIB%

rem -- moztools comes last after glib/libIDL
SET PATH=%PATH%;%MOZ_TOOLS%\bin;C:\MASM32\bin

bash --login -i

最后执行这个 bat 进入编译环境,进入 mozilla 源代码目录,
 make -f client.mk build

如果编译过程中报告什么没有 comsupp.lib,可以打个 patch 让程序不去找它.
参考http://www.koka-in.org/~zophos/SideB/daytripper/index.rhtml?date=20050208
--- browser/components/build/nsModule.cpp.orig 2005-02-07 14:50:22.350250000 +0900
+++ browser/components/build/nsModule.cpp 2005-02-08 18:34:08.470375000 +0900
@@ -58,7 +58,7 @@
#include ""nsPhoenixProfileMigrator.h""
#include ""nsSeamonkeyProfileMigrator.h""
#if defined(XP_WIN) && !defined(__MINGW32__)
-#include ""nsIEProfileMigrator.h""
+//#include ""nsIEProfileMigrator.h""
#elif defined(XP_MACOSX)
#include ""nsSafariProfileMigrator.h""
#include ""nsOmniWebProfileMigrator.h""
@@ -89,7 +89,7 @@
NS_GENERIC_FACTORY_CONSTRUCTOR(nsProfileMigrator)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSeamonkeyProfileMigrator)
#if defined(XP_WIN) && !defined(__MINGW32__)
-NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEProfileMigrator)
+//NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEProfileMigrator)
#elif defined(XP_MACOSX)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafariProfileMigrator)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsOmniWebProfileMigrator)
@@ -136,11 +136,10 @@
nsProfileMigratorConstructor },

#if defined(XP_WIN) && !defined(__MINGW32__)
- { ""Internet Explorer (Windows) Profile Migrator"",
- NS_WINIEPROFILEMIGRATOR_CID,
- NS_BROWSERPROFILEMIGRATOR_CONTRACTID_PREFIX ""ie"",
- nsIEProfileMigratorConstructor },
-
+// { ""Internet Explorer (Windows) Profile Migrator"",
+// NS_WINIEPROFILEMIGRATOR_CID,
+// NS_BROWSERPROFILEMIGRATOR_CONTRACTID_PREFIX ""ie"",
+// nsIEProfileMigratorConstructor },
#elif defined(XP_MACOSX)
{ ""Safari Profile Migrator"",
NS_SAFARIPROFILEMIGRATOR_CID,
--- browser/components/migration/src/Makefile.in.orig 2005-02-07 14:50:22.787750000 +0900
+++ browser/components/migration/src/Makefile.in 2005-02-08 09:00:43.763625000 +0900
@@ -84,8 +84,7 @@
ifeq ($(OS_ARCH)_$(GNU_CXX),WINNT_)
DEFINES += -DPSTOREC_DLL=\""$(subst \,\\,$(WINDIR))\\system32\\pstorec.dll\""

-CPPSRCS += nsIEProfileMigrator.cpp \
- $(NULL)
+CPPSRCS += $(NULL)
endif

ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))

Topic: 

微软的免费 C++ 编译器

虽然已经有 CygwinMinGW 的 gcc/g++,但在 Win32 平台下,被广泛接受的还是 Microsoft 的 VC。而且 firefox、python 这样的重量级开源项目,win32 平台上的二进制版本,也仍然是用 VC 系列编译的.. 因为 VC 更加稳定.

在当今一片免费开源的潮流下,微软也为贫穷的程序员们提供了免费 VC 工具,先后是 "Visual C++ Toolkit 2003" 和 "Visual C++ 2005 Express Edition". 或者说 "VC 7.1" 和 "VC 8".

现在在 Visual C++ Toolkit 2003 的主页上,下载链接已经被去掉,转而劝告人们使用 Visual C++ 2005 Express。但实际上,VC 7.1 还是很有用处的,比如 Python 2.4 和未来 Python 2.5 的扩展编译都应该在 7.1 下完成。

这里提供一个下载使用 vctoolkit 2003 的方法,去 google 上搜索 VCToolkitSetup.exe,还是很有一些下载链接的... 它的 MD5SUM 为: 90d8b963ca196aa9855b2ca6c3174c14

计划下篇 blog 介绍用免费工具编译 firefox , sigh.. 还是很麻烦的. 大半年前试着编译了一下,然后顺手更新Mozilla developer center 上的中文版 Windows Build Prerequisites. 好像国内在 win32 上编译 fx 的很少很少的说.

Topic: 

恶狼家族

现在达达接触的故事类型越来越丰富,反派典型大灰狼出现的频率慢慢增高。有时候我会恶狠狠的吓唬她:“我变成大灰狼了”,同时模仿杨丽萍活动五指,扭曲面部作狰狞状。

这套把戏玩多了以后,当我再次如法炮制的时候,她说:我是狼宝宝,我愣了一下,就不再吓唬她了。从此她乐此不彼,给家里其它人都冠以狼的称呼:狼妈妈、狼奶奶、狼小姨、狼叔叔... 还有狼姥姥,我纠正她,应该是狼外婆. ^_^

后来作为狼爸爸就和狼宝宝一起玩抓三只小猪的游戏。当然我们是很有智慧的狼,每次吹倒两座房子吃完两只小猪后,就决定放过第三只小猪,不去爬那个烟囱了.

昨晚回家,她已经决定不当狼宝宝了。要当三个和尚——她是小和尚、奶奶是胖和尚、妈妈是瘦和尚... 我想了想,觉得只剩下小老鼠这个角色分配给我了,于是自告奋勇当小老鼠.. 结果她就冲我喊,“不许偷吃蜡烛”,然后拉着瘦和尚要踩小老鼠. wuwuwuwu....

Topic: 

从莫奈到毕加索

星期天,趁着天气不是那么热,和老婆孩子一起去世纪坛看《从莫奈到毕加索》的展览

这些艺术品的拥有者——克里夫兰艺术博物馆——因为刚开始长达5年的装修活动,不得已将旗下的藏品在这5年中放到全球巡展,身在北京也因此有机会可以近距离一窥。

本来从画册上看就觉得好,但真到了它们的面前才切身感受到其蕴含的美和感人的力量...哦,对于普通观众来说毕加索或许太高深了一些,但梵高和莫奈的作品确实是可以轻易把我们所感染的(后来从朱青生老师的讲座——《现代艺术的第一次和第二次革命》里面看到,梵高的画里面有写意的成分,所以在东方受到更多的欢迎)

说说我的印象:

《罗曼•拉科肖像》和《读》是画册里常见的图片

老婆特别喜欢《卖苹果的人》,还有塞尚的《小溪》

不敢相信真能近身看到梵高的《梧桐树群》、《圣雷米的白杨》

罗丹的《思想者》可能是这里面最大牌的作品了,不过这批展品中我最喜欢的是他的《青铜时代》,第一感觉是居然有这么好看的男性身体,时尚杂志或者广告上的裸体或半裸男人通常是肌肉型的,电视上走T台的男模则被衣服包裹着,而且看走路就觉得脱了也好看不到哪里去...《青铜时代》看上去比照片上的《大卫》更匀称,更柔和一些。这尊雕塑真人比例,大概和我一般高,头部比我小,脚比我要大许多,我围着它走了好几圈,实在有些想摸摸它的屁股,^_^

《秘密生活》我觉得很容易看进去,还有马克思·恩斯特版本的《草地上的午餐》非常有趣.

相比这些艺术品的价值而言,50元的票价简直是太便宜了,安检很简单,不许带水进去,扫描一下是否身上有金属。如果确实心怀叵测,向《圣雷米的白杨》吐口痰完全是可能的,从此以后介绍艺术史的时候可能都会带上你的大名。强烈建议在它们离开北京之前去那里消磨一个下午,这可能是你这辈子唯一的机会近距离接触这些真迹,而且,还有很多很有气质的单身 GGMM 逡巡其中.

另外,也强烈建议在去之前,先看看《现代艺术的第一次和第二次革命》补补课,这个链接必须用 IE 打开.

Topic: 

那天她敲了我宿舍的门

玩一次标题党,哈哈。从搜索引擎过来的同学们不要扔鸡蛋,如果你还没怎么看这个小说,希望我的附件能让你方便点(我没有整理网页,里面有很多和小说内容无关的留言,请多包涵)。

昨天一个兄弟给我一个链接,本意是给我看这个网页里面的另一个链接,我开始会错意了,就把这个网页看了,发现故事有点意思,但是不全。通过搜索引擎,找到一个似乎是源头的网站,一看66个页面,回去网络条件不行,于是写了几行shell脚本,把页面都下载下来。回去慢慢看。

更新:
看了十几页,纯YY!假得有点多了。

再更新:
突然想起好久没看这个网站了,今天上去看了一下,发现作者说“因为和出版社有合同的原因,我暂时不能把结尾部分发上来”,不知这样的小说如果真的出版了,那些天天上论坛等更新但总是失望的人会不会买。

附件大小
组件包 图标 knockdoor.zip668.64 KB
Topic: 

R51e 最近的使用感受

我知道肯定有很多人也在犹豫是不是买这么一款低端的机器. 这里再继续报告:

1. 最近最最让我不爽的就是它的塑料外壳,不知道什么时候蹭掉了一些表皮,就此留下两块灰斑,很难看..

2. 音量比较低... 反正我也不会长时间用它来看片

3. 两个扩展插槽的其中一个是 ExpressCard,反正我的 PCMCIA 卡插不进去

4. 电源管理支持自定义电量掉到 n% 后再开始充电

5. 4500 转的硬盘用着用着就感觉有一些慢,但除非特别在意性能,否则也算可以忍受

6. 有别人反映屏幕这不好那不好,但我还是觉得挺满意的.

Topic: 
订阅 RSS - 博客