赶路的人

Categories: 垃圾山 February 26th, 2015 13:03

站在村头的小山顶,看着被落日余晖跟炊烟覆盖的小村庄,这是生我养我的地方,我的父母常年生活在这里,我的爷爷奶奶住在我旁边的坟里。 十几年前,我扑棱棱的飞了,越飞越远 – 不仅仅是距离,更多的是差别。 每年过年前,我站在这里,就会觉的舒畅,踏实。

生活被机场隔开了,在机场这边,我期待能够飞的更远,可在机场那边,我却朝思暮想的期待有一天能让父母开心幸福的生活。 在家乡读着流浪的书,却在异乡想念故乡的酒。

在我的家乡,过年有一定的流程,对我来说大致可以简化为 上坟,贴对联,喝酒,喝酒,以及更多的喝酒。每年是应该喝几两辣心口的白酒,听一听那些掏心窝子却又有些刺耳的酒后真言,老少爷们们在一杯又一杯之间就开心的把一年度过了。

我希望奔波了这么久,回家能够温和谦逊的孝顺父母,可往往我对他们有更多的不满,这样的懊悔感日益增强,直到临走前一天,甚至希望自己不曾回来过 – 因为没有带给父母开心与欢喜,没有带走多少父母的寄托,却给他们留下了更多担心。

北风吹。 在新加坡的时候我经常怀念这样的冷风,这样的风,凌烈,清澈,嗖嗖的吹在脸上,吹过树梢,吹过马屁股,冷风吹在脸上,家的温馨就容易涌上心头。

二堂哥说,我们堂兄弟们这么亲,过年都会回来上坟磕头,不知下一代会怎么样,他们还知道家里几口人,谁是谁的谁吗?作为长久以来离开农村的第一代,我隐约觉得我的孩子们甚至可能不喜欢农村,甚至讨厌回国(假如我留在国外),他们身体跟灵魂只会偶尔飘过这个小土村,再过几十年,坟头会杂草丛生,没人在清明添土,没人在年前上坟。 再过几十年,杂草或是地产商占领里这里,不会再有人牵挂这里的人,更不会有人想起这里平凡朴素的生活。 这或许是一种进步,但这样的进步让我心痛。

我习惯了赶两条路,一条是回家的,另一条是离家的。 前一条走的欢喜 迫切,像小孩子蹦蹦跳跳的追糖葫芦,后一条却忧伤 拉扯,慢慢的吃一盘拔丝红薯就是那种感觉。

今天我又踏上了这条离家的路,希望这条路走的顺利,希望我能带给挂念我的人欢喜与快乐。

愿平凡与朴素陪伴你。

Maven: Understanding Lifecycle, Phase and Plugin Goal by code

Categories: Development NotesJava February 11th, 2015 23:24

Lifecycle

There are same built-in build lifecycles: default, clean and site. The default lifecycle handles your project deployment, the clean lifecycle handles project cleaning, while the site lifecycle handles the creation of your project’s site documentation.

the default lifecycle includes many phases, e.g: validate, initialize…compile, test, package, integration-test, verify, install and deploy.  check Maven 3 components.xml;

If you run one phase, e.g. install, it will execute not only that phase (install), but also every phase prior to the install phase;

Phases

A Build Phase is Made Up of Plugin Goals;

for maven 3.1, compile phase is using: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile;  get more details from default-bindings.xml

Plugin Goal

A plugin may have one or more goals wherein each goal represents a capability of that plugin.

plugins can contain information that indicates which lifecycle phase to bind a goal to. Note that adding the plugin on its own is not enough information – you must also specify the goals you want to run as part of your build. A plugin goal may be bound to zero or more build phases. A goal not bound to any build phase could be executed outside of the build lifecycle by direct invocation.

pom configuration examples:

maven compile: http://maven.apache.org/plugins/maven-compiler-plugin/usage.html

maven javadoc: http://maven.apache.org/plugins/maven-javadoc-plugin/usage.html

2014流水帐

Categories: 垃圾山 January 1st, 2015 23:24

在过去的几年里,每到年底,我总是希望旧的一年赶紧结束,新的一年快点到来。 这并不是因为我对新的一年充满希望,而是因为我又荒废了一年的时间,希望尽快重启 —- 虽然我很清楚,重启并不能从根本上解决问题。

2014是充实的一年, 人到三十,我还是第一次觉得过去的一年“充实”

1月1日凌晨从台湾回来后就连滚带爬的忙工作

2月回家过年,路过上海跟同学(天文台测天气的那位)/ 同事吃喝两天; 回来后跑了我的第一个半马,耗时2:45 (Marina Run);

3月去了珠海 港澳,跟阿达西.fan吃了大盘鸡还在伶仃岛上过了一晚;

4月去了泰国,在Ayutthaya骑自行车被群狗追;

5月去了云南,洱海骑了电瓶车,泸沽湖骑了摩托车(第一次);

6月买了Garmin Forerunner 220, 开始记录跑步, 并把数据同步到Strava;

7月用Python写了一个小工具下载Youtube指定用户的所有video;

8月去呼和浩特跟大学时猥琐而亲切的朋友们(Boss, 狗顺, 恐龙)吃肉喝酒,聊人生 撒野尿,在草原上骑马开车, 半夜冻的牙齿打架。回北京时还坐了号称”我们不是卖座,我们是为人民服务“的餐车,在车站外把啤酒喝完后鸟兽散。 赶早晨飞机回家呆了一周, 父亲六十了。

11月去了巴里岛,热;

12月去了马六甲,吃; USS玩一天(HSBC办卡送的票,坐埃及那个ride时吓的叫出来了), 跑完渣打马拉松,4:32;

跑步 骑车

跑步:  1000+KM
自行车:680+KM  (11月起开始骑自行车上下班)

14年竟然有150个小时花在运动上 -> Strava生成的2014 story(cycling)。

image

书 电影 播客

年初翻过几本: 《人子》, 《1980年代的爱情》,《月亮和六便士》,《白鹿原》,《梁羽生散文》,《送你一颗子弹》,《知青变形记》, 《夹边沟记事》,《拖拉机简史》,《雪国》, 《一个人的村庄》,《烽火岛》; 粗体的几本值得花时间好好看;

这一年看了太多电影, 喜欢的:

《亲爱的》,《无物申报》, 动画片《超能陆战队 Big Hero 6 》, 《狂怒》(Fury), 《杀死一只知更鸟》, 《美国丽人》,《偷自行车的人

中文常听的:“李峙的不老歌”“新闻酸菜馆”“东吴相对论“;

 

想感谢很多应该感谢的人,但似乎这些应该感谢的人都不需要感谢。 不论你是谁, 当你看到这里,我想说声: 谢谢, 新年快乐。

Java: Generate Random String

Categories: Java; Tagged with: ; @ December 22nd, 2014 23:04

Solution:
1). generate random string using java.util.Random; or
2). Use Apache commons lang;

   public void testRandomString() {
        System.out.println("RandomStringGenerator.getRandomString(5): " + RandomStringGenerator.getRandomString(5));

        System.out.println("RandomStringUtils.random(5): " + RandomStringUtils.random(5));
        System.out.println("RandomStringUtils.randomAlphabetic(5): " + RandomStringUtils.randomAlphabetic(5));
        System.out.println("RandomStringUtils.randomNumeric(5): " + RandomStringUtils.randomNumeric(5));
    }

output:


RandomStringGenerator.getRandomString(5): r2irv
RandomStringUtils.random(5): 㩩ﻰ뒛ţ䍋
RandomStringUtils.randomAlphabetic(5): Nhnfe
RandomStringUtils.randomNumeric(5): 51685

1. Random String Generator:

package com.liguoliang.java.utils;

import java.util.Random;

/**
 * Created by Guoliang, Li on 12/22/2014.
 */
public class RandomStringGenerator {

    private static char[] repo;
    static {
        StringBuilder tmp = new StringBuilder();
        for (char ch = '0'; ch <= '9'; ++ch)
            tmp.append(ch);
        for (char ch = 'a'; ch <= 'z'; ++ch)
            tmp.append(ch);
        repo = tmp.toString().toCharArray();
    }

    public static String getRandomString(int length) {
        char[] buf = new char[length];
        Random random = new Random();

        if (length < 1) {
            throw new IllegalArgumentException("length < 1: " + length);
        }

        for (int i = 0; i < buf.length; i++) {
            buf[i] = repo[random.nextInt(repo.length)];
        }
        return new String(buf);
    }
}

Apache commons lang:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>

Sybase Convert between Number and Varchar

Categories: Database December 22nd, 2014 22:37

SELECT (CONVERT(NUMERIC(20, 0), '100') + 1)

>> 101

 

 

SELECT (CONVERT(VARCHAR(3), 100) + 'ABC')

>> 100ABC

Older Posts


Popular Tags

Archives


AD


// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.