Archive for 2013

Bash like history search functionality for Zsh

Bash uses readline to do its line editing and history search functionality, which works pretty well in the past for me. To enable this, just put these 2 lines of configurations in your ~/.inputrc (the config for your readline):

# Enabling History Search
"\e[A":history-search-backward
"\e[B":history-search-forward

After restart your terminal or shell, you can now use Up Arrow and Down Arrow to navigate your bash history, the beauty of this is it will match the thing you typed between the prompt and the cursor (if typed nothing, it will just use your last command of the history).

This solution works so well that it increases a lot of my productivity and efficiency in the past and now it becomes a must-have for my shell features. Once I switched to Zsh, I was looking for a similar solution since the first day of using Zsh.

Turns out oh-my-zsh includes a default history search functionality already (up-line-or-beginning-search, down-line-or-beginning-search), which works well for a lot of people, but unfortunately not for me.

The issue for this command is it only matches the command, not the entire thing before your cursor, for example, if I typed:

cd code

Then do a tab, it will only match the command starts from “cd”, not the entire “cd code”. You may still call this a history search functionality, but for me, it’s not working as I expected since I come from the bash/readline world.
Continue reading →

Zhou Lu liked this post

Update 80: 凌晨2点的门铃声

1. 本文系update系列之第八十回合,不是恐怖系列传说也不是名侦探柯南,所以亲们请放心阅读,今日并非愚人节抑或万圣节,楼主保证屏幕上不会突然跳出来个什么东西来吓你的:)

2. 自从楼主弄了个Google Chromecast之后,每每晚上要看啥视频的时候(有时候甚至是为了看视频而视频,人至贱则无敌吧…)总会把视频通过chromecast然后投到电视上看,但也就是自从那时开始,诡异的事情开始陆续发生了,某几天晚上看的真focus的时候,比如福尔摩斯精彩deduce的时候或者Homeland快要发现CIA卧底的时候,突然门口出现了叮咚一声的门铃声,只有一声且永远只有一声,不长不短,紧促中带有些许惶恐,间歇中含有略微犹豫,时间不定,不过大都在凌晨12点以后(lz睡觉很晚,12点属于夜上海刚刚开始的时候,虽然这里不是上海…),着实吓人,不过这还不是最吓人的……

3. 听到门铃声没反应是不可能的,每次听到,伴随着些许犹豫和不安的心情,楼主熟练的按下暂停开关,然后轻轻蹑手蹑脚的跑到门口对着门上那个小洞使劲窥探,毕竟这是楼主的优势,敌在明处我在暗处,孙子兵法告诉楼主要充分运用优势…… 但是吓人的事情发生了,亲敢信吗,门外什么都没有……(这怎么越写越有名侦探柯南什么什么神秘事件上集的节奏唉…… 哈哈),为了确保确实神马都没有,楼主有一次直接打开了门并扫视了一下四周……

4. 好了,恐怖故事就适可而止了,本来准备拖到下个update来发布神秘事件下集(因为我也是昨晚确切的说是今日凌晨刚刚发现的真相),不过一想有点不大厚道,哈哈,楼主又一次心慈手软了;和往常一样,无论你信不信宗教是无神还是有神论者,真相也永远只有一个,事实原来是自从我投到电视上看视频之后,有意识无意识地增加了视网膜和屏幕的距离,于是导致楼主有意识无意识的提高了电视的嗓门,于是楼上(我是楼主,应该没有楼上只有楼下才对哈哈……)的一位害羞但又不知道声音到底从哪里来的朋友就郁闷了,于是这位朋友广撒网之后展开了定点地毯式搜索,在凌晨2点仍旧孜孜不倦,想必其也深深沉浸在名侦探抑或神探的乐趣之中吧……
Continue reading →

ZSH Startup Issue

今天一早(其实也不早了,嘿嘿)打开iterm2,oh_my_zsh提示是否upgrade,一手贱于是几乎不假思索的敲了Yes,更新完毕reload完terminal顿时很吓人的给了我上百行如下错误:

/usr/local/etc/bash_completion: command not found: complete

然后敲任何命令都出现:

fork: Resource temporarily unavailable

一下子让人菊花一紧,虎躯一震;这几乎是无法做事的节奏啊… 紧接着便发现chrome都无法正常工作了(事后证明这应该是心理作用),第一感觉是中毒了,再一想不会吧,应该大概可能是zsh upgrade干了啥好事吧,于是去check了下upgrade script,grep一下哪里call过bash completion,终于发现了事故原因;

原来~/.oh-my-zsh/tools/check_for_upgrade.sh的line 23加了一句:

[ -f ~/.profile ] && source ~/.profile

而我的~/.profile里恰巧有不应该在这里被调用的东西,解决方法便是把这一行注掉,然后再重启iterm2,世界终于清静了…… 把之前不应该存在在.profile里的东西移到.bashrc后,一切终于又恢复“正常”;虚惊一场,不过下次upgrade我肯定会多犹豫个2秒,一朝被蛇咬十年怕井绳了……

Warmth Rate 4

最近几天晚上的温度有点略低,之前国内带来的空调被俨然已经hold不住了,搬过来之后就没修好过的heater估计是仰仗不住的,况且偶也不喜欢那放出来让人昏昏欲睡的暖气,还是更喜欢自然纯粹一些点的东西,包括空气;

于是决定再跑宜家邂逅一条被子,这是本人本月度第四次光顾宜家,已经几乎到了一个星期一次的频繁度,每次都有些轻微的胆怯的过去,生怕来自East Palo Alto这个全美有名的不安全区域的某些不友好的哥们认出我,觉得我有啥不良企图;所以我每次都是直奔主题,无论开车还是走路都不东张西望交头接耳 i

宜家喜欢用它家特立独行不走寻常路的“warmth rate”来标记和衡量它家某些产品的温暖程度,于顾客而言,甚是直观且自我说明,唯一的问题是顾客其实并不知道rate 1究竟是怎样的温暖等级,这则可以算是一种比较衬托的修辞手法,所以估计rate 3,rate 4这两个处于正态分布中间段的等级在湾区这个常年温暖无雨的地带应该基本上可以被认为是best seller了;

鄙人深谙枪打出头鸟的古训中所蕴涵的深意,于是在选被子这种无关深明大义的细枝末节上鄙人决定采取中庸的人生态度,所以标题便应运而生了…… 虽不太清楚rate和rate是不是1+1=2的关系,不过加上之前那条可以算作warmth rate 1.5的空调被,我一晚上的rate应该也算接近(即便不是1+1=2)5.5了,离最高等级6已经一步之遥,即便是再怎么怕冷的我也觉得够了;话说这个rate等级于我看着一直就有种打怪升级的感觉哈哈,虽然我并不是奥特曼,也很少玩游戏;
Continue reading →

[Footnotes]
  1. 言重了,开玩笑呵呵,不过一个city名声搞好是不容易,搞坏倒是很快很容易的,且这个坏影响以后很长一段时间内很难消除 []

沙龙

一直对人类五官七感互相连通唏嘘不已(未被科学证明,请勿当真,吾此纯属扯淡需要,如是而已),不用打通任督二脉,勿需修得传世秘籍,神奇的大自然造物主让人类生来便拥有各种感官相互促进相互影响的能力;

譬如视觉嗅觉能够促进味觉,所以菜肴的色香总是排在味前面,讲究色香进而味,所谓色香味;虽然鄙人煮食从来只讲究熟,其余一概只能「框住目前大概」,吃不死便了,吃死了也大不了一了百了,哈哈哈,这需要强大的心理承受能力,看官如要仿效抑或不得不仿效的亦请三思而后行;

亦譬如听到好听歌曲之后,听觉的愉悦感转而转化为触觉(一脚油门,这事曾经并且正在发生着)或是神秘的第六感和第七感,进而带来与神族灵能类似的灵感和虫族狂暴类似的冲动,促使我在这里文思水管涌,奋笔疾更新;

这个好听的歌曲便是陈奕迅的「沙龙」(点击播放),曲很陈奕迅,词则是太有感觉了(第N感了),正如这个百度百科上说的,“艺术的可贵之处就是结集生活的精粹,保留人性”;我在补充一句,进而打通五官七感;
Continue reading →

Update 79: 革命尚未成功 同志仍需努力

1. 有段时间不写update了,虽然之前的几篇仍属update的范畴,但是不以update为题的update不能算是正宗的update,是不作统计学计数的;所以为了人为的让计数器重新开始开始起跑,我们这里又不知所措的开始了……

2. 不知不觉几年下来的update也竟然绝然的已然计数到79了,真是时光飞逝岁月无痕…… 偶曾经记得不久前的曾经 曾经说过这个数字到100的时候请大家吃汉堡包,今日定睛定神一看时间竟然快要将近五年…… 好吧,大伙久等了,革命尚未成功,同志我还需好好努力…… 下一个五年计划内应该可以完成这个社会主义初级阶段目标;

3. 写update明显感觉更加顺手自如,因为思维可以随时发散跳跃不着边际,脑袋想什么就能往外蹦什么,这种痛快释放的爽快感觉很多朋友在茅坑拉屎的时候也时会有所感同身受;这,虽然不同于音乐给人带来的愉悦感,但这,也算是一种愉悦感;

4. 上周末为了庆祝某个即将或者已经正在改变世界的产品release,公司组织去sf bay游艇晚宴,排场隆重但着装却依然可以休闲,就是喜欢这种自由却不散漫活泼但不可爱的感觉;为此次event单独开一篇blog虽然也不足为过但也觉有点过于正式,犹如breaking bad告诉我们good和bad有时候只差一步之遥一样,长期blog的经验也让我明白有时候分享和炫耀也只是一步的距离,乱po照片永远是一个介于这两者之间模糊地带一个极其难以把控和评价的灰色边缘地带;完全不po又会让人把你和无趣无聊划上等号;
Continue reading →

夜空中最亮的星

快乐的时候,你听的是音乐;难过的时候,你开始懂得了歌词
—— 出处未知

当然了,我并没有难过,我也不需要懂得歌词;因为这首摇滚音乐本身就provide足够让人愉悦的元素;歌词有可能不是international的,但音乐永远是国际通用的,所以我们丝毫不掩饰把它介绍给我们美国同事时候的兴奋;

初次的邂逅来自于mike的推荐,遂后得知张恒远中国好声音决赛还是半决赛的时候也唱过,于是放狗狗出去翻出来看来一下,先入为主觉得还是原唱Escape Plan来的好,遂爱屋及乌到了其整个专辑,于我而言,这样的顺藤摸瓜比较具有逻辑合理性,而之于mike是怎么知道的,则完全可能是颠倒过来的顺序,哈哈,就如很多律师的口头禅一般,于此我什么也不知道 我也不想知道;

如今这首歌连同整个专辑已经被刻成CD放在车上那个被previous owner不知道蹂躏和customized多少次过的车载stereo上每天被无数次有意无意的循环着,于是每个故意不开GPS的迷失的黑夜里,我便会感觉有颗明亮的星星在若有若无的闪耀着;

于是,音乐给人带来的愉悦感便从听觉通过大脑神经进而转化为右脚脚尖的冲动,让接下去的一脚油门变得格外夯实有力,富有节奏和旋律感;也让每次的红灯刹车变得格外猝不及防和人仰马翻,说真的,把音乐关掉的话,我的driving skill还可以再上升俩个档次,哈哈哈哈;

好了不早了,星星又在照耀我前行回家了,所以我就不在这贫了,大家请慢慢欣赏这两个星期以来以及以后一段时间之内的绝对的favorite,谢谢:music.samsonw.info.

Murphy’s Law

Anything that can possibly go wrong, does.
—— Sack, John. The Yale Book of Quotations 529

网上流传着各种描述墨菲定律的变种,阐述的意思大多大同小异,鄙人喜欢上面那句的原因是其有个逗号在那分隔了设问和回答、虚拟和现实,读的时候可以在那逗号停留半秒也可以停留很长很长时间,感觉随即会变的很不一样;

在此引述墨菲定律并不想和现实中某件事情建立连接,这样说虽然很有此地无银三百两的嫌疑,但同样鉴于不想让其发生的却终将发生的墨菲定律,鄙人在此能做的无非也只是尽力而已;

几年前鄙人正在帮还算较著名的杀毒公司McAfee整合一个鄙人公司的在线产品到其整个杀毒软件套件中去,过程中发生了不愉快的事件,事后官方的解释是我司服务整合不利导致服务过载遂令我司服务器过载宕机,总而言之就是没有他们什么事情都是我们的事情,公司政治就是这么奇妙无穷,但事后公司内部流传的一个版本是著名的专注杀毒三十年(不知道多少年了)的公司竟然自己公司内部中毒了……

所以「常在河边走,哪能不湿鞋」;这,也可以算一个墨菲定律的变种了…… 瞧我大中华文化多么博大精深,多么饱含历史文化底蕴;

墨菲的定律似乎带着一种极其悲观和负能量的态度在那审视世界,人生哲学角度上讲,这是不好的,应该极力避免的,不能因为一件事情会出错就不去尝试,而应该像 Breaking Bad 里面的戒毒培训一直告诉曾经陷入毒瘾无法自拔自暴自弃的人们要接受并认识自己保持乐观积极的态度一样,一直保持一颗极富正能量明知山有虎偏向虎山行的心;
Continue reading →

Update 78: 外柔内刚

最近update有渐渐格式不鲜明的端倪显现,这说明鄙人update体已经渐趋娴熟,已经达到金庸武侠无招胜有招number记于心的地步了
—— 题记之恬不知耻的解释

韩寒《合唱团》曾经有个「所有人问所有人」的栏目蛮有意思,印象中也是当年我唯一看了两遍的文章,虽然合唱团最后因为绝版真的成了《独唱团》,但这丝毫没影响「所有人问所有人」自立门户摇身一变成一本独立出版的书籍,所有的所有,不经让人对整个社会八卦需求之强烈叹为观止;

鄙人从来不掩饰对老罗名言“彪悍的人生不需要解释”的喜好程度,但鄙人也一直无法摆脱正视自己的人生无法或者不能彪悍从而一直在无聊的解释的无奈和尴尬;鄙人可以以一句:“诚然彪悍是不容易的,但承认不彪悍也许有时候更难能可贵” 海飞丝般轻松扫除所有一切“头屑烦恼”,但鄙人不想狡辩,鄙人懂得什么是生命之可以承受之重,什么又是生命之不能承受之轻;总而言之,就是鄙人善于隐忍不会韬光养晦只会避重就轻,哈哈;

好了题外话我还是适可而止了,回答下最近有被问到过的一些问题,这也是另外一种形式的所有人问所有人,汗,我终于想起了写第一段的reason了,万事皆有因,果然啊~

Q: music.samsonw.info收罗音乐普遍慢节奏?
A: 这些音乐通常被作为我在这里码字的背景音乐,本人已经对自己行文思路跳跃跑题千里供认不讳,实在再也无法想象在gangnam style这种背景音乐下会写出什么妖魔鬼怪出来……

Q: samsonw.info列了那么多site,同时维护n个site会不会有点overwhelming?
A: 做减法是门学问也是个艺术,但前提是有东西可以减,犹如把书读厚再把书读薄一般,在下愚钝目前还尚处「读厚」的阶段…… 所以…… 所以就没有所以了……
Continue reading →

Yellowstone Trip 1: 不算开始的开始

万事开头难,很多事情一直想做却总是感觉头绪繁多,不知从何开始,当真的把一件事情当做一件事情来做的时候,无形之中便有了各种莫名的压力;

之前一直在思考怎么开始这段回忆旅程,顺序开始Day 1,Day 2,Day 3的显得较为正常直观也便于组织和展开,但就像上面所说,无形之中有了一种还有多少多少day left的条条框框和任务压力;对于向往自由却每天生活在各种rule里的人们而言,无需更多rule来约束自己以证明自己规行矩步循规蹈矩的能力了; 咱们这里不拘泥时间(其实是我就不大清了。。),不拘泥空间(还是记不大清了。。),不拘泥形式(长年累月的日积月累下来,某天醒来愕然发现偶只会写update体了。。),不拘泥语言(都是废话无所谓语言不语言的。。),不拘泥主题(鉴于本人经常跑题的特质。。),只拘泥于真真切切实实在在的内容,至于后面能展开多少抑或延续多久,那就纯粹谋事在人成事在天了,哈哈哈;

黄石最著名的老忠实喷泉

黄石最著名的老忠实喷泉

某个旅程都有一个起点和终点,但旅行的意义显然不是简单的从起点到终点,真正的意义在于过程,所以路上的不期而遇反而显得更加弥足珍贵;值得庆幸的是,路上的「遇见」一样的迷人和令人流连忘返,即便其实我们并没有多做停留,但那都是我们旅行途中不可或缺的极其重要的一部分;
Continue reading →

Steven Shen liked this post