仅记录一下
Using CATALINA_BASE: /…/tomcat
Using CATALINA_HOME: /…/tomcat
Using CATALINA_TMPDIR: /…/tomcat/temp
Using JRE_HOME: /…/jdk
# C [libzip.so+0xbc53]
#
# An error report file with more information is saved as:
#/…/tomcat/hs_err_pid32035.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

右眼下方,代价是旧眼镜完全损坏,不可再修复了。这个旧眼镜首次损坏于 2005年12月16号晚上7点,地点是五台山中台顶部。后来用万能胶反复修理,一口气戴了三年多。
今天终于名正言顺的用上了新眼镜,先前还用过两次,都是参加婚礼时临时换下破眼镜。
BTW: 发现自己连话都不会说了~~~

生存是第一需要

一年了。
每日浑浑噩噩的度过。
一眨眼,2008年过去了,太快了。
2009来了……

据说这个bug仅仅会在 Grails 1.0.4 中出现,有人建议直接使用 1.0.5 的预览版本,不过我看到 1.1 beta2 已经发布了,看来用不了再等多长的时间了。
修改文件 GRAILSAPP/plugins/fckeditor-0.8/grails-app/controllers/FckeditorController.groovy
在最后面,大概是 264 行附近开始,把如下一段:
def file = multiRequest.getFile(“NewFile”)
if (!file) {
errorNo = Fckeditor.ERROR_CUSTOM
errorMsg = “INVALID FILE”
}
else {
errorNo = Fckeditor.ERROR_NOERROR
newName = file.originalFilename
def f = splitFilename( newName )
if (isAllowed(f.ext, type)) {
def fileToSave = new File( finalDir, newName )
if ( !overwrite ) {
def idx = 1
while ( fileToSave.exists() ) {
errorNo = Fckeditor.ERROR_FILE_RENAMED
newName = “${f.name}(${idx}).${f.ext}”
fileToSave = new File( finalDir, newName )
idx++
}
}
file.transferTo( fileToSave )
}
else {
errorNo = Fckeditor.ERROR_INVALID_FILE_TYPE
errorMsg = “INVALID FILE TYPE”
}
}
替换为:
def file
if (ServletFileUpload.isMultipartContent(request)) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List /* FileItem */ items = upload.parseRequest(request);
file = items.find {
!it.isFormField() && ‘NewFile’ == it.fieldName
}
}
if(file) {
errorNo = Fckeditor.ERROR_NOERROR
newName = String.valueOf(System.currentTimeMillis())+’.’+FilenameUtils.getExtension(file.name)
def f = splitFilename( newName )
if (isAllowed(f.ext, type)) {
def fileToSave = new File( finalDir, newName )
if ( !overwrite ) {
def idx = 1
while ( fileToSave.exists() ) {
errorNo = Fckeditor.ERROR_FILE_RENAMED
newName = “${f.name}(${idx}).${f.ext}”
fileToSave = new File( finalDir, newName )
idx++
}
}
file.write( fileToSave )
}
else {
errorNo = Fckeditor.ERROR_INVALID_FILE_TYPE
errorMsg = “INVALID FILE TYPE”
}
} else {
errorNo = Fckeditor.ERROR_CUSTOM
errorMsg = “INVALID FILE”
}

今天就遇到了这个问题,因为在提交数据时,有时候需要上传文件,有时候不需要。偷懒了一下,没有做任何判断,直接给 form 添加了 enctype=”multipart/form-data” 这个属性。
在测试环境还好,一切正常。等部署到生产环境后,发生了一个稀奇古怪的空指针异常,看上去没有任何理由应该会发生这个错误。
排查开始…………(省略30k+的辛苦描述)。最后发现问题的根源就在 enctype=”multipart/form-data” 这里。
大家记住了,如果没有上传文件,千万不要随便给 form 乱加 enctype=”multipart/form-data” 属性。

执行命令,确保 evolution 已经完全关闭
evolution –force-shutdown
删除以下目录,这样所有邮件、联系人、日历等等都没有了
rm -rf $HOME/.evolution $HOME/.gconf/apps/evolution
执行下面的命令破坏 evolution 的配置
gconftool-2 –break-directory /apps/evolution
最后重新打开 evolution 就可以了

来源于:http://nwgale.blogbus.com/logs/29283654.html

微软的密码强度检查

http://www.microsoft.com/protect/yourself/password/checker.mspx

大家看看这个密码的强度

}>&|<*+-!\?$:”{,@#’/.]=^)_[;(%

怎么样?我个人觉得挺难,但是密码强度检测结果却是 Weak,如果你继续在密码后面添加一个数字,比如 1,密码强度就会变为 Medium,继续添加一个字母,比如 d,强度就成 BEST了。密码好不好就差这么 1d ^_^

一个用 PHP 写的密码强度检测代码,可以在 http://www.alixaxel.com/wordpress/2007/06/09/php-password-strength-algorithm/ 这里找到。

维基百科上有关密码强度的条目

一个十七岁的小姑娘在喝了14杯 espresso 咖啡后,开始感觉不适,不由自主的哭笑,被急忙送到医院。不过当年我也喝过过量的咖啡,是在高中的一个晚上,和郭同学一起狂喝了40来杯吧,倒是没感觉有什么异常,差不多两个晚上没睡觉,随后的几天里浑身都是软绵绵的,有些头疼,然后就没啥了。

read more | digg story