Alexandria with Douban support

迟到的新闻了,5月8号,GNOME桌面的书籍管理程序Alexandria发布了0.6.6 Beta2。上个月底我提交的豆瓣支持已经被加入了标准发布的打包里,这里可以看到Release note
http://alexandria.rubyforge.org/news/2010-05-08–0.6.6beta2-released.html

最近半年忙里偷闲给开源软件做一点贡献,上次gnome deskbar wiki名字是自己加上去的,这次在alexandria里终于算是得到了一些认可,再接再厉,嗯!

各位用开源桌面的读者是不是看在这个份上也装一下这个软件啊。。。

我的卡卡颂

口水了一年多的入门桌游,在山寨高仿版本泛滥的时候,我终于拥有了属于自己的。
carcassonne

卡卡颂规则简单,号称是最佳入门桌游。除了基本版以外,后来又陆陆续续除了很多扩展,更有传闻说还有一款投石机扩展,提供一个木制的简易投石机让卡卡松变成了动作类游戏。我最喜欢卡卡颂的地方除了本身的趣味性之外,还要数最后游戏结束时的场面,让人看了真有成就感。(本来这里有幅图的,鉴于背景是床单,就不展示给大家了)

原版的卡卡颂big box 2(所谓全集),在亚马逊上要卖到64美元。而淘宝上山寨的原版加四合一扩展大概也就不到90元(big box比这个多了一个修道院与市长扩展),关于这个我也不说什么了。

第一次玩卡卡颂是全年三月底左右和工作室的上海帮在桌游店,那是第一次玩桌游,印象那叫一个深刻。第二次是毕业前和原来寝室同学一起玩他自己买的Bigbox(那叫一个阔气)。嗯,要提一下,第一次组织游戏的童鞋后来去了伦敦,第二次组织游戏童鞋后来去了米国。等过几天回南京了,我再找那位要去倭国的童鞋来两局,进一步提升一下国际影响。

我还是个桌游新手,最近盯上了冷战背景的Twilight Struggle, 心里有痒痒的,希望能有一笔横财,让我好不心痛地拿下它。

Maven recipe #1: Test Java code with groovy

问题: 受够了,不想写Java了,写个含有数据的map还要new出来一个一个put进去,想用groovy解决单元测试
解决: gmaven+groovy eclipse插件可以解决这个需求
在pom.xml中添加gmaven的依赖,注意,仅用来测试。老大不让生产代码里有不可靠的东西。

...
        <dependency>
            <groupId>org.codehaus.groovy.maven.runtime</groupId>
            <artifactId>gmaven-runtime-default</artifactId>
            <version>1.0-rc-3</version>
            <scope>test</scope>
        </dependency>
...
            <plugin>
                <groupId>org.codehaus.groovy.maven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.0-rc-3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>generateTestStubs</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

在eclipse中新建source folder, src/test/groovy,在其中创建groovy test case即可

Maven recipe #0

问题: 多个root pom的dependencyManagement有重复的内容,希望统一管理。
解决:
新建一个空pom.xml,在dependencyManagement中指定这些依赖,如

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>info.sunng</groupId>
    <artifactId>root</artifactId>
    <packaging>pom</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <dependencyManagement>

        <dependencies>
            <dependency>
                <groupId>info.sunng</groupId>
                <artifactId>X</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>

将这个pom.xml部署到你的Maven私服。

在其他root pom中添加这样的dependencyManagement

....
            <dependency>
                <groupId>info.sunng</groupId>
                <artifactId>root</artifactId>
                <version>0.0.1-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
....

开始实践Poromodo Technique

看了@juvenxv的博客介绍Poromodo Technique Illustrated一书,结合我现在低下的工作效率,我决定实践一下这个方法。

  • 一张TODO表记录今天的计划
  • 一张Activity Inventory表用于记录长期的任务,标记已完成的任务
  • 一张Record表统计每天完成的任务数量

一个Poromodo持续25分钟,在这25分钟内只专注当前任务。Poromodo间隙用来给大脑做缓冲,清空前一个任务的影响,以便下一个Poromodo开始时快速切换到相应任务。

应对Interruption,对internal的accept, record & continue,一个poromodo作为一个原子单元不可被打断,一旦被打断应该重新开始。
对external的,评估重要性,分别拒绝、延后、安排时间、安排回调。