谁说Google不会做del.icio.us?
Jun 1, 2006 One minute

今天的GoogleBlog上,总算看出Google在在线书签上迈出的一步 。新版的Google Toolbar beta已经有了bookmark可用,需要登陆Google Account才可以使用。 值得注意的是,新版Google Toolbar中的bookmark和Google的搜索历史是有联系的,比如我在搜索历史中的两个label: <img src="http://static.flickr.com/65/157744546_102eab1de5_o.jpg" alt="google search history"> 点开smalltalk这个label之后: <img src="http://static.

So I felt like the biggest asshole
May 27, 2006 One minute

介尼玛嗖了么!!!

Google发布Google Web Toolkit(GWT)
May 17, 2006 One minute

今天GoogleBlog放出这条消息:Making AJAX development easier ,刚开始还以为是普通的PR文章,读过才发现原来是Google发布了新的toolkit,而这次不是使用Google那些产品和服务的toolkit,而是一个简化AJAX开发的toolkit。 GWT 可以从这里 下载,更好的消息是这个东西包含server端库,嗯,而且是Java的。代码还没有仔细看,不过这种做法比较类似DWR =) License很宽松,大致看了看,除了不让用户重发布GWT 本身以外,一般的开发用起来是没什么问题的。 AWT、SWT过后,又来了GWT,呃,当然GWT是瞄准web的。 Technorati : google , gwt , java , javascript

jnotify,文件,目录,及其他
May 9, 2006 One minute

前天混迹于freenode ##java的时候听到omry提及jnotify ,一个使用JNI通过本地库来监视文件系统变化的实用库,支持win32系统和Linux(需要INotify),而这位omry也正是jnotify 项目的admin。我觉得这样一个库很有用,因为平时能做的就是创建线程来监视,而通过JNI借由操作系统的支持,就方便的多,而且性能也稍微好一些。 jnotify 的api简单到不能再简单了,一般只要一个类的两个静态方法再实现一个接口就可以了,然而也正是这样一种让人感觉不像Java而像是C风格的使用方式让我和omry争论了半天,我还是希望一些更"现代"的方式,也更容易让我整合进Spring里面。 另外就是我希望能够在jnotify 这个层次上区分开普通文件和目录,而不是让客户代码自己来判断。这一说法立刻引来若干人的指教:目录也是文件。也许他们觉得我是被Windows养大的孩子吧,哈哈。这年头如果有开发人员不知道目录也是文件,我还是会意料之中的惊讶一下。无论从学术概念还是绝大部分的文件系统实现来看,目录确实也被抽象为文件了,但是在实际使用过程中,我的经验–实在是谈不上是经验的经验–是普通文件和目录大部分时间内还是被区别对待的,比如我们从来不会打开一个目录去加载目录的内容,而会加载一个XML文件的配置内容。开发人员通过创建一个File对象自然可以判断一个文件是普通文件还是目录,但是一是也许会创建很多临时对象,二是因为大部分时间里普通文件和目录是区别对待的,所以不得不用if-else来分开两种迥异的操作,如果懂得extract method还好,否则可能会有大段的if-else块,影响代码阅读,如果可以在实现接口时借由参数得知这个文件到底是普通文件还是目录,甚至处理普通文件和目录的方法根本就是被分开的,那至少我的感觉会好一些,当然,同时接口和接口里的方法数量也会增加很多,这也许是omry这样的从业10余年的老黑客看不习惯的吧:^) 结果,我把我wrap过的jnotify (根本没改动jnotify 的代码,只是在外面增加一层)的代码发给了omry,他说,nice code,但是暂时还不会把它们加到jnotify 里。DIANG~ 测试0.

从太阳到木卫四
May 6, 2006 One minute

别急着骂我冒充天文爱好者,我说的是Eclipse和其基金会旗下的Callisto项目 ,或者说是"Callisto并行发布"。 前几天开始,Eclipse 3.2和Callisto这些字眼渐渐变得多起来,本人本着没事儿也要瞎忙的精神装作日理万机的样子无视这些逐渐升温的单词。刚看新闻才知道eclipse 3.2 RC3昨天发布了–呃,应该算是前天了,就去eclipse.org一通考古,才发现了这个Callisto项目,仔细看看,原来是个插件集,而且都只是eclipse.org提供的插件。 按照Callisto主页 上的说法,Callisto并行发布并不是提供新插件,而是将10个主要的Eclipse项目同时捆绑发布,以使得一些Eclipse生态系统中的成员更容易将Eclipse集成进各自的产品中。这10个项目是BIRT ,CDT ,DTP ,EMF ,GEF ,GMF ,Eclipse ,TPTP ,WTP ,VE ,几乎覆盖了一般的开发需求。 其实我还是不太理解这样做的目的,Callisto主页 说是要"消除不同项目的不同版本带来的不确定性,使得Eclipse生态系统中的成员可以尽早开始各自的集成和跨项目、跨产品的测试"。我以前也有过被不同插件的不同版本搞的焦头烂额的经历,但自从3.

Java EE 5, EJB 3.0
May 3, 2006 One minute

Java EE 5规范(JSR 244)和EJB 3.0规范(JCP 220)据说都通过了投票,新的Java服务器端纪元款款走来。无论如何,JCP还是太慢了,开源社区都快把Java 5的新特性玩遍了。 Technorati : ejb , java

Apple Ads
May 3, 2006 One minute

Apple的几个广告 ,QuickTime Movie格式,很有意思。虽然我认为无论Mac还是PC,在高手和菜鸟手里的表现当然不尽相同,但这几个广告还是很好玩的,而PC阵营还没看到类似的,无论是商业广告还是家酿视频,难不成是因为心虚?这里只列出高清格式的地址,广告页面 有所有格式的视频。 http://movies.apple.com/movies/us/apple/getamac_ads1/viruses_848x496.mov http://movies.apple.com/movies/us/apple/getamac_ads1/restarting_848x496.mov http://movies.apple.com/movies/us/apple/getamac_ads1/better_848x496.mov http://movies.apple.com/movies/us/apple/getamac_ads1/ilife_848x496.mov http://movies.apple.com/movies/us/apple/getamac_ads1/networking_848x496.mov http://movies.apple.com/movies/us/apple/getamac_ads1/wsj_848x496.mov Technorati : Apple , Macintosh

Spring::NamespaceHandler
Apr 30, 2006 One minute

Spring 2.0带来的一个比较便利的好处就是更加灵活的XML配置方案。由于Annotation在设计方面的特殊地位,决定了它不会完全取代XML配置文件,所以我认为很长一段时间内,Java的server端框架不会把宝都押在Annotation上。Spring 2.0也是这样,解析XML配置文件这一工作不仅没有随着Annotation的加入而停滞,反而添加了更加灵活的配置方案–自定义namespace。 当然,自定义namespace远非说起来那么简单,又得有合适的XML Schema,还要自己实现Spring中的比较核心的接口和抽象类。下午才和Leon抱怨过,因为我无法像使用python的tuple和字典类型一样方便的访问java.util.List和java.util.Map的对象里面的数据,比如aList[12]或者aMap[’name’],这些东西虽然通过其他方法也能解决,但毕竟不太舒服。这个问题的起因比较简单:我把一些JDBC相关的配置写在了一个db.properties文件里面,用Spring 1.2.x的时候,我习惯的做法是用一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer来把几个.properties文件解析,然后使用${name}的方法来访问某个属性所对应的值,当然这还是不够方便,我这破记性让我经常取了一些重复的属性名,非debug而不能得也。今天翻Spring 2.0 M4得文档,发现了util:properties/ 这么个好东西,可以从location指定的资源读取符合属性文件格式的配置信息,以一个PropertiesFactoryBean使框架在引用这个bean的时候可以访问到解析了的Properties对象。这个让我比较高兴,因为可以不用像以前那样把一些没什么关系的.properties文件用同一个PropertyPlaceholderConfigurer装载了,.properties文件的关系得以区分,我也不怕再取一些重复的名字了。问题又来了,就是那个比较无聊的问题:如果我想访问一个.properties文件中某个键名对应的属性值该怎么办?再联想开来,很多动态语言都提供的用键名做下标引用键值的方法,以及类似tuple这样的类型,Spring好像并没有为这种引用方法提供方便,放在Spring 1.x的时候,恐怕也得自己实现一些FactoryBean,然后在配置文件中设置一些property才能完成,很冗长。 所以我就想能不能通过自己解析一个namespace提供的配置,完成这个事情,最终效果就像这样:

微软即将大力投资中国
Apr 30, 2006 One minute

Google Reader的平面组织方式让我又漏掉了一篇Slashdot上面的文章:Microsoft to Invest Heavily in China 。 据说胡主席去Gates家做客以后,微软就宣布将斥资9亿美元投资国内的的软硬件公司。BusinessWeek的一篇文章–Microsoft&rsquo;s China Card --介绍说,这一投资的目的主要是打击盗版,获得政府支持,等等,最终确立Windows在中国的统治地位。 打击盗版勿庸置疑,出了学校以后我也意识到盗版已经不像理想化的Warez组织们所希望的那样单纯–当然他们希望的并非盗版,但事情终归已经不是以他们的希望为导航来发展。而作为一个计算机工作者,我觉得要想别人尊重自己的劳动成果,自己也必须尊重别人的版权,但这不仅仅应该是计算机行业的从业人员才去遵守的准则,而且也不是只有软件才有版权。但是微软打击盗版是否就对它有利还难以确定。我觉得打击盗版会使得正在使用盗版的用户采取三种做法:换用没有版权问题的软件,比如免费软件、共享软件、开源软件、自由软件etc.

FirefoxFlicks赢家视频
Apr 30, 2006 One minute

<img src="http://www.firefoxflicks.com/images/ff_logo.gif" alt="Firefox Flicks"> FirefoxFlicks竞赛已经宣布了Firefox推广视频大赛的获奖视频,包括<em>DareDevil</em> , <em>Wheee!</em> , <em>Fox Fever</em> , <em>This is Hot</em> 和 <em>Give me the soap</em> 。看完这些视频,我还是喜欢<em>Wheee!

Built with Hugo · Using the heyo theme