msgbartop
Hacking the chemistry world.
msgbarbottom

26 Aug 08 关于ChemHack的一点想法

logo.png

ChemHack will be built into a blog styled website about Chemofinformatics and Bioinformatics. The user interface and content will be in both English and Chinese.

04 Aug 08 修好了iphone,2.0很牛x

今天收到快递,js把iphone从深圳运回来了,竟然还是走的空运。早就听说现在奥运会期间一切含电池的东西一概不允许空运,把iphone陆运到深圳就足足花了四天时间。得了 放在古代这已经是极速了。iphone收到之后,二话不说,立即开始下载2.0固件,有句话咋说来着,小别胜新婚啊,哈哈。升了2.0就不得不玩一下传说中的app store了,竟然发现还有wordpress,大喜过望,看来那个难用的drupal是该进废纸篓了…

iphone上打了这么多字,累了,睡觉……

26 Jun 08 Hello world!

欢迎使用 WordPress。这是您的第一篇日志。您可以编辑它或是删除它,然后开始写您自己的 blog。

31 Dec 69 GFW,SF怎么惹您了?

惊闻sourceforge.net被墙了,费解+郁闷+愤怒至极。SourceForge一源代码网站,干您GFW啥事了?上不了中文Wikipedia就算了,我们可以看新华网是吧。上不了Blogspot就算了,我们还能用用博客大巴。后来想想,难怪,跳墙的洋葱头,能下酒瓶某party的驴子,都是从sourceforge来。您把它墙了倒是方便了,我们写代码的以后怎么活?看不到sourceforge,就等于看不到80%的开源代码。氧化钙!

 

 

 

31 Dec 69 让精神病人管理精神病院

  1. 虽然电脑操作系统需要层次式文件系统,而使用的人则不必知道它。
  2. ATM总是打出取款单据,大多数人都把它扔了,ATM附近总是凌乱一片。
  3. 设计很糟的软件,其代价是不可估量的。
  4. 他们做他们想做的事,设计与他们自己的交互。
  5. 功能太多,它们共同协力设程序变得难以理解和使用。找不到需要的功能,因为它们埋藏在众多的其他免费功能之中。
  6. 电视卫星系统,在前几次尝试后,我完全放弃了它,就像别人所做的那样。
  7. 用户不必非要成为电脑文化人才能去使用企业应用中的电脑。
  8. 大多数与我共过事的产品经理都宁肯交付失败产品也不冒延期的危险。
  9. PalmPilot的成功归功于设计师专心致志,聚精汇神与目标用户,以及关注用户想要如愿以偿的实际东西。
  10. 技术支持是软件难用的最昂贵的项目之一。微软每年要花八亿美元用在技术支持上。
  11. 你使用铅笔,只以及好的方法进行设计,比使用任何数量的原型法设计要好得多。
  12. 在我的电脑上,线索化消息与单独消息的比例约为50:1,却没有电子邮件程序能够识别和处理。
  13. 日历程序的失败:大多上情况下,结束时间是不重要的,不需要的,不指定的,甚至预先不知道的,却要输入一个精确的时间。
  14. 非浏览器程序为何需要进行安装的唯一理由是程序员经常以这样的方式来完成他们的工作,任何在浏览器中运行的程序必然地会牺牲其庞大的性能。
  15. PhotoShop不记忆用户的图形文件放在何处,也不记忆他经常用它进行的典型工作。
  16. 什么是期望的?什么是可能?什么是存活的?(设计,工程,商业)
  17. 当她期望某些东西时,她会忠诚于它。
  18. 通过满足莎丽的期望,可以使公司更持久,更强壮地成长起来并能领导业界。
  19. 所有这些重大失策很容易击毙任何正常的公司,但是苹果对设计的运用时使Macintosh可期望地博得前所未闻的消费者忠诚度。
  20. 让软件为用户服务。
  21. 程序员对可能性的想象造成了软件中大量充斥着不必要或用户不想要的功能。
  22. 工程师们会把编程效率看得比用户的需求更重要。
  23. 因为他们错误地认为CPU是在超负荷地工作,其结果就是软件让用户超负荷工作。
  24. 被愉悦的用户是极其有效

 

31 Dec 69 Grails 1.0.3发布了

Interactive Mode 要执行Interactive Mode只需要键入:

grails interactive  
grails interactive

此特性的主要目的是加快启动,尤其在测试的时候,你会明显感觉比原来快! Enum support in GORM GORM终于支持JDK5的Enum了,示例如下:

 

enum VehicleStatus { OFF, IDLING, ACCELERATING, DECELARATING }  

  

class Vehicle { Long id Long version VehicleStatus status }  

enum VehicleStatus { OFF, IDLING, ACCELERATING, DECELARATING }

class Vehicle { Long id Long version VehicleStatus status }

I18n URL mappings 看来Grails在I18n方面做的越来越人性化了,现在只需要在URL mapping中就可以轻松指定了,示例如下:

 

"/german/$controller/$action" {  

     lang = "de"  

}  

"/german/$controller/$action" {
lang = "de"
}

Upgrade notes 升级的命令还是老样子,只需键入:

 

grails upgrade  

grails upgrade

但是后台还是改变了不少:

  • 开发环境的缓存现在已经改成了OSCache,但是生产环境的依旧是Ehcache
  • WebTest插件将升级成0.5版本

 

31 Dec 69 ghs.google.com被封杀了

 ghs.google.com被干掉了,apps全挂了,氧化钙一下!

31 Dec 69 诱人的“租值”

来自http://economysense.com 

租值(rent),是实证经济学上一个很重要的概念。说它重要,是因为从租值的角度来解释(理解)世事,往往柳暗花明。但是经验告诉我,要了解清楚租值的概念,不容易。我不敢说完全懂了,让我举点成熟而经典的例子和大家一起边总结边学习吧。

今天我们要讲的经济学上的“租”并非简单的“租用”、“租金”的租,它的意义要广泛些。

我简单而通俗地理解,“租”是不劳而获的收入。而能带来这种收入的东西很特别,其特点是:即使它在市场上炙手可热,其可用量也难以增加(或者说难以用别的资源顶替);而即使它在市场上无人问津,其可用量也难以减少(或者说难以转作别的用途)。就是说,它是既成事实,很难改变的这样一种东西。至于这个东西具体可以收入多少(租值的形成),要视乎它的稀缺程度和大家对它的需求。让我举例说明…

 

天赋带来的收入,是“租”,本来我认为应该叫“天赋租”(因为是天赋带来的收入),但事实上它通常被称作“李嘉图租(Ricar-dianrent)”。身体发肤,受之父母。有人平平无奇,但你如果长得像李嘉欣或者唱歌似陈奕迅或者有朗朗那样灵活而修长的手指,既成事实(整容…嗯…除外),你极可能因此发达。这样的收入,小部分应归功于“你”和其他人一样付出的努力,而大部分应归功于“你”独有的“李嘉图租”。我的声音也有“李嘉图租”啊,同陈奕迅的一样,大家都是独此一家,别无分店,只是大家都买飞入场听陈奕迅唱歌,我就只能在钱柜关起门自娱自乐,需求不同,我的“租值”收入近乎零。

来点大家比较熟悉的。租房的收入,是“租”。假设同样大小和装修水平的两个房子,在闹市的租2000,在市郊的500有交易。房子建成了,既成事实。这个区域楼房所享有的“租”的收入,是由于当地生产力水平比别处高而造成的,这个“租”,叫“经济租”。中国改革开放三十年,以往的城乡结合部,同样的农民同样的房子,从自住到全部加盖租出去,个个变身包租公包租婆,大发其达,他们是中国“经济(发展)租”的享受者啊!

最后一个,难一点,但重要。“权力租”,顾名思义,由权力带来的收入。我的理解,这样的权力一般是较有弹性的,不受监控的特权。报纸上经常讲的—“寻租”—讲的是“权力租”。以前学校羽毛球场的门卫和值班阿姨,负责看场收钱,拿一份固定工资,领导不会监控的。于是我们套点近乎,给点“好处”,就经常免费打球!这点“好处”就是他们的“权力租”收入。这是小权力,所以有时,这个收入可能只是几句奉承的话。伸而广之,如果有领导可以有权力批一块地给你盖楼,这个“权力租”的收入就不一样咯。所以,权力不被监控,就会形成我们经常说的“寻租空间”。

不管是“李嘉图租”、“经济租”、“权力租”,还是别的什么名堂的“租”,凡是享有“租”的个人或组织,都是某种程度的垄断者。但不要以为垄断很了不起。我独一无二的“俊朗”外形,你“美妙”的声音,一样是垄断。可惜从垄断到“租值”收入的形成,不是你我可以说了算的。让我借用一段以前读书时摘录的文字来收尾吧。

从“租”的角度理解垄断,将是卓有成效的;人们对各种最终产品的需求,导致了“租”的形成;享有“租”,就是享有某种程度的垄断力;而“租值”的大小,或者说“垄断力”的强弱,则由全人类共同的逐利行为,排山倒海地造就。正因为这样,任何个人或组织,都无法恣意厘定一种“租”或“垄断力”的大小,其所有者也不例外。

永远从“租”值的角度看垄断。

 

 

31 Dec 69 chemsoso终于先放出来了

 忍受30K的速度把war传了上来,发布在了chemsoso.com,先放给google去抓页面吧,就是这样。。。。

31 Dec 69 对Grails的GWT插件大改造!

忍不住Grails的诱惑,决定将整个Spring+Hibernate项目迁移到Grails上。由于项目中原来使用了GWT作为后台控制面板,势必要对Grails和GWT进行整合,以便GWT的RPC服务端能够调用Grails中的功能。由于原有的Grails GWT插件已经比较好用,将GWT整合到GWT中并没有费多少功夫,按照官方文档操作即可。不过遇到了几个虚拟机内存的问题,用Groovy来写RPC服务端的感觉还是蛮好的,但是很快随着代码的移植就发现了问题,Grails中的Service并没有像Controller那样提供了对Session的支持。开源项目嘛,那就自己动手,丰衣足食。

整个Grails是基于Spring的,Service也会被按照规约被定义为Bean,因此我们可以把Session对象注入到Service中。下面是一个Service(没代码加亮插件,凑合着看):

 

class MyGWTService {
    static expose = [ 'gwt:org.myorg.gwt.client' ]
    String getStringTest(){
        return "test"
    }
}
 
如果要在这里面调用session对象当然是不行的,我们按照Grails的方式定义一个session,在类的字段中声明一个
HttpSession session;
(别忘了import javax.servlet.http.HttpSession)
这样Grails会自动提供setter和getter,接下来我们要把session对象注入进去。
在项目的plugins的目录中应该可以看到一个gwt-0.2.4(这是我用的版本),进到里面的src/groovy/org/groovy/grails/plugins/gwt(层次还真多-.-),可以看到GrailsRemoteServiceServlet.groovy,这个就是Service的Groovy实现了,在其中应该可以看到
service = ctx.getBean(serviceName)
在它下面添加
service.setSession(this.getThreadLocalRequest().getSession());
即可。
好了,grails run-app一下,再grails run-gwt-client 9090,ok,我想你碰到问题了。
Grails自动为session生成的getter和setter也进了服务接口了,这显然不是我们所希望的。下面,再来改代码生成器的代码(囧,怎么这么复杂)
在gwt-0.2.4目录下你应该可以看到GwtGrailsPlugin.groovy,这里我们要把getSession和setSession这两个方法给过滤掉。在代码的头部定义了:
private static final GROOVY_METHODS = [
            'getMetaClass',
            'getProperty',
            'invokeMethod',
            'setMetaClass',
            'setProperty' ] as Set
这个Set声明了要过滤的groovy方法,同样,我们把setSession和getSession添进去就行了。如果你想要了解这是如何办到的,自己看GwtGrailsPlugin.groovy吧。
最后再说说虚拟机内存的问题,GWT的宿主模式和编译器都是很耗内存的,虚拟机内存分配小了会严重影响速度,有事还会报错,因此,强烈推荐修改虚拟机内存。在gwt-0.2.4里的scripts目录里,有个_Internal,在这里面找到                arg(value: moduleName)
在其下添加
jvmarg(value: '-Xmx256M')
编译器的虚拟机内存就设置好了,同理,在RunGwtClient.groovy里找到
arg(value"http://${targetServer}/${grailsAppName}")
在其下添加
jvmarg(value: '-Xmx256M')
宿主模式也设置好了。
就是这样,各位同学还有问题欢迎留言或者email联系:blazeblue@gmail.com
转载请注明来自xia3hua4
 
 
 
 

 

buy arimidex australia kamagra uk cheapest buy accutane online viagra professional 100 mg order mifepristone and misoprostol online buy cheap accutane buy nolvadex and clomid