你皱眉我驼背

2012年4月4日 没有评论

小皱的眉头开了
在用15%跑调的声音
唱出100%不被排斥的歌曲之后
我想证明我是很挑剔的
于是我把手伸进胸前的那道口子
却发现它早已飞走不见

分类: 未分类 标签:

2012年3月25日 没有评论

我不爱讲话,这大概有两点原因,一是别人讨论的话题我没有兴趣,这多半又包括一天天重复讨论的没有意义的话题;第二点原因可能是因为我怕跟他/她起冲突,即对许多事情的观点不一致。所以很多时候我都是听,发呆式的,边想自己的事情,边听别人的闲话。可是今天我听着听着就笑了,有点悟出了什么的感觉,但这不好说,我只是问了自己一个问题,“我”是什么?

听人说话听多了会发现里面有许多玄机,这比看小说有意思,因为现实中的他/她个性鲜明,无论什么情况下都不会有性格冲突,而且形象非常丰满。总之无意中的表象所折射出来的本质都是非常真实的。
“我”到底是什么?我不知道,我只是觉得它在我们心中有非常重要的低位,它参与造就了今天和未来的我们,都是“我”这个字在作祟。于是我又问自己一个问题,“我”在自己心中有多重?我是天,我是地,有成语“唯我独尊”、“我行我素”,真没有对不起自己。

我记得我看红楼梦的时候总是能看到宝玉说类似这样的话,“只求你们同看着我,守着我,等我有一日化成了飞灰,——飞灰还不好,灰还有形有迹,还有知识,等我化作一股轻烟,风一吹便散了的时候,你们也管不得我,我也顾不得你们了。那时候凭我去,我也凭你们爱那里去就去了。”于是我又联想到《般若波罗蜜多心经》里面的几句,“色不异空,空不异色”,“受想行识,亦复如是”,“照见五蕴皆空,度一切苦厄”,于是“我”是什么这个问题就迎刃而解了。

佛教里面把“我”分成三种,即真我,假我和神我。我所疑问的“我”是假我,即众生所执着的我,假我由色、受、想、行、识(五蕴)构成,五蕴是什么?五蕴是空,是宝玉说的一股轻烟,到最后什么也不是。

所以在听别人讲话的时候听着听着就笑了,苦厄、烦恼从何而来?“我”。因为它在心中的低位太重。而众人皆不知,以为烦恼是外界使然,岂不可笑!

分类: 記學 标签: ,

MinHash – C++ implementation

2012年3月1日 7 条评论

minhash.h

#include <iostream>
#include <set>
#include <map>
#include <time.h>
#include <math.h>
#include <stdlib.h>
#include <vector>
#include <string>
#include <iterator>

using namespace std;

struct Bool
{
    bool A;
    bool B;
};

template <class T>
class MinHash
{
public:
    MinHash(int i = 20);
    double similarity(T a, T b);
    int numHash;
private:
    int hash[];


    int Qhash(int x, int a, int b, int c);
    map<T, Bool> buildBitMap(set<T> set1, set<T> set2);
    vector<vector<int > > initializeHashBuckets(int numSets, int numHashFunctions);
    double computeSimilarityFromSignatures(vector<vector<int > > minHashValues, int numHashFunctions);
    void computeMinHashForSet(set<T> set, int setIndex, vector<vector<int > > &minHashValues, map<T, Bool> bitArray);
};

minhash.cpp

#include "minhash.h"

using namespace std;

template <class T>
MinHash<T>::MinHash(int numHash)
{
    this->numHash = numHash;
    int hash[numHash];
    srand((unsigned)time(NULL));
    for(int i = 0; i < numHash; i++)
    {
        int a = rand();
        int b = rand();
        int c = rand();
        int x = Qhash(a*b*c, a, b, c);
        hash[i] = x;
    }
}

template <class T>
double MinHash<T>::similarity(T a, T b)
{
    set<T> set1, set2;

    for(int i = 2; i < a.length(); i++)
    {
        string tmp;
        for(int j = i-2; j <= i; j++)
            tmp += a[j];
        //cout << tmp << endl;
        set1.insert(tmp);
    }
    for(int i = 2; i < b.length(); i++)
    {
        string tmp;
        for(int j = i-2; j <= i; j++)
            tmp += b[j];
        //cout << tmp << endl;
        set2.insert(tmp);
    }
    this->numHash = set1.size()+set2.size();
    int numSets = 2;
    map<T, Bool> bitMap = buildBitMap(set1, set2);

    vector<vector<int> > minHashValues = initializeHashBuckets(numSets, numHash);

    computeMinHashForSet(set1, 0, minHashValues, bitMap);
    computeMinHashForSet(set2, 1, minHashValues, bitMap);

    return computeSimilarityFromSignatures(minHashValues, numHash);
}

template <class T>
vector<vector<int > > MinHash<T>::initializeHashBuckets(int numSets, int numHashFunctions)
{
    vector<vector<int > > minHashValues;

    vector<int> temp;
    for(int j = 0; j < numHashFunctions; j++)
        temp.push_back(2147483647);

    for (int i = 0; i < numSets; i++)
        minHashValues.push_back(temp);

    return minHashValues;
}

template <class T>
double MinHash<T>::computeSimilarityFromSignatures(vector<vector<int > > minHashValues, int numHashFunctions)
{
    int identicalMinHashes = 0;
    for (int i = 0; i < numHashFunctions; i++)
        if (minHashValues[0][i] == minHashValues[1][i])
            identicalMinHashes++;

    return  (double)identicalMinHashes / (double)numHashFunctions;
}

template <class T>
int MinHash<T>::Qhash(int x, int a, int b, int c)
{
        int hashValue = (int)((a * (x >> 4) + b * x + c) & 131071);
        return fabs(hashValue);
}

template <class T>
void MinHash<T>::computeMinHashForSet(set<T> set, int setIndex, vector<vector<int > > &minHashValues, map<T, Bool> bitArray)
{
    int index = 0;
    typename map<T, Bool>::iterator cp;

    for(cp = bitArray.begin(); cp != bitArray.end(); cp++)
    {
        for(int i = 0; i < this->numHash; i++)
        {
            if(set.count(cp->first) != 0)
            {
                int hindex = this->hash[index];
                if(hindex < minHashValues[setIndex][index])
                    minHashValues[setIndex][i] = hindex;
            }
        }
        index++;
    }
}

template <class T>
map<T, Bool> MinHash<T>::buildBitMap(set<T> set1, set<T> set2)
{
    map<T, Bool> bitMap;
    typename set<T>::iterator cp;

    for(cp = set1.begin(); cp != set1.end(); cp++)
    {
        Bool boolean;
        boolean.A = true;
        boolean.B = false;
        bitMap[*cp] = boolean;
    }
    cp = set2.begin();
    for(; cp != set2.end(); cp++)
    {
        if(bitMap.count(*cp) == 1)
        {
            Bool boolean;
            boolean.A = true;
            boolean.B = true;
            bitMap[*cp] = boolean;
        }
        else if(bitMap.count(*cp) == 0)
        {
            Bool boolean;
            boolean.A = false;
            boolean.B = true;
            bitMap[*cp] = boolean;
        }
    }
    return bitMap;
}
分类: 記學 标签:

又是一个好天气

2012年2月13日 2 条评论

立春过后的第二个好天气,穿一件衬衫就可以,酸奶不用勺就能倒入嘴巴喝干净。听着Cat Stevens的《Tea For The Tillerman》,打算来写点东西。

早上跟MM坐了两小时的车到云和某阿姨家玩。称呼为某阿姨是因为我几乎不认识她,是MM年轻时的好朋友,据说我四五岁的时候跟她的女儿也是好朋友,我是不记得了。我说,那我带着kindle,你们聊天的时候我就自己看电子书。真就这么准备了,一路看着窗外的美丽风景来到她家,当他们开始聊天,我忽然就想到昨天看的《亲爱的安德烈》,所以我想试验一下,当有父母在的时候他们是否会当着我的面问父母关于我的问题。我不做声,也不看书,她虽然没有明确的问他怎么怎么的,但的确从头到尾都是MM在回答,有一点小小的菲利普的高兴,他得出这样的结论,“妈,我觉得,差别在于,欧洲人是看年龄的,譬如在德国学校里,你只要满十四岁了,老师便要用‘您’来称呼学生。但是,中国人看的不是年龄,而是辈分,不管你几岁,只要你站在你妈或者你爸身边,你就是‘小孩’,你就没有身份,没有声音,不是他们讲话的对象。所以,他才会眼睛盯着你的妈或者爸发问,有‘大人’来为你代言。”小孩与大人,或者年轻与老,这真的是一个相对的概念,当我看着家乡曾经的小朋友一个个都上了初中高中,身高体型都要接近我的时候,我感觉我还是几年前逗他们玩的样子,我说我一点没有长大,但是相对他们来说我是不是老了呢?所以当母亲在用教育小孩的口吻教育我们的时候,我们是不是也应该顺从一点,表现的更‘小孩’一点,那样他们能觉得自己年轻一些?

所以饭桌上的客气话MM会替我说,拿了红包我也交给MM,看,我是一个多好的孩子。忽然想到Bob Dylan跟他妈妈在饭桌上的对话,真是有趣,看来美国跟欧洲也不一样。

“你不在吃,小鲍比”他妈说。
“拜托,妈,你让我很尴尬。”
“我看你午饭就没吃,你瘦得皮包骨了。”
“我在吃啊,妈,我在吃。”
“你还没谢谢制作人请我们吃晚餐。”
“谢谢。”
“嘴里有东西怎么讲话,他根本听不懂你在讲什么。”
“他听懂啦,”迪伦有点带刺地回答。
“别不乖,小鲍比。”

回来坐车,经过一个小村子,MM跟我说她年轻的时候在这里教过书,又指着一小块田说她曾经在那里种过菜。我不知道她心里的感受,是不是有感叹哪座哪座房子已经不再了,哪片哪片田已经彻底荒芜,还是所有东西都一点没变。继续着,她指着窗外告诉那片房子是哪个村,另一片房子又是哪一个村,我静静听着,公路在山上,俯瞰的感觉真漂亮。

分类: 記歷 标签:

python challenge level 0 – 9

2012年1月30日 1 条评论

level 0: pow()

level 1: string.maketrans(), s.translate()

level 2: dict.has_key()

level 3: re, re.compile(), re.findall()

level 4: re, urllib2, urllib2.urlopen()

level 5: pickle, pickle.load()

level 6: re, zipfile, zipfile.ZipFile(), zip.getinfo().comment

level 7: Image, Image.open(), im.getpixel()

level 8: bz2, bz2.decompress()

level 9: Image, ImageDraw, ImageDraw.Draw(), draw.line()

分类: 記學 标签: ,

遐想

2012年1月26日 没有评论

这是我的吉他吧。一个古典一个电。贝斯更好。

坐床上看着自己粗糙的手。我去山上的山上看出了一片星空。

你我都是平凡人。

我想听张学友。

1 6 6 6 .1 7 7 6 5 3 5 6 1

分类: 記樂 标签:

回母校 演讲

2012年1月17日 9 条评论

昨天又走进高中母校。进门的时候门卫问我进去做什么,显然那已经不是当年我们那个门卫了,不然他肯定认得我。我说就想看看,他叫我签字。时间是17:40,忽然想到出来的时候忘记写离开时间了。

答应了一个母校的学妹说给高二同学介绍介绍大学生活。18:30开始。原来我提前这么多就进校园了。进入大门走过那座小桥以后,沿逆时针方向走。正门对着的就是晚上要演讲的报告厅,还早,先去其他地方逛一逛。首先经过篮球场,没有变化,运动场似乎修了一下,天有些黑了已经看不大清楚。左边是我们当年那一届的教学楼,没有一盏灯是开的,应该是高一的学生。教学楼前的草坪似乎到现在还没有长出草来,真没有愧对中间那个叫“土亭”的亭子。继续往前走,正对着是学校最新的教学楼,灯火通明,当初我们都非常羡慕在那栋楼的学生,教学楼前面后面的绿化都非常棒,教室、卫生间也都比我们好,不知道现在是几年级的学生在那里奋战。再往前走是一片小树林,我们毕业的时候那些树还没有多高,没有构成树林的样子,不知道是长得这么快还是新移植过来的,树林里面有些小道,真是牵手谈恋爱的好去处。得左转了,看到食堂,一楼还有几盏灯亮着,跟当初早上5点多起来看到食堂的感觉差不多。继续往前就是学校最新的公寓了,这点我们就遭人嫉妒了,阳台,浴室,卫生间…我现在还是非常怀念,还有躲被窝里看小说的日子。公寓旁边是学校的超市,没有走进去,曾经晚自习结束回来一般会买一只热狗,老板总是挑烤的裂开的那种给我们。往回走了,经过最旧的教学楼,旁边是最旧的宿舍,高中三年有搬过一次寝室,从最新的搬到最旧的,最后不知为啥又搬到了最新的。再往前又到了我们当年的教学楼,旁边的景物没有任何变化,走过去就像去晚自习一样,只是缺少了一点人气。右边那个古老的厕所,我初中的时候就去过。还有前面的最最古老的宿舍,现在应该已经废弃,当年我上小学我姐在这上高中我就有来住过,哦,那时的大门完全不是这样,那应该由我姐来回忆,我觉得那些都应该出现在老照片里。再往前便是科技楼,晚上做演讲的报告厅便在这里,楼顶有一个大足球,人们说里面是一个天文望远镜,现在也不知真假。右边的行政楼没有多少印象,依稀记得哪个班主任的办公室,曾经在楼前体检有人见血便晕倒,还有体检前我是如何嘱咐我妈烧菜要少放油少放盐。

没多大的校园竟也转了40分钟,18:20到会场,零零散散坐着几个学生,门口围着的是工作人员,这比较像大学办讲座的样子,没有多少紧张。慢慢得人就多了,中间区域坐满,然后左边右边,最后面也有人站着。一共肯定得有四五百人。我坐着看他们进场,真的就像看到当年的我们,可是我忘了,我们当初听讲座有这么开心吗?为什么他们这么有朝气?哦,他们真的好年轻,穿着那么朴素,笑容那么朴实,我有过这样的年龄吗?我真忘了。小伤感,也替他们开心。
坐满后全场闹哄哄的,不知道他们议论什么,台上放着介绍今天演讲的几位同学的视频。很快便开始了演讲,主持人说要按年龄来,先是大一,然后大二,所以我年龄最大被排在了最后。也好,我可以好好准备准备。我真没想到他们会如此活跃,我一直害怕冷场,但是没想到不管问什么问题下面都会有反应。这是他们的特性,还是人到了大学都会变得沉闷?我越来越觉得他们不是当年的我们,他们在过着我们从没有经历过的日子,他们朝气蓬勃,天真可爱,个性张扬,跟我们大学生一比,讲座、上课都是一样,下面不会有人作答,提问还要事先找好托儿,我不知道是大学的失职,还是我们高中的教育又提升了一个水平,不管怎样,希望大学后他们的这种性格不会被抹杀。
21点多我讲完,原来他们喜欢用QQ,一个个过来问我们要QQ号。这真是一种代沟吧,跟俱乐部的那帮孩子一样,他们用QQ,QQmail,QQ空间,但是在我这我都不喜欢。真的是老了。
和后面几个说专门过来听我讲的高中同学一起走出校门,小聊几句台湾交流的事,门口分别,不知道他们看到这些年轻的孩子是什么感受。不去提及。

分类: After 17 标签:

此去经年

2011年12月13日 评论已被关闭

那年那天,傍晚,打电话给她,发现正走在她家旁边。

于是第一次走进她家,看电视,看她和她父母一起吃晚饭。

传奇一般。

几年后你没有长大一点。

分类: After 17, 記愁 标签:

小小文字

2011年12月9日 没有评论

来写篇不痛不痒的文字吧。

连续两周天天睡到9点左右,上午宅寝室,下午可能去实验室,或者出去运动,或者依然宅寝,看点杂书,听点音乐,偶尔花一个小时时间考虑写论文的事情,考虑后发现没有头绪然后继续看书听音乐。也就越来越不敢去实验室见老师,各种惭愧。大四这日子过得真跟猪一般,但也算对得起自己,总比日夜颠倒强。

今天依然9点起,i++似乎有今天要励志的想法,比我早起了一些。洗漱完毕一起到公寓外面的包子铺吃早餐,南京灌汤包,好像也差不多吃了两周了,完全没有第一次吃时兴奋激动的感觉,不觉得很好吃了,但总比食堂好,所以总去。吃完回到宿舍i++还真有点想励志,笑问上午怎么办,我说宅寝呗,然后有注定了这个荒废的一天。

所以我在上午花了1个小时时间考虑了min-hash的问题,仔细考虑后觉得优势并不是很大,还没开始写代码就受到了我一定程度的否定。但是归根结底还是要试一试的。上午就先考虑到这,打算下午coding一下。于是开始看杂书,《浮生六记》真是一部有趣的自传“小说”,看作者与芸一起谈书画文学腐乳卤瓜真是有趣极了,游山玩水女扮男装的一段也十分吸引人,读起来便不舍放下,哦,那可是文言文,诡异的是我还穿插着《灿烂涅槃》一起看。

9点多吃早饭后让人非常纠结的是午饭,正点吃不下,晚了没东西吃。胡乱在方便拨了几口米饭,回到寝室为下午滑冰做准备。延续上周的日程,但没想到一件非常错误的事情也延续了下来。去冰场的路上去了趟实验室借701的钥匙,问邹老师他说钥匙不在他那,“昨天的讨论班我没有去”,哦,天哪,忽然想起我又没去讨论班,已经三周没去了,上周王老师还问起来了,解释后说希望我能坚持参加讨论班,竟忘得比上周还彻底。没办法,今天是这周第二次踏进实验室。

两点半到冰场发现他们在上课,不让进。原来上周我们1点半左右就到了。好吧,3点能进去滑,半个小时时间,去街角咖啡坐坐吧,好久没去了。进门发现蓓姐姐(童童适合这么叫)在那里做服务生,好棒好羡慕。还是一杯美式,墙上挂着两幅新疆的照片,于是聊起明年去西藏玩的想法,都很有兴趣。半小时后拎着冰鞋走出咖啡馆,自在,无一丝囧意。

下课后冰场上人少了许多,又由于天气太冷、新冰鞋不习惯,滑起来没有上周那么兴奋。4点回宿舍,因没有上周屁股着地向前滑行10米之体验,颇感不快。童童在丘丘上说想出去改善改善伙食,然后几个人一起去太阳好家园吃了一顿,四个人一起出去,一个人回到寝室。写下这不痛不痒的文字。

最近好腐败,周日还要腐败,一起赴台交换的朋友们,我好想你们。

分类: 下午三点 标签:

我去看王菲

2011年11月27日 2 条评论

好吧,总是有事情会影响自己的心情,以至于昨天刚看的王菲演唱会现在都没有多少闲情逸致来写这篇博客。但是还是要写的,不管什么心情。

真得不管听谁的现场,不管大牌不大牌,只要是现场,我就会特别激动。我想一个原因是现场的音响效果,有鼓想起来的时候我会觉得心脏跟鼓是一个频率在震动的,带耳机听歌那感觉永远传不到心脏。第二个原因是现场的气氛,也许流行乐不明显,摇滚乐的现场,最前排总会有一批人在玩pogo,哈工大摇滚公社每次办活动前面总有好多人pogo,那是真的沉浸在音乐里面,而不是简单的几句尖叫。

王菲这次来哈尔滨也是让我激动地不得了的,以至于演唱会前一天我就开始紧张,我说那感觉像去年在台南见到刘德华的感觉一样。被小苗鄙视了。是吧,有什么好紧张的。提前一个半小时入场,舞台好小,体育馆也好小。没有一个暖场乐队让我很吃惊,更吃惊的是暖场放得音乐是班得瑞,很无语,这一个半小时过的很无聊。但是当灯光一暗下来的时候心跳马上加速了,帷幕啪的落下,舞台中间一个白色的雪莲,这就是出场,开场曲,雪中莲。邓丽君的经典。
IMG_4505
太美了,声音,人,舞台,布景,荧光棒,尖叫声…
我说我去听演唱会有一部分原因是邓丽君,所以第一首就听到邓丽君的歌让我非常激动。第4首唱的邓丽君的你在我心中更是把我激动坏了,我是一路哼着这首歌从一区到会展中心的。
IMG_4518
短发也是那么漂亮。

IMG_4522
天后下去换衣服了,两个乐手一段吉他solo让现场小high了一番。

IMG_4534
整场最high的是《天空》,王菲坐着秋千飞出了舞台,直到场馆最中间。
IMG_4538
是不是很酷?简直美翻了,就是天后,不用说话,朝一边挥手,一边马上沸腾。飞出来的过程唱的是天空,回去的时候唱的是但愿人长久,全场合唱哦,高潮。

IMG_4543
人间。

IMG_4552
结尾曲彼岸花,场景也非常漂亮。

一共唱了23首歌,两个小时,说了一个hello和五个谢谢。天后就是有范儿,只用招手就让全场沸腾。只是结束得有点突兀,直接消失不见,然后就是广播说演唱会结束了。这就是大牌吧,意犹未尽。散场的时候放的是王菲唱的关于佛教的歌,也许歌词是金刚般若波罗蜜经的内容,貌似有那么一点点印象。

整体来说视觉效果完美,听觉效果欠佳。也许是位置的原因,以后要坐内场啊。

分类: 小步舞曲 标签: