请把你的微笑留下

一首歌上来,像喝了一口烈酒,胃里翻江倒海,惦记着,我他妈到底什么时候才能够正经地写一篇记叙文,白描也行,没有味道也不要紧,重要的是要打破高中语文老师给我下的该死的死咒,这死咒箍的我头疼,箍的我蛋疼,箍的我一天到晚傻不拉几的,如冰柜里雪白的裸体鸡,脖子老弯向下体。

心里难平我便会看看星空,好让自己明白,无论我傻缺到天上还是傻缺到地里,都不重要,相对这浩淼的宇宙,地球都显得格外傻缺,上面的人类就不提了。如果那时是白天或者是晚上但有浓云,我就试着回忆对着银河数星星的日子,不一样的方法,但有着相同的目的。那时正值秋夜,没有奶奶温柔的怀抱,我蹲在厕所涨红了脸,汗流通背,咬着牙,攥紧拳头,奋力苦战最后几分钟,死命把大便往直肠前面拱,差不多时,突然卡壳了,我临危不乱,大吼一声,把拳头大小的屎厥子逼出我的身体。由于太过用力,导致心跳加速,眼睛开始迷乱起来,一抬眼便看到了猎户座,这名腰里别刀的野男子,老师说那是刀,专门砍偷他女人的男人和女人,但后来我又听到了其他说法,一说是剑,一说是腰带,但都没有和我想的一样的,我怎么看怎么觉得那像斜伸的大屌。快二十年过去了,我依然只认识猎户座,每次我和姑娘指出哪个是猎户座,她们便说,哇,阿贵好厉害,真浪漫……再用个什么星图之类软件,她们都要飞升起来,恨不得把我揽入怀抱,然后拍死,接着钉入猎户座,成为她们永久的星座。猎户座是我肛门永远的红肿,面对整个星空,我就只认识这个红肿星座,从头到尾一点都不浪漫,这说明浪漫都是用来骗傻缺的,都是一群什么人啊。

刚在听的歌是《把悲伤留给自己》,老歌,第一次听时比接触红肿星座还要早。当时听不懂,只觉得开头的口琴很好听,但至今我不会吹像样的曲子,我什么乐器都不会,我什么都不会,有人曾经跟我说你不会弹琴不会画画不会写诗不会搞对象,怎么还有勇气活下去。我说,我会吹竖笛。他说我故意要激怒他,然后疯狂的反驳,说,你傻缺,你有毛病,竖笛是屎,竖笛是癌,竖笛是你傻缺的命脉,你得癌了,你要去医院接受治疗,最好开个刀,在脑壳子里。这种说法来得早,扎的深,我开始认为搞音乐的搞艺术的都屌炸天,有气质,个个忧郁,能够徒步千里不拉屎。后来,我发现了真相,大部分人都傻缺,搞艺术的也不例外,该傻缺的比傻缺还傻缺,都是一群什么人啊。当然,我真喜欢那些真屌炸天的,真有气质的,真忧郁的,真徒步千里不拉屎的,你们都是我心中的偶像,血液里的活佛,你们丰富了我的生活,让那些虚伪的傻缺滚一边去吧。

前两天刚重听了另一首歌,一个和《把悲伤留给自己》这首歌的作者搞过暧昧同时也是他徒弟的一名女歌手唱的,这首歌最开始是在电影《天下无贼》中听到的,歌名叫《知道不知道》。曲子很老了,但新填的歌词很动人,每每听来,便如漫步于夏日的海边,沐浴着晚风,层层涌起小浪涛轻轻拍打我的小心肝,一不小心泪腺便失禁了,哗啦啦的流个不停。

我在想为什么没有暧昧这种单独的感情,不是说不存在,而是为什么不能被正常的广大人民群众所接受,现在不是讲究专业精分嘛,英特尔芯片流水线都搞到逆天的24步了,为什么可接受的感情还这么二进制。让我们来研究研究暧昧,什么叫暧昧,初次相遇,最好是偶遇,电梯,花园,咖啡馆入口处等旮旯,空间越逼仄越好,都有老公老婆男友女友就更好,聊了两句,甚是欢喜,没想到在这傻缺遍地的地方竟能遇到活宝,遇到活宝后其他人就更傻缺了。聊的越开心,接下来暧昧的程度越大。聊星座,聊书,聊电影,聊经济,聊历史,最好都能聊聊偏冷门的东西,这将极大的丰富你在对方眼里不是傻缺的可能,没有什么他妈是不能聊的,连对话本身都可以聊。聊着聊着便开始图不轨了,想把对方捧入手心,变成自己的红肿星座,想一直聊下去,聊到睡着,醒来后接着聊,大便的时候也不怕熏到对方。临走时,约好,下次接着聊,最好是一个新的地方,最老的地方是分手用的。晚上睡不着,旁边有自己的老公甚至有孩子也不踏实,就是睡不着,开始操心红肿星座怎么样了,于是就发短信问,你睡着了吗?短短几个字,融入无限的温柔,老公做梦都想不到的温柔,像彗星的彗尾,弥散在夜空中。十分钟没回,二十分钟还没回,开始流汗,坐起来,挠挠头,重新对了下号码,发现写错了,开心极了,仿佛收到了红肿星座的回复一样,一开心,便又睡着了。第二天见了面,先矜持,仿佛隔了数年未见似的,女方用手把头发撩到耳朵后面,怎么温柔怎么来,男方则礼貌大方,双方开始聊天,双方开始傻笑,聊天和傻笑是并行运算的。仿佛每句话都饱含笑点,别人都用看傻缺的眼神看着你们,你们无视他们。聊的内容不能和昨天太重合,这意味着你得懂很多,不然就像是干射,很容易被对方识破你就那么点存货,女方会因为这点而向你脸上泼咖啡——臭流氓,男方会借着去洗手间的时侯从后门偷偷溜走。总的来说,这一次又聊的很开心,和昨日相比开心程度有所减少,但深入的知足感又弥补了这一点,甚至升华了这一感觉,你们感受到了很多,那种砰砰砰心跳的感觉真是奇妙,像鸦片,吸食之后觉得对方金光闪闪,彼此像虎符的另一半,咬合程度精确到爆,你想和他或她融为一体了,你想开始不要脸了,当然,也只是想。你们像是站在高海拔缺氧的山脊看着纷乱的一切,笑着一个个男男女女找不到另一个个男男女女,你们怎么就这么幸运,就这么仓惶的相遇,虽然太晚又太早,为此,你们有时候都恨自己。正聊得开心时,这时女方接到一个电话,是老公打来的,我今天有会,你晚上去接一下孩子,声音有点大,对面的红肿星座也听到了,露出傻缺的表情,这一瞬间你们感觉像是被剥光了衣服,赤条条的站在高海拔缺氧的山脊。后来,你们一起吃饭,你们一起看电影,你们一起杀人一起放火,你们一起干了所有你们认为不应该干却又不得不干的事情。后来,你们相互发现也就这样了,也就只能这样?你们望着灰色的天空,无助地如此安静,细细的回忆发生的一切,聊天再有深度又能如何,能发论文不?一开始再开心又如何,是可持续发展吗?如果不是可持续发展,能很快就死掉吗?当又开始想和其他人搞暧昧时怎么搞?怎么搞?如果和最开始的那个没分手就尼玛四角恋了,打麻将都够凑一桌了,你们开始觉得自己怎么就这么贱这么傻缺呢,你爱我我爱你你不爱我我不爱你这些乱七八糟的一切都有什么鸡巴意思?当然,这个很难想得通。后来,你们突然发现,暧昧不好,暧昧不好,二进制最完美,要么爱,要么滚蛋。

我睡不着,看书也睡不着,看我看不懂的书也睡不着。最近有很多五年前八年前就应该思考的问题都灌入我的大脑中,来的更猛,持续的更久,我没办法,只得起身迎战。如今不是秋天,没有红肿星座可看,天空雾霾严重,连站牌都看不清,更不用谈彩霞和星空了。这些问题具体我说不清楚,都是一些关于人,关于风,关于脚趾头,关于农夫山泉,关于一切的鸡巴问题。有的人想通了,然后出家了,有的人想不通,然后也出家了,有的人还没想就跳楼了,有的人醉了,有的人疯了,有的人谈了17场恋爱,每场都如初恋,有的人搞科学,在成就梦想的时候也成了刽子手,成了刽子手后又大喊我不要当刽子手我不要当刽子手,有的人在搞学术,有的人自认为在搞学术,有的人打扫大街,日复一日,有的人吃包子,碗口大的包子,一顿5个,有的人把污水偷偷排入江里,他们夜观星空也发现了自己的渺小,有的人说谎,有的人不说谎却傻缺的可以,有的人感慨今天好多人从他身边擦身而过,明天相同的人几乎没有,于是开始伤感,有的人旅游,大谈旅游很好玩,脱困解乏,比大保健来的还要巧妙,有的人不开心却说不出原因,有的人瞧不起别人,有的人瞧不起所有人,有的人想干一票就走,有的人想干十票而名垂千古,有的人是人,有的人不是人,人不是人。而这天我什么也干不了,我只能在酷暑中流汗,在酷暑中喝水,在酷暑中大便,躺在床上,我想着生想着死,我想,对于别人来说,我也只是有的人。

下面这首《歌声与微笑》是我能够正确识别红肿星座的前几年学的,教我们唱歌的是一个顶着锅盖头的女同学,很单纯,虽然我曾经知道单纯为何物,但是,聪明的,你告诉我,我们的单纯为什么一去不复返呢?

请把我的歌带回你的家。
请把你的微笑留下。
请把我的歌带回你的家,
请把你的微笑留下。
明天明天这歌声,
飞遍海角天涯,飞遍海角天涯。
明天明天这微笑,
将是遍野春花,将是遍野春花。

「读知乎」修复版

自从我把系统升级到MIUI 6(擦,暴露了)后「读知乎」就不能用了,每次进去之后都像一坨小鸡那样卡死在那里。原来的项目因为版权问题已经停止更新了,因此,我擅作主张修复了一些让我不愉快的bug,并增加了图片放大功能。下面的apk是没有签名的,所以要安装得先删掉之前的官方版本。点击下面图标下载。

歌词字级同步——ProgressText

天天动听里的歌词是字级同步的,在Android中如何实现呢?首先它的字有一层不同颜色的描边,另一方面随着时间推进一种颜色会逐渐代替另一种颜色。

对于第一个问题把 TextView 中的 Paint 改成 getPaint().setStyle(Paint.Style.FILL_AND_STROKE) 是没有用的,因为使用的是和字体相同的颜色来描边。所以这里采用了一个笨办法,真是笨办法,但比用阴影、设置一大一小叠字要好:-)

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    setTextColor(strokeColor);
    getPaint().setStrokeWidth(strokeWidth);
    getPaint().setStyle(Paint.Style.STROKE);
    super.onDraw(canvas);
}

先把字画出来,然后用不同的颜色描下边就可以了。

对于第二个问题要使用到 BitmapShader ,它继承自 Shader,文档里这样描述的:

A subclass of Shader is installed in a Paint calling paint.setShader(shader). After that any object (other than a bitmap) that is drawn with that paint will get its color(s) from the shader.

Paint 绑定 Shader 后,用它画出来的东西颜色都是从 Shader 中来取,Shader 的大小可能比所要画的物体要小,就如铺地板一样,地板总比地面要小,所以 Shader 中引入三种铺砖模式:

  1. CLAMP——用Shader边上的颜色来画超出的范围,原地板是[l,M,r],铺出来是…[l][l][l,M,r][r][r]…
  2. REPEAT——按正常情况下重复,原地板是[L,R],铺出来是[L,R][L,R][L,R]…
  3. MIRROR——边镜像边重复,原地板是[L,R],铺出来是[L,R][R,L][L,R]…

这里设置一个2个像素的BitmapShader,左边和右边像素颜色不一样,设置x方向的铺砖模式为CLAMP,y方向的铺砖模式为REPEAT,然后移动 Shader ,移动可以通过设置 Matrix 实现:

shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, 
                                  Shader.TileMode.REPEAT);
matrix.setTranslate(pixels, 0);//左右移动pixels
shader.setLocalMatrix(matrix);

最后在先画 Shader,然后去掉 Shader 给字描边:

@Override
protected void onDraw(Canvas canvas) {
    getPaint().setStyle(Paint.Style.FILL);
    getPaint().setShader(shader);
    super.onDraw(canvas);

    getPaint().setShader(null);
    setTextColor(strokeColor);
    getPaint().setStrokeWidth(strokeWidth);
    getPaint().setStyle(Paint.Style.STROKE);
    super.onDraw(canvas);
}

具体实现见https://github.com/withparadox2/ProgressText,首先添加dependencies。
在Layout里声明:

在头部添加:xmlns:custom="http://schemas.android.com/apk/res-auto"
<com.withparadox2.progresstext.ProgressText
    android:id="@+id/progress_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="50sp"
    custom:after_progress_color="@android:color/holo_purple"
    custom:before_progress_color="#FFFF00"
    custom:stroke_color="@android:color/black"
    custom:stroke_width="1px"/>

然后就可以设置进度了:

textView = (ProgressText) findViewById(R.id.progress_text);
textView.setText("绿岛小夜曲");
textView.setProgressBypercentage(0.68f);
//textView.setProgressBypixels(150);

效果如下:

牵手

Tips:w(上)s(下)a(左)d(右)q(左上)e(右上)z(左下)c(右下)


寒冷的夏天


我醒来了,发现自己躺在图书馆前面的草坪中,旁边停着我的自行车,看看时间已经夜里一点半了,在这快睡了一小时。以前每次路过草坪时总会看见有人惬意的躺在上面,阳光浇洒在身上,展现出一种很享受的姿态,我在想终有一天我也要躺它一躺,今天终于实现了,却是在四年后的一个不见人影的深夜里。草坪完全不像它看上去的那般柔软,坚硬的草梗扎着背很难受,对此我有些失望,还是回去算了。

在入睡之前我是打算看月亮的,在滚滚的鳞片状的层云中 ,硕大的月亮时隐时现,我仰着脖子 看了好久,感觉太累就躺下了,之后便思绪万千胡乱瞎想起来。我是如此的年轻,却总感到老之将至,好像从身边悄悄溜走的不是现在,而是未来,未来她已经提前来了。月亮极美,有着诱人的魔力,但终究是不属于我的,我要她也没什么用呀,但她在我心中是如此的唯一,而我于她和那茫茫万千人毫无二致,毫无生机,我就这样重复着,单调的重复着,不是重复自己就是重复他人,而我却总是自以为是的活着。这样的夜,难免不让人想念生死。

起初我只是打算出来逛逛,因为从没有瞧过凌晨的学校,也没瞧过凌晨的湖。夜凉似水,我在路灯下没命的骑车,没有人,一个人也没有,这怎叫我不兴奋,我不总是渴望这样没人的世界吗?我路过可爱的湖,看着鱼儿在水中翻腾换气,长椅上躺着一位乞丐,他是每天都来吗?我在主楼前面的空地上转了又转,转了又转,突然感到一股莫名的寒意涌上心头,算来我已经有半年没出过校门了,我已经有四年没出过校门了,我已经有二十多年都没走出过自己的世界了,就这样悄悄的活着,死了也就死了,谁又会知道呢?这就是我的全部人生 !

后来,我又沿着操场穿过大礼堂绕过校医院,斑驳横生的树影让我感到如入幽境,然后路过图书馆接着转到大草坪直奔女生公寓,这么晚了还有人没睡哇,我挤过澡堂前的窄道,又从男生公寓沿着去食堂的路绕到了图书馆,于是就在图书馆前的草坪上躺下了。

本来打算在这草坪上过个夜,但依古人所言:乘兴而来,兴尽而返,所以,还是回去算了。

我的诗

在整理旧笔记时看到了一首写于2009年下半年的诗,那时正逢离别。诗写的很是幼稚,其实到现在我还是很幼稚。由于这首诗没有题目,不如破罐子破摔,给它一个“无题”。

无题

秋风吹起湖面的涟漪
这是忧伤的一季
昨夜星光下的别离
成为彼此遥远的回忆
你是否会告诉我
相聚在哪里
我也舍不得你
善良和忧伤的美丽
放心去追逐那梦想的天地
我的离去
终将会成为秘密
不要后悔
不要在意
我们一起看过花开的美丽