Jul 31 2008

H2

H2是纯Java的SQL数据库,之所以叫做H2,是因为它的上一个版本叫HypersonicSQL。这个Java实现的SQL数据库在很多Java应用服务器上都带了(有的带的是前一个版本),因此很多情况下不需要单独安装,因此用起来就很方便。

H2提供了一个很棒的基于Web的管理界面(类比于PHPMyadmin),使用很简单:

java -cp "/path/to/h2.jar" org.h2.tools.Console

然后就会自动启动浏览器进入Web管理界面了。

H2很小巧,性能高(起码官网上的测试结果是这样的),看起来想当的不错。


Jul 20 2008

U盘性能之差异

去电脑城买一个4G U盘,因为之前自己用过很多U盘,感觉性能差异颇大,这次就很小心的让店家拿了一些U盘在他的电脑上测,结果也真的如我所想,那个差异不是一般的大,测试方法很简单,在店家的电脑上找了一个文件夹大约300M左右,向U盘上拷,(我只测了写入速度,读取速度据经验通常比写入速度快不少),读秒计时。

测了3只U盘,三个品牌,结果居然分别是3M/S,6M/S和10M/S,大跌眼镜,自然拿了10M的,奇怪的,为了验证,我又拿了一个10M/S的新U盘,却测得只有6M,也就是同一品牌型号的U盘居然差异这么大(还是很知名的品牌),店家拍着胸脯说都是真品,说不同批次的U盘可能芯片不同,我实在无语。

回来在我自己电脑上又测了一次,发现在Ubuntu下居然比Windows下U盘的写入速度慢很多,Ubuntu下只能测到5M/S,而在我的XP下也是10M/S,郁闷了。


Jul 16 2008

手机记事

记忆力是越来越靠不住了,开始依赖于各种各样的工具,最近慢慢发现手机是个不错的工具,最大的好处是不需要额外带什么东西就可以随时随地记录一些记事安排,便于查看,并可以设置闹钟提醒。但缺点就是输入文字不方便,也许有些人就是因为这个原因而拒绝使用手机的记事功能。

不过这个世界是没有完美存在的, 我发现当我接受输入慢的缺陷,尝试去用它以后,就慢慢得到了记事带来的好处,而且很多时候记事并不需要太多的文字,只几个字而已,输入慢带来的不便逐渐被我忍受了(人的适应能力是很强的)。同时一些额外的工具(比如和Goolge Calendar的同步)也使得输入更为方便,比如可以在Goolge Calendar里一次输入多个事件,再同步到手机上。

所以,我想写下来的一条就是,在你不能发现完美的解决方案之前,选择一个能够解决问题的不完美方案 ,Just try。。。


Jul 7 2008

Goolge中国地图手机版

很早就开始用Google手机地图了,不过最近发现这个Google手机地图升级了,由于是客户端版本,所以要重新安装一下了。之所以想升级到这个新版本,是因为这个新版本终于终于支持了“我的位置”这个功能,可以定位你当前的位置(应该是依据基站信息,它的定位结果就是一个位置加一个半径,我这里半径是2.5公里左右,呵呵),定位速度挺慢的,通常都要1分钟左右才定位到,这个比较奇怪,不就是和基站交互一个位置信息吗,难道还是怎么算出来的?)

安装的话,可以用手机浏览器到http://www.google.cn/gmm就可以了,很方便的(我的S60的版本大概450K左右)。这个版本的其他特点:

  • 缩放的快捷键变了,变成1和3了,而且缩放的时候,第一步是做图形的缩放,等下载到数据后再刷新掉,比之前的版本要好一些。
  • 还是不支持卫星图,不过英文版的Google Maps(手机访问http://m.google.com/maps)是支持的,但英文版的Google Maps的中国地图信息太差了,所以我装了两个。

当然最好是开通GPRS套餐之后再用Google手机地图,否则费用也是个问题的。


Jun 16 2008

ASCII符号的读法

这是来自我很常去阅读的一个blog上的一篇文章,介绍了常见的ASCII符号的读法(大多是键盘上可以敲出的那些),实在是让我有些大开眼界,我也发几个我的中文读法,欢迎校准  : )

  • # 我的读法通常是“井字符”,除了用在C#(一种编程语言)时我直接发“sharp”。
  • & 这个我完全不知道英文该怎么读?也不知道中文这该叫什么,我通常发“and"音(因为C语言中&&是“AND”的意思)。
  • @ 用在Email地址时,我念作“at”,其它场合我有时也读“圈a”。
  • ^ 这个我通常要靠比划了,或者在有键盘的场合,我会说“Shift-6”,呵呵。
  • | 大部分人应该读“竖杠”吧。。。有时我也读成“或”(也是因为C语言,但奇怪的是,&通常我会读成“and”,而不读“与”)。
  • ` 这个也是我搞不定的,通常我就说 “Tab上面那个”。

Jun 10 2008

Blog工具-Zemanta

Zemanta是一个很Cool的blog工具,它可以在你写blog的时候自动提供一些辅助信息,帮助你完善你的帖子,我注意到的主要的功能有:

  • 可以自动分析帖子内容,提示一些可能的链接(比如WikipediaIMDB等)
  • 自动提示tag
  • 自动关联一些相关的图片(好像大多来自flickr
  • 自动提示一些相关内容的网页

安装Zemanta的时候有多个选择,可以选择浏览器插件或者是blog后台插件,如果是要支持多个平台的blog(比如你既写Wordpress,又有blogger),那么浏览器插件就比较合适,如果是想用多个浏览器(比如Firefox和IE)来访问一个blog,那么装相应的blog后台插件就要好一些,当然只有某些blog程序才能支持了(Wordpress自然不在话下,而且2.5的版本也可以)。

我使用感觉还不错,不过对中文支持不是很好,有些涉及中文的提示可能不够丰富,但总比没有强吧,另外Zemanta很大度,它虽然自动在帖子的结尾处放置了自己的logo,但它的Web上写明了允许用户删除它的logo,呵呵,赞一下。


Jun 5 2008

Nvidia与CPU

Nvidia终于要出CPU了,虽然在blog里面写这个显得有些八卦,但我真的为这个消息而激动,Nvidia是我非常尊敬的一个公司,一家以快速的技术进步击倒竞争对手而发展壮大的公司,它不畏惧任何竞争,始终保持着激情,不断研发着高质量和性能的显示芯片。虽然我是一个程序员,也不怎么玩3D,但还是对Nvidia充满敬意。

这次要出的CPU代号为Tegra(什么意思,字典上查不到 :(),主要应用在移动设备,在engadget上已经可以看到清晰的使用Tegra的设备的演示视频,看起来还是很强悍的。同时,这也是ARM和x86的一次真正对决(Tegra vs Atom),好看啦。

加油,Nvidia,干掉Intel。。。


Jun 3 2008

mashup

最近经常看到这个词,一向英语比较缺乏自信的我用百度词典和金山词霸都不能查到这个词的意思,还好我们有强大的百科全书Wikipedia,它给出了下面这个定义:

In technology, a mashup is a web application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data from Google Maps to add location information to real-estate data, thereby creating a new and distinct web service that was not originally provided by either source.

这段定义里是以Google Maps来作为例子的,因为Google Maps实在算是mashup的最普遍的一个source来源的,大量的web站点现在都集成了Google Maps提供某种地理位置服务,也许Google Maps可以算是mashup的最大推动力(就像Gmail之于Ajax)。

技术上讲,mashup背后通常依赖于某种API来从数据源获取数据(也许RSS也可以算做一种API),大量的网站都是依赖于这些API来获取自身难以提供的数据,当然仅仅是嵌入或是显示这些数据是不能算做mashup的,比如嵌入一张来自flickr的照片,或是youtube的视频当然不能算做一个mashup。 mashup的核心在于需要通过数据源来创造新的价值,从技术上看,这里的另一个重要工具应该就是Javascript/Ajax了,很多用户对数据的加工都是通过Javascript来实现的。

所以,想学习mashup开发的,Javascript是无论如何也绕不过去的, 至少在现在。不知道Google的Mashup Editor出来以后能否简化这些开发。


May 31 2008

Wordpress 2.5新特性

我已经用上了Wordpress2.5,在这里小结一下我对Wordpress2.5的印象,依次列出我认为比较有用的新特性:

  • 支持多人编辑时的冲突保护(类似很多Wiki),这个功能在团队Blog中很有用。
  • 后台新的blog编辑器(应该是TinyMCE)比2.3有了不少的进步,对我来说<code>标签比以前好用多了(2.3版本中,code标签很容易会移位)。
  • 内置了对Gravatar的支持,也就是可以给留言的人显示头像(需要留言的人事先在Gravatar网站上申请一个头像),不过2.3版本的Wordpress通过插件也可以做到这个,只是2.5版本上不需要装插件了。
  • 后台的Dashboard更实用了,而且是可定制的(通过Widget),这个也蛮实用的。
  • 插件可以自动升级了(象Firefox),这个是易用性上的一个小升级。

虽然小的特性和改动还有很多,不过对我来说,吸引我的只有上面这些了(甚至后台整个界面的大改变对我也毫无吸引力,我感觉原来2.3的后台界面就挺好的啊),显然可以看出,前台没有什么变化,主要的变化集中在后台,在我看来这些变化实在不足以支撑一个2.5这样的大版本的变迁,而且似乎这个2.5版本还有不少bug,我也遇到一个了,就是在后台上传图片并插入到blog中时,有时那个管理上传图片的窗口会失去响应,反正感觉这个2.5有点名不符实就是了,不过反正也是免费开源的,我是不是要求太高了? :)


May 29 2008

Creative Commons-创作公用

Creative Commons是一系列的版权协议的总称,中文的准确译文应该是“创作公用”,通常用于一些知识共享领域(比如很多blog使用这个版权声明)。我以前一直没有搞太清楚它的细节,模糊的认为它是一种“开放”的版权声明,近日因为要用到,就去仔细查了一些资料。

我们可以理解CC为一种部分保留权利的版权(所以和All Rights Reserved是相对的),所谓的部分权利,在CC中被定义为了四种权利的组合,它们是:

  • 署名 (自由使用,但是必须表明原创者姓名)
  • 非商业用途 (自由使用,但是不能用于商业用途)
  • 禁止派生 (自由使用,但是不能改编和派生)
  • 保持一致 (自由使用,也可以改编,但是要遵循相同的协议)

这些权利可以选择性组合,版权所有人可以使用它们的一些组合来保护自己的版权,比如可以使用“署名/保持一致”来选择上面列表中的两个权利来保留(其实这种组合很类似于GNU GPL),在Creative Commons中一共定义了6种常用的组合,但显然无论如何组合,它们总是能够保证使用者可以自由使用的,所以翻译为“创作公用”还是很恰当的。

从这里可以看出,实际上Creative Commons是范围非常广泛的,可以针对知识产权领域的各种知识形式,但在用于软件源代码时,不可避免被人拿来和GNU GPL做比较, 上面已经提到,其实“署名/保持一致”和GPL已经很接近了,但在细节上还是有一些差异的,比如到著作权人的反向链接,我今天恰好看到一个发布Wordpress模板的网站就将原先采用的Creative Commons版权声明改为了GPL版权声明,并且详细说明了原因

也许很多人认为,这些版权的细节和我们关系不大,但实际上,在知识日益开放的时代,如果没有法律上站得住脚的版权声明,是很难保证开放的知识不被误用(侵犯),比如gpl-violations.org就是一个专门使用GPL来保护知识产权的机构,他们已经成功的阻止了很多企业对GPL的违反。

 update(2008-05-30): 居然把“阻止”误写成“组织”,汗。。。