一个半月了,我们居然一次都没有撞上

住在这里一个半月了,我们居然一次都没有碰上。

今天某K在MSN上问我问题,问题问完后,K问我现在住在哪里。
K说她也住在这里,我诧异,噢,原来是同事K,我误把K当作另外一个同名(英文)的K了。
不过更让我诧异的是我们发现原来我们住在同一个楼上,我从Google街景地图上截下楼的外景图(嗯,是的,Google街景图上可以看到我的窗户!)发给K,K确认说没错,就是这个。
他们四个(K、C、W、B)经常在一起打牌,就剩下我隐蔽得比较好,他们没有发现我,我也没有发现他们,我只是一直在猜测同事W是不是住在隔壁,原来他不是住在隔壁,而是住在隔壁的隔壁。

Advertisements

Table is marked as crashed and should be repaired

http://blogmover.redv.com/ 的表 crashed 有一段时候了,当我发现时,我发邮件通知朋友帮我修复(Blog Mover 是托管在朋友机器上的),可能由于邮件被当作了垃圾邮件,所以至今尚未得到修复,今天抽了点时间,爬上服务器修复了一下,不过我这里用ssh连接到服务器上,没个几分钟就断,为了找到 mysql 安装目录和数据所在目录,颇废了一番劲来执行 find。不过这不是本文的主题,本文是要记录修复方法:
参考:http://dev.mysql.com/doc/refman/5.0/en/repair.html
执行命令:/path/to/mysql/bin/myisamchk -r /path/to/mysql/data/blogmover/moving.MYI
– recovering (with sort) MyISAM-table ‘/path/to/mysql/data/blogmover/moving.MYI’
Data records: 3066
– Fixing index 1
– Fixing index 2
Data records: 3067

修好了,可以用了。

下面是表 crashed 后,Java 程序的堆栈跟踪,供参考:

javax.servlet.ServletException: org.hibernate.exception.GenericJDBCException: could not execute query at net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:152) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:97) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173) at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229) at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:420) at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511) at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520) at com.caucho.util.ThreadPool.run(ThreadPool.java:442) at java.lang.Thread.run(Thread.java:619) Caused by: org.hibernate.exception.GenericJDBCException: could not execute query at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) at org.hibernate.loader.Loader.doList(Loader.java:2223) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811) at com.redv.blogmover.logging.dao.hibernate.MovingHibernateDao.getToCount(MovingHibernateDao.java:177) at com.redv.blogmover.logging.LoggingServiceImpl.getMovedInCount(LoggingServiceImpl.java:115) at sun.reflect.GeneratedMethodAccessor681.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy1.getMovedInCount(Unknown Source) at com.redv.blogmover.logging.ReportBuilder.buildStatistic(ReportBuilder.java:41) at com.redv.blogmover.web.tags.ReportTag.renderLines(ReportTag.java:88) at com.redv.blogmover.web.tags.ReportTag.render(ReportTag.java:64) at com.redv.blogmover.web.tags.ReportTag.doEndTag(ReportTag.java:45) at _jsp._reports._moving_22dstat__jsp._jspService(_moving_22dstat__jsp.java:59) at com.caucho.jsp.JavaPage.service(JavaPage.java:60) at com.caucho.jsp.Page.pageservice(Page.java:579) at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:179) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70) at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75) at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92) … 8 more Caused by: java.sql.SQLException: Table ‘./blogmover/moving’ is marked as crashed and should be repaired at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665) at com.mysql.jdbc.Connection.execSQL(Connection.java:2978) at com.mysql.jdbc.Connection.execSQL(Connection.java:2902) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:930) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1024) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) at org.hibernate.loader.Loader.getResultSet(Loader.java:1787) at org.hibernate.loader.Loader.doQuery(Loader.java:674) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) … 44 more

北京奥运开幕式上的经典Windows蓝屏

北京奥运开幕式上的经典Windows蓝屏(http://chiong.cn/2008/08/windows-blue-screen-in-beijing-olympic-opening-ceremony/ )

公元2008年8月8日,第29届2008北京夏季奥运会正式拉开帷幕。华美绚丽的开幕式让外国友人一口一个“amazing”和“splendid”

这厢,来自来自微软的工程师为Windows XP Embedded在奥运开幕式顺利完成任务而沾沾自喜;那厢,有人却在鸟巢奥运开幕式现场H区3层的顶棚拍摄到Windows经典蓝屏的一瞬间照片。

开幕式上的Windows经典蓝屏 (http://it.solidot.org/article.pl?sid=08/08/10/023234 )

Sanyang 写道 "公元2008年8月8日,第29届夏季奥运会正式拉开帷幕。2008北京奥运会开幕式的盛大隆重不仅征服了国人,也赢得了世界各国媒体的交口称赞. 当来自微软的工程师还在为Windows XP Embedded在奥运开幕式顺利完成任务而兴奋不已的时候(美联社的报道称微软动用了120台基于XPe Axon Media Servers。),却不知有人在鸟巢奥运开幕式现场H区3层的顶棚拍摄到Windows经典蓝屏的照片。"

秦始皇老人家,您别激动啊

公元前221年,秦始皇在先后灭掉了韩国、赵国、魏国、楚国、燕国、齐国后统一了中国,后以秦国通行的文字为基础制定了小篆,颁行全国,统一了汉字,给中国各地经济和文化的交流与发展带来了深远的影响。
公元后2008年的今天,上海大学中文系钱乃荣教授及他的研究生和搭档开发出一套上海话输入法,年青一代讲上海话,打上海话的热情高涨。
明天,各地方言输入法如雨后春笋,人们以说方言为荣,打方言为耀,普通话推广计划受阻,各地方言交流和沟通困难,给中国各地经济和文化的交流与发展带来了沉重的灾难。
后天,……。

注:本文标题来自《"上海话输入法"网上发布五天下载量数万》( http://www.cnbeta.com/articles/61846.htm )的第19楼匿名人士的评论。

JPlanet 1.0.0 released

On July 27, we released the JPlanet 1.0.0, you can download it from http://mirrors.redv.com/pub/jplanet/ now.

JPlanet is an awesome ‘river of news’ feed reader. It downloads news feeds published by web sites and aggregates their content together into a single combined feed, latest news first.

And today, more than one year past, I deleted the project "planet-jupiter" which is the precursor of JPlanet when it was in our lab, and the following is the log of planet-jupiter, note down here, just to console oneself.

svn log -v https://svn.redv.com/repos/planet-jupiter
————————————————————————
r8 | sutra | 2007-05-03 01:09:28 +0900 (四, 03 5 2007) | 1 line
Changed paths:
M /trunk/pom.xml
A /trunk/src/main/webapp/WEB-INF/urlrewrite.xml
M /trunk/src/main/webapp/WEB-INF/web.xml
M /trunk/src/main/webapp/planet.jsp

增加 urlrewritefilter 来处理 /feed/*。
————————————————————————
r7 | sutra | 2007-05-01 01:08:34 +0900 (二, 01 5 2007) | 1 line
Changed paths:
M /trunk/src/main/webapp/planet.jsp

Description.value.
————————————————————————
r6 | sutra | 2007-05-01 00:11:13 +0900 (二, 01 5 2007) | 1 line
Changed paths:
M /trunk/src/main/webapp/planet.jsp

Add a comment.
————————————————————————
r5 | sutra | 2007-05-01 00:02:01 +0900 (二, 01 5 2007) | 1 line
Changed paths:
M /trunk/pom.xml
M /trunk/src/main/java/com/redv/planet/PlanetServlet.java
M /trunk/src/main/webapp/WEB-INF/web.xml
M /trunk/src/main/webapp/index.jsp
A /trunk/src/main/webapp/planet.jsp

Implemented html output.
————————————————————————
r4 | sutra | 2007-04-30 21:11:06 +0900 (一, 30 4 2007) | 1 line
Changed paths:
M /trunk
M /trunk/pom.xml
A /trunk/src/main/java/com/redv
A /trunk/src/main/java/com/redv/planet
A /trunk/src/main/java/com/redv/planet/PlanetServlet.java
M /trunk/src/main/webapp/WEB-INF/web.xml
M /trunk/src/main/webapp/index.jsp

Planet servlet.
————————————————————————
r3 | sutra | 2007-04-30 05:21:33 +0900 (一, 30 4 2007) | 1 line
Changed paths:
M /trunk
M /trunk/pom.xml
A /trunk/src/main/java
A /trunk/src/main/java/com

Ignore eclipse files.
————————————————————————
r2 | sutra | 2007-04-30 05:12:00 +0900 (一, 30 4 2007) | 1 line
Changed paths:
A /trunk/pom.xml
A /trunk/src
A /trunk/src/main
A /trunk/src/main/resources
A /trunk/src/main/webapp
A /trunk/src/main/webapp/WEB-INF
A /trunk/src/main/webapp/WEB-INF/web.xml
A /trunk/src/main/webapp/index.jsp

Maven initial.
————————————————————————
r1 | sutra | 2007-04-30 05:11:22 +0900 (一, 30 4 2007) | 1 line
Changed paths:
A /branches
A /tags
A /trunk

Initial directory structure.