• 毫不起眼的分割线

    日期:2012-04-03 | 分类:

    找个时间另搭一个blog,这里不再更新

  • 那些年

    日期:2012-04-02 | 分类:Life Stuff

    回头看过来,貌似这里很多日志都是因为一时冲动,如果写之前能hold几天的话估计就省事很多了。想起来我小时候写的日记也是,过几天翻开一看都觉得前面的矫情得不堪入目,估计和我充满矛盾的性格有关。

    离职之前免不得再次反思以前的所作所为,特别是整理硬盘上的资料之后,种种事情在脑海中不断浮现。然后不小心碰到了长期压抑住的东西,天亮之后才睡着,午后才疲倦地爬到公司。本来以为理性的度过几天就想通然后重新放到脑后,经过连续几天失眠之后,越来越发觉一直以来就是像往一个奇点不断地陷落,无数次试图忘掉或者逃避只会越掉越深而已。最终就会被奇点的重力势井困住,或者可以说,成为D8里面那些典型案例。然而,我不想变成常规意义下的吊丝,所以现在成了madao,面对没有激情的项目,一点干劲都没有。如果不闭关反省,能做的只是日复一日的苟且过活。

    恩,就是那些年我们没追过的女生的故事。

    话说,中学的时候,那时候d8还没有兴起,吊丝这个词还没有被发明,不过不知道为什么出现了女神这个词。那时候我和好友说很crush隔壁班某个女生,如果非得形容一下,就像firefly tv里面那个kelly的气质。好友口疏,弄得全寝室都知道了,然后每次碰到那女生经过的那帮人时候就喊"plan,你的女神来了!" 人家女生脸红,我也不好意思。后来听说人家被隔壁班高帅富泡了。于是一直到高考之前,路上看到人家俩拉着手我都装着没看见。再后来,我去外省上学,就不知道后来了。

    大学的时候,也喜欢过一个女生,然而人家却和我好友成了一对。因为大家都认识,不得不扼杀掉心里的幻想,内心落下了第一个阴影。为了防止自己堕入黑暗面,我一头钻进代码里头,成了宿舍里昼伏夜出的一员,不同的是人家去网吧通宵,我是去上班而已。因为毫无规律的生活,成绩不怎么样。所幸的是大四很容易就找到了不错的公司,不过不幸的是,岗位和我所想的差了十万八千里。毕业散伙饭,我喝的半醉,什么都没说就回去睡觉了。

    然后我就加入了北漂大军的一员,在毫不熟悉的网管领域里奋斗着。因为本来就缺乏兴趣,所以当入职初的冲劲消退了之后,常常迷惘前途问题。组内有一些非常非常认真努力的老员工,让我心生敬意,像他们一样自觉养成了饱和工作的习惯。不过,领导却似乎对那些最卖力的人视而不见,最后直接导致了某人的离开,把很大一部分工作摊到了我头上。虽然我因此得到了锻炼机会,然而原来人家负责的两份活到现在变成我一个人做三份活。因为领导根本不了解程序,于是无法理解工作量究竟有多大,而且还把别组的活也揽过来仍到我这,所以极端郁闷。所以在第一年过后就萌生了辞职的念头,不过家里不理解,我还是挺了下来。

    后来因为一个偶然的原因,认识了某女生,其实只有过一面之缘,比我大几年,而且行业也完全不一样。除了人家名字和手机之外就不知道更多的了,可以说完全是两个世界的人。那时候她经常加班而且全国跑。偶尔几句聊天成了我在加班时的唯一的慰藉。然后我发现自己无法挽回地产生了好感,哎,说不清楚为什么,不过很致命的一点是,我没办法知道别人是不是单身,因为完全没有其他途径。于是我第一次鼓起勇气约她,虽然开始是答应了,因为种种原因没约成功。后来turn out我只是路人一个,心受打击。之后,我大病了一场。然后虽然得到了晋升机会,因为成功重构了组内不少系统的缘故。然而觉的周围气氛已经变得散漫不思进取,我无法再留下来了。于是我开始第二份工作,甚至没给自己休假的机会,这成为我无比后悔的原因之一。

    因为再次入职之后需要忙于证明自己,往后的两年内,也没有真正休息过。在一个小团队要做方方面面的运维系统,而且很多都是从0开始做,机会很多,也很累。后来才意识到人的精力确实很有限,一个人的全部精力能写好两个大项目就不错了。后来以前的同学介绍一个女生给我。初次见,印象中她爱笑,但不太说话。可能是我缺乏悟性,也可能是那段时间常常心不在焉,还要同学提醒我才知道过去陪人家。因为经常累的周末一趟下去就睡个十来小时,所以没有主动去约人出去了。后来情人节前一晚上,她q上说一个人在家好无聊啊,我带着说笑的性质说了句不如过去陪你啦,看到"好啊"之后,我居然理性的看了看表:9点,然后想到这中间得地铁几站还得转公车,过到去10点然后就没公车不知道怎么回来了,加上骑车也不现实,于是解析了一下。第二天,我才意识到错了,在公司呆到很晚,和同事倒关于昨晚的苦水,被斥太傻,后悔都来不及了...只能恨死了我住的地方。

    话说我是慢热型的。年后回来,感觉她冷淡了很多,隐身或者是没上线。晚上加班郁闷得不行发短信,只是回呵呵,于是感歎终于得到了吊丝待遇。可能也由于我长期情绪很低落被讨厌了呢。后来五一,我提出去长城吧,睡觉前还查好路线,去超市买了东西,然而很不幸那一晚上我都没睡着,想了很多工作上的事情。直到天亮,感觉状态很糟糕,于是发短信告诉她,顺便想晚上请她吃饭赔罪吧,她没答应。于是后来,她去了别的城市,而且手机换了,没有再联系。

    后来端午节,我从南京回来的火车上想了很多,决定不再干老本行。而且想到未来混晋升、谈对象、买房、然后在京/上/广/深/杭其中一个城市花上几十年供楼,一成不变的道路实在没意思。人生苦短,该做的事情还很多,应该出去看看。于是一边工作一边准备到了现在。至于为什么不当时就辞了,因为在下不是富二代,得养活自己。

    写完,应该可以释怀了。以上事情也都过去很久了,请勿胡乱对号入座,我也不会透露其中人物身份。这个blog没什么流量,写在这里也是为了不让太多人看到,如果真的被看到了,希望别介意吧。

    去职前夕,在红朝风云变幻的十字路口,连发个博文都得审核,先注册个微薄都得实名,经济着陆是软是硬也还是未知的事。如果能让我许个愿,只求天下太平,人人有工作,也就不错了。如果能再许个愿,希望将来墙会失去存在的意义。至于感情的事,可遇不可求,无谓太过刻意。

    ps: 我从没有心怀嫉恨, oasis有首歌叫"don't look back in anger",只是一直没走出阴影而已

  • vim autocompletion

    日期:2012-03-12 | 分类:Coding

    之前一直用supertab插件来弄vim的自动补全,虽然写代码的时候没事就按一下tab写得还算快,但是有一些巨不爽的地方,所以昨天又熬夜调查了一下相关的东西。

    -----------------

    十分讨厌之处:

    1. 如果不是在写代码,根本用不着补全的时候,刚敲了一个词,然后要插入tab,让supertab变成了查找匹配项... 对此supertab还得设一个 g:SuperTabMappingTabLiteral ,把真正的tab换成别的binding,不但写个文档都变得麻烦,搞不好还和wm的快捷键冲突。

    2. 对于通过或者匹配的时候,如果运气不好,狂按tab还弹了一堆不想要的选项,还得把动手自动补上了的第一个匹配项删掉

    3. supertab有个亮点是context匹配,

    let g:SuperTabDefaultCompletionType = "context"

    可以根据上下文,比如 '/' 就匹配文件路径,'->'和'.'就呼叫omnicomplete匹配成员,其余情况就调ctrl_n。虽然听上去很好,但是现实很沮丧。有时候omnicomplete比较二不出结果,supertab也不懂fallback到的ctrl_n匹配。比如说在我的机器上如果编辑含有有多个class的python文件,omnicomplete会在第一个class的作用域之外就不起作用。

    ------------

    我想如果像bash那样的补全也不错,当有多个匹配项时提示,只有一个匹配项时才匹配,可惜搜了一通没发现有。

    换一个方式键入的时候就自动提示也好。恩,有个叫作AutoComplPop (简称acp) 的插件,正是干这个的。键入的时候实时提示,也可以支持文件路径+omnicomplete+ctrl_n这三种补全,选择匹配项按回车,如果不想理会提示的时候也可以不假思索的打完。

    最后顺便贴一下我的现在的非常简短的vimrc

    set modeline
    set sw=4 ts=4
    filetype plugin indent on

    au FileType python setl ts=4 et sw=4 softtabstop=4

    set omnifunc=syntaxcomplete#Complete
    set completeopt=longest,menuone
    let g:acp_behaviorPerlOmniLength = 0

    au BufWritePost *.c,*.cpp,*.h,*.py,*.pl,*.pm !ctags --exclude='*.vim' -R . >/dev/null

    colorscheme peachpuff
    let g:winManagerWindowLayout = "FileExplorer|TagList"
    map  :FirstExplorerWindow
    map  :BottomExplorerWindow
    map  :WMToggle

    打开文件类型识别,专门为python设的缩进,然后就是acp和perlomni补全的配置,后面是设定每次保存的时候生成ctags(还要ctags忽略vim的Session文件),最后就是窗口管理器winmanager和taglist的配置。

    理论上vim编译的时候+perl +python +ruby就可以让omni complete支持这些脚本语言的语法了,内置的还有c,xml,css之类的,不过用了perl的USE发觉不起作用,所以又另外装了perlomni。omnicomplete虽然不是很智能,python的变量类型识别不好,built-in和类成员一般都能提示出来。

    不过发现我已经养成了tab强迫症了,囧,还要过一段时间才适应得过来...

     

  • next step

    日期:2011-12-27 | 分类:Photography

    很久没写东西了。自从毕业之后三年多,似乎失败居多,如果重头再来过,很多东西肯定不会如此选择了。

    无聊没意志的时候找银魂来看,25岁的人,越来越觉得像madao大叔,或者更像真选组**篇的沦落为otaku的土方,不经过一番挣扎,连剑都没力气拔出来。最近随着公司重组,加上近一年半的努力彻底化为幻影,于是痛下决心准备辞职。如果说百度还像个校园,出来之后还保留了那么一点程序员的傲娇,那么阿里就好比社会的大染缸,看透了许多事。

    中国股市跌回十年前,我只不过原地转了3年而已,还不算太糟糕。只不过祖国啊,想说爱你真不容易。

    机会就如晚霞呢,不抓紧,转瞬即逝。

  • 试用gnome3

    日期:2011-09-18 | 分类:Linux

    gnome-3.2就要发布了,离gnome3.0发布也过去半年了,然而3.0在portage中还是hard mask的状态,昨天忍不住通过gnome overlay提前装了3.0,autounmask还是有点问题,依赖关系算不全,于是我便一个个手工的去补,真痛苦。

    装完了之后,发觉gnome-terminal中键盘输入异常的慢,还有screen unlock的时候输密码也异常的痛苦,搜了一圈,发觉是ibus-1.3.9和gtk+3的兼容性问题,装了ibus-1.3.9-r2之后好了。

    还有第一次进去的时候提示我硬件不性,进了在fallback mode。能检测到我本本的sandybridge,并且3d加速也是ok的(虽然比不上独显),可以依然只能进fallback mode。 因为gnome3要废弃掉面板,fallback mode是为不习惯gnome-shell的人准备的,然而比较鸡肋,只保留了一些比较重要的控件,gnome2的applet也无法用。 后来为了不再进fallback mode就不得不手动在gnome-session-properties里面加上gnome-shell --replace这个启动项。用了之后也没发觉有什么不妥,操作很流畅,虽然用glxgear测试有14xx fps (在没有窗口管理的x中是15xx)。

    gnome-shell的多显示器支持很爽,切换虚拟桌面,第二个显示器的东西不会切换,(相当于n+1了)。activity view也很爽,感觉窗口切换比传统的任务栏窗口列表更能提高工作效率,而且在我本本的小屏幕上还能省下任务栏的一块空间。

    不过感觉gnome3.0还真像个半成品,没有在control-center中找到观感调整(模版和字体之类的),得另外装一个gnome-tweek-tool的东西。 当然还有n多没跟上升级步伐的软件被落在后面了。panflute原作者说不开发支持gnome3的版本了,于是xmms2也就只能用console去控制了。支持gnome3的tomboy也没出来。只能忍忍了。

    gnome-shell的可用插件也很少,顶栏上的空间没有利用上。现在只有activities、时间、音量、accessibility、电源、logout这些东东。 而且那个对我没什么用的accessibility按钮也不能通过设置隐藏掉,只能用一些tricky的方式,由于gentoo还没正式支持gnome3,见隔壁archlinux的这个gnome guide 。另外桌面右下角隐藏的那个notification area觉得有点不爽,图标有时候会像跑来跑去的老鼠一样逮不住。

    gnome-shell依赖关系中有两个庞大的东西无法甩掉,evolution-data-server和xulrunner-2。我邮件不用evolution,所以这个日历功能对我就是鸡肋。不知道为什么gjs的javascript引擎没有用些轻量级一点的实现,况且firefox的js引擎内存管理也不好。

    gnome-shell有两个技巧,如果用eselect或者gnome-tweak-tool改了模版或者插件设置什么的,在run app的dialog里面,输r可以重启gnome-shell,输lg可以进入一个debug的工具,一个类似于firebug的东东。

    稳定性方面,除了有一两次firefox无缘无故被关掉,和nautilus crash了一次,没有遇到别的问题。

    最后还是得感叹一下,现在桌面和手持设备都被web所占据了,我这种不做前端不会js的人就要被时代淘汰了。

    ------

    补充一下,如果觉得右下角的隐藏notification area很不爽,弄一个小小的gnome shell的extension可以把你想要的tray icon移到屏幕右上角,看这里

    ------

    update: 打开 /usr/share/gnome-session/sessions/gnome.session,把IsRunnableHelpet和FallbackSession那行给注释掉,就可以不用进fallback了,于是我把gnome-fallback和gnome-panel等卸掉了