MacPorts默认用 rsync 同步 ports file tree,rsync默认使用端口873,在80%的公司内部估计要悲剧,在鄙人公司不用思考那是属于100%要悲剧的范畴。 有两种解决方法,第一种是用proxy,rsync支持用 RSYNC_PROXY 环境变量来设置proxy,不过只支持http proxy,很不幸这种方法仍旧无法穿越火线。 不过还是建议先尝试下此方法,毕竟方便快捷一些。 第二种方法是MacPorts官方提供的解决方案: https://trac.macports.org/wiki/howto/SyncingWithSVN 这个方法稍显繁琐,因为要用svn checkout 整个ports source tree(checkout完后的dir总共227M),并修改macports source,然后重新sync并建立index,整个过程可能会超过1小时。 当然好处也是有的,那就是一劳永逸并且99%的情况下应该能够work~
From TextMate to MacVim: Introduce Vim-Task (GTD)
[ Update: Vim-Task 1.1 was released, the latest version can be downloaded here. ] Introduce a recently written vim plugin for GTD, basically it’s just the TextMate Tasks Bundle port for Vim. [Screenshot] I like the Mac default font Monaco, unfortunately it doesn’t support bold and italic: If use font like Consolas which support bold and italic, all the syntax highlights should take effect: [Code Repository] github: http://github.com/samsonw/vim-task [Installation] Normal installation steps follow the vim tradition: download the zip/tar archive then copy all the directories/files to ~/.vim directory. You can download vim-task zip/tar archive by clicking the “Download Source” button in github. You can also check out the latest code if you have git installed: [cc lang=”bash”] $ git clone git://github.com/samsonw/vim-task.git $ cd vim-task $ rm README.mkd $ cp -rv ~/.vim [/cc] For those guys who use pathogen, the installation should be as simple as a git clone: [cc lang=”bash”] $ cd ~/.vim/bundle $ git clone git://github.com/samsonw/vim-task.git [/cc] unfortunately ftdetect directory seems not take effect in pathogen, I’m still wondering about why, but anyway here is a temporary workaround for now: this issue is now fixed in vim-task 1.1, following 3 commands are not necessary any more. [cc lang=”bash”] $ mkdir -p ~/.vim/ftdetect $ cd ~/.vim/ftdetect $ ln -s ../bundle/vim-task/ftdetect/task.vim task.vim [/cc] [Shortcut Key, Key Binding & Customization] By default, I mapped Ctrl+Command+Enter for toggling task status, you can simply remap to what’s the most comfortable for you: [cc lang=”vim”] inoremap :call Toggle_task_status()i noremap :call Toggle_task_status() [/cc] Note, if you find the key binding doesn’t work as expect, please make sure your vim instance was compiled with the +ruby feature. Compiled with +ruby is not required any more, following +ruby check is optional since this plugin has already been ported to native vim script. [cc lang=”bash”] $ vim –version | grep +ruby -python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent [/cc] [File Format & Syntax] The Tasks grammar and commands by default apply to file todo.txt and files with the .task and .tasks extensions. You can customize this by editing ftdetect/task.vim: [cc lang=”vim”] autocmd BufNewFile,BufRead todo.txt,.task,*.tasks setfiletype task [/cc] All the formats and syntax is similar with the TextMate Tasks bundle, I just quoted below for your references:
Headers end with a colon (“:”). Pending (uncompleted) tasks start with a hyphen (“-“). Completed tasks start with a checkmark (“✓”). Headers and tasks can be indented for grouping/hierarchy, as seen in the screenshot above.
[Bug & Feedback] Please report bugs and issues to github: http://github.com/samsonw/vim-task/issues, any feedback and suggestion is welcome and appreciated.
爱转了一圈
media downloaded from google.cn music 爱转了一圈 - 金海心 要走的谁也拦不住 何苦一个人执着 对镜贴黄花人消瘦 逝去光阴惹人妒 爱转了一圈到下一个路口 你要勇敢往前冲 每一段通彻心扉的付出 都是珍贵的礼物 爱转了一圈到下一个路口 你要勇敢往前冲 失去了一个不爱你的人 你应该感觉幸福 再痛不过前尘往事 咬咬牙就挺过去 再聚首弹指已陌路 别让眼泪忍不住 爱转了一圈到下一个路口 你要勇敢往前冲 每一段痛彻心扉的付出 都是珍贵的礼物 爱转了一圈到下一个路口 你要勇敢往前冲 失去了一个不爱你的人 你应该感觉幸福 是你的你要把握住 不是你的请让路 退一步会海阔天空 爱本来就跌宕起伏
落花有意流水无情 [转载]
上周体检,重游两年前IBM实习时的淮海中路(是两年还是三年了…时间怎么这么快),发现香港广场变成了不知道什么名字的大厦,原来我为了要和亚洲、jetty打实况而买游戏手柄的数码广场如今变成了apple即将在华成立的第三个apple store,牛满地、大食代、味千拉面、罗森、麦当劳,KFC等等以前经常光顾的地方全部不翼而飞,不禁深深感叹短短时间人是物非…… 有句话说的好,这世界上唯一不变的就是变化,很阿Q的欣慰一下,他妈至少还是有不变的…… 下文转自鄙人损友之一小毛驴之校内,小样中学时期的风流倜傥可见一斑~
中学时,隔壁家女生给我写情书:落花有意流水无情。我问妈妈什么意思。妈妈说:“她家花园缺水让你帮她浇花” 于是我屁颠地去浇花了~后来她搬家我们很少见面。长大后她变成大姑娘有了男友。回家在她家门口看到一美丽的姑娘在浇花,我冲上前含情脉脉地看着她说:落花有意,流水无情~她露出了害羞的笑容
gem list
响应蛋疼之号召,gem list一下,不过估计有点outdated,因为本人最近好几个月没碰ruby了,不过anyway,show了再说: [cc lang=”bash”] $ gem list –local | wc -l 147 [/cc] 为了有点视觉效果,特地把vertical scrollbar给干掉了,xd: [cc lang=”bash” lines=”-1”] $ gem list –local LOCAL GEMS actionmailer (2.3.5, 2.3.4, 2.3.3, 2.3.2) actionpack (2.3.5, 2.3.4, 2.3.3, 2.3.2) activemerchant (1.5.1) activerecord (2.3.5, 2.3.4, 2.3.3, 2.3.2) activerecord-tableless (0.1.0) activeresource (2.3.5, 2.3.4, 2.3.3, 2.3.2) activesupport (2.3.5, 2.3.4, 2.3.3, 2.3.2) authlogic (2.1.3) authlogic-oid (1.0.4) autotest (4.2.9) autotest-fsevent (0.2.2, 0.1.1) autotest-growl (0.2.3, 0.1.6) autotest-rails (4.1.0) autotest-rails-pure (4.1.0) awesome_print (0.1.4, 0.1.2) billing (0.1.0) builder (2.1.2) bundler (0.9.17, 0.9.16, 0.9.5) cache-money (0.2.5) calendar_date_select (1.16.1, 1.15) cgi_multipart_eof_fix (2.5.0) cheat (1.2.1) chronic (0.2.3) collectiveidea-awesome_nested_set (1.4.2) columnize (0.3.1) commondream-control_center (1.0.0) configuration (1.1.0, 0.0.5) crack (0.1.7, 0.1.4) cucumber (0.6.4, 0.6.2, 0.3.104) curb (0.7.1) daemons (1.0.10) dependencies (0.0.9, 0.0.6) diff-lcs (1.1.2) echoe (4.3, 3.2) eventmachine (0.12.10, 0.12.8) faker (0.3.1) fastthread (1.0.7) flay (1.4.0) flog (2.4.0, 2.2.0) gem_plugin (0.2.3) gemcutter (0.5.0, 0.4.1) geoip (0.8.6) ghost (0.2.7, 0.2.3) git (1.2.5) gruff (0.3.6) haml (2.2.22, 2.2.20, 2.2.2) happymapper (0.3.0) highline (1.5.2, 1.5.1) hirb (0.3.1, 0.2.5) hoe (2.6.0, 2.3.3) hpricot (0.8.2, 0.8.1) httpclient (2.1.5.2) javan-whenever (0.3.7) jeweler (1.4.0) jnunemaker-validatable (1.8.3) jscruggs-metric_fu (1.1.5) json (1.2.3, 1.2.0, 1.1.9) json_pure (1.2.3, 1.2.2) laserlemon-vestal_versions (0.8.0, 0.6.0) launchy (0.3.5, 0.3.3) less (1.2.21, 1.2.20) libxml-ruby (1.1.3) linecache (0.43) little-plugger (1.1.2, 1.1.1) log4r (1.1.7, 1.1.2) logging (1.4.1, 1.3.0) looksee (0.2.1) magic_multi_connections (1.2.1) memcache-client (1.8.2, 1.8.0) memcached (0.19.3) mime-types (1.16) mislav-will_paginate (2.3.11) mocha (0.9.8, 0.9.7) mojombo-chronic (0.3.0) mongo (0.20, 0.19.3, 0.19.1) mongo_ext (0.19.3, 0.19.1) mongo_mapper (0.7.3, 0.7.1) mongrel (1.1.5) mozy_api (0.1.42) mutter (0.5.3) mysql (2.8.1) nokogiri (1.4.1, 1.3.3) paperclip (2.3.1.1) passenger (2.2.11) polyglot (0.3.1, 0.3.0) postgres (0.7.9.2008.01.28) production_log_analyzer (1.5.1) rack (1.1.0, 1.0.1, 1.0.0) rack-bug (0.2.1) rack-test (0.5.3) radiant (0.8.1) rails (2.3.5, 2.3.4, 2.3.3, 2.3.2) rails-footnotes (3.6.6) rails_analyzer_tools (1.4.0) rake (0.8.7) rava (1.0.0) rb-appscript (0.5.3) rcov (0.9.8, 0.8.1.2.0) RedCloth (4.2.3, 4.2.2) redgreen (1.2.2) reek (1.2.7.3, 1.2.1) relevance-rcov (0.9.2.1) request-log-analyzer (1.6.4) rest-client (1.4.2, 1.0.3) rmagick (2.13.1, 2.12.2) roodi (2.1.0, 2.0.0) rr (0.10.11, 0.10.10) rspec (1.3.0, 1.2.8) rspec-rails (1.3.2, 1.2.7.1) ruby-debug (0.10.3) ruby-debug-base (0.10.3) ruby-debug-ide (0.4.9, 0.4.5) ruby-hmac (0.4.0, 0.3.2) ruby2ruby (1.2.4) ruby_parser (2.0.4) rubyforge (2.0.4, 1.0.4) rubygems-update (1.3.7, 1.3.6, 1.3.5) savon (0.7.6, 0.6.7) searchlogic (2.4.14, 2.3.5) sexp_processor (3.0.4, 3.0.3) shotgun (0.6, 0.4) sinatra (1.0, 0.9.4) sketches (0.1.1) soap4r (1.5.8) spree (0.10.2, 0.8.5) sqlite3-ruby (1.2.5) state_machine (0.8.1, 0.8.0) stringex (1.1.0, 1.0.3) sys-uname (0.8.4, 0.8.3) SyslogLogger (1.4.0) system_timer (1.0) term-ansicolor (1.0.5, 1.0.4) thin (1.2.7, 1.2.5, 1.2.2) thor (0.13.4, 0.11.5) thoughtbot-shoulda (2.10.2) tlsmail (0.0.1) treetop (1.4.5, 1.4.4) unicode (0.3.1) validatable (1.6.7) visionmedia-terminal-table (1.2.0) webrat (0.7.0, 0.5.3) whenever (0.4.1, 0.3.7) will_paginate (2.3.12, 2.3.11) wirble (0.1.3) xml-simple (1.0.12) ZenTest (4.3.1, 4.2.1) zentest-without-autotest (4.2.1) [/cc]
一首简单的歌
media downloaded from google.cn music 一首简单的歌 - 王力宏 这世界很复杂 混淆我想说的话 我不懂 太复杂的玩法 什么样的礼物 能够永远记得住 让幸福别走得太仓促 云和天蝶和花 从来不需要说话 断不了 依然日夜牵挂 唱情歌说情话 只想让你听清楚 我爱你是唯一的倾诉 写一首简单的歌 让你的心情快乐 爱情就像一条河 难免会碰到波折 这一首简单的歌 并没有什么独特 好像我 那么的平凡却又深刻 我一直在思考 让你了解我的好 却忘了 常常对你微笑 失去的忘记的 我会尽力去弥补 你是我最珍贵的财富 写一首简单的歌 让你的心情快乐 爱情就像一条河 难免会碰到波折 这一首简单的歌 并没有什么独特 好像我 那么的平凡却又深刻 深刻 简单的歌 简单的歌 写一首简单的歌 让你的心情快乐 爱情就像一条河 难免会碰到波折 这一首简单的歌 并没有什么独特 好像我 那么的平凡却又深刻
Update 41: 有些事情我还真不理解……
1. 不理解为啥沃尔玛我经常买的饼干最近竟然涨价涨了一倍,从10块多涨到20多块多,人家房地产泡沫,你帮我搞饼干食品泡沫…… 一怒之下遂决定不买了…… 你们就是这样对待你们的老顾客兼忠实粉丝兼付费用户的吗?愤怒的不解中…… 2. 不理解为啥女生打foosball的时候都会发出啊啊啊的叫声(当然熟练到近于专业的不列入抽样样本…),下次再和女生打foosball一定要带好录音工具…xd,邪恶的不解中…… 3. 前天好不容易把7G+的starcraft2 down下来,昨天好不容易装好更新好还破解好,轮到今天好不容易终于可以enjoy的时候我突然没有兴趣了…… 郁闷的不解中…… 4. 现在基本11点左右的时候人已经全身发软不行了,以前那可是刚刚开始干活,精力充沛到暴掉的时候唉,这人老么也老的太快了呀,我怎么感觉我都可以夕阳红了啦…… 唉,无奈的不解中…… 5. 各种不解中…… 不少事情,以前不解,现在不解,将来也大概不会再理解了… 唉算了,还是不要理解的好……
From TextMate to MacVim: Vim installation
本文分成两部分,前半部分介绍用macports安装terminal版本的vim,后半部分介绍gui版本的MacVim的安装,一般不推荐在macports里面安装vim的gui variants,想象一下编译的时间…… [MacPorts Vim Installation] MacPorts的Vim 3天前刚刚更新到7.3.3,为了安装最新的版本,我们需要首先更新同步一下macports的port file tree: [cc lang=”bash”] $ sudo port -v selfupdate [/cc] 安装之前先查看一下这个Vim包的variants: [cc lang=”bash”] $ port variants vim [/cc] [cc lang=”bash” height=”250px”] vim has the variants: athena: Build GUI version using Athena widgets conflicts with gtk1 gtk2 motif requires x11 big: Build big feature set conflicts with small tiny cscope: Enable source code browsing with cscope gtk1: Build GUI version using GTK 1.x widgets conflicts with athena gtk2 motif requires x11 gtk2: Build GUI version using GTK 2.x widgets conflicts with athena gtk1 motif requires x11 huge: Build huge feature set conflicts with big small tiny motif: Build GUI version with Motif widgets conflicts with athena gtk1 gtk2 requires x11 nls: National Language Support perl: Enable Perl scripting python: Compatibility variant, requires +python25 requires python25 python25: Enable Python scripting conflicts with python26 python27 python31 python26: Enable Python scripting conflicts with python25 python27 python31 python27: Enable Python scripting conflicts with python25 python26 python31 python31: Enable Python scripting conflicts with python25 python26 python27 ruby: Enable Ruby scripting small: Build small feature set conflicts with tiny tcl: Enable Tcl scripting tiny: Build tiny feature set universal: Build for multiple architectures x: Compatibility variant, requires +x11 * requires x11 x11: Build CLI version with X support xim: Build with support for X Input Method [/cc] 可见其variants还真不少,光gui的variant就有4个:athena, gtk1, gtk2, motif,考虑到过长的编译时间以及稍后我们便会安装更mac friendly的MacVim,所以这儿我们不装任何的gui variant。另外由于我本机已经安装过python 2.6的macports,同理为了减少编译工作量和编译时间我这儿选择了python26的variant: [cc lang=”bash”] $ sudo port -v install vim +huge +nls +perl +ruby +python26 [/cc] 接下来便是长时间的下载和编译时间,cpu会很忙,泡杯咖啡,稍后继续…… [MacVim Installation] ok,let’s go on. 上周macvim刚刚update到了7.3,如果你装的还是7.2的那么是时候更新了,7.3带来了persistent undo, relative number, color column, conceal text等等new features,以后有机会我们会慢慢介绍。 下载并解压: [cc lang=”bash”] $ wget http://github.com/downloads/b4winckler/macvim/MacVim-7\_3-53.tbz $ tar xjvf MacVim-7_3-53.tbz [/cc] 安装MacVim.app到Applications,当然在Finder里面拖拽可能更符合mac安装app的习惯,不过anyway…: [cc lang=”bash”] $ cd MacVim-7_3-53 $ sudo mv MacVim.app /Applications/ [/cc] 同TextMate的mate类似,MacVim也提供了一个命令行启动的脚本mvim,一并安装之并建立一些symbol link给mvimdiff, mview等utility: [cc lang=”bash”] $ sudo cp -f mvim /usr/local/bin/mvim [/cc] [cc lang=”bash”] $ sudo ln -s mvim /usr/local/bin/mvimdiff $ sudo ln -s mvim /usr/local/bin/mview $ sudo ln -s mvim /usr/local/bin/mex $ sudo ln -s mvim /usr/local/bin/rmvim [/cc] 以上安装已基本完成,下面是MacVim附带的一些配置,和vim本身的配置无多大关系,所以一并提供在此: 我希望最大化按钮work as I expected: [cc lang=”bash”] $ defaults write org.vim.MacVim MMZoomBoth 1 [/cc] 我有鼠标,虽然很山寨,但也有3个button,所以请把Ctrl键还给我,以后我们还要用Ctrl+LeftMouse来访问tag stack的: [cc lang=”bash”] $ defaults write org.vim.MacVim MMTranslateCtrlClick 0 [/cc] 还有一些MacVim的特有配置可以放到vimrc里去,所以我们以后聊到vimrc的时候再说不迟。
Update 40: 我不理解, 我又很理解
1. 不管承不承认,有时候有些人总是习惯不习惯自觉不自觉的很在意周围人的看法和观点,于是慢慢生活变成了演戏,不管周围观众是认识不认识,要好不要好,生活有交集抑或没交集的,他们都是他们那出自导自演的剧集的主角;他们会在网上写文章,然后又故意用密码加密;会内心喜怒哀乐,外表却一直笑容可掬;会…… 有时候我发现我很不理解,有时候我发现我突然又很理解…… 2. update本来没打算有啥主题,当你看到1,2,3,4的时候就是提醒你我们下面要切换context了,如果非要定个主题我想应该只能是update吧,不过还是有人会希望你主题明确,对仗工整,承上启下,融会贯通,不要天花乱坠、天马行空,我起初很不理解,只能默默暗自庆幸还好我没有活在八股文抑或文字狱大兴的年代,但我不知道为啥突然又很理解,于是本文中我会尽量做到能够主题明确,还不明确?well,我已经尽力了…… 3. 一位朋友借伞外出接朋友,本来说好时间还伞(那样我才能回家),最后迟到了许久不说,还让我走了很多路自己去取,起初我很不悦,很不是理解,心想要是换做是我,我一定亲自送回来答谢,但第二天我突然又很理解…… 我想我要做的只是把换位思考进行的更彻底更完整一点,而那可能只是需要一点时间 4. 很多人经常告诉我他们做某某事情的原因之一是因为他们的IQ高,但是,请千万千万别告诉我你做某某事情的原因只是因为你的IQ高,我虽然理解,但我真的不是很理解…… 5. lie to me里面有句经典台词,我个人觉得很适合作为本篇我自认为还是有点主题的update的结束:truth or happiness, never both.
Update 39: 可遇不可求
1. Avatar,3D,IMAX,和平影都…… 这些前个把月炙手可热的名词,本人上周末终于得以体验了一把,据说周末是和平影都公开宣称的最后一天公映日期,所以鄙人好歹也捞到了一个number 1,真所谓不为最先,不耻最后…… 由于主观客观各种原因,之前未接受任何形式的剧透,亦没有在那段媒体整天狂轰乱炸的日子里考虑过任何2D或是伪3D的版本,你还真别说我克制力超强,说实话这事真不能说太细…… 当然最后还是得有一个offical的解释:“懂伐,这可叫延迟享受……” 2. 先不说Avatar观后感(相关feature request人员需要延迟享受一下…),先谈一下和平影都底楼那家无所不知无所不能的KFC…… 不但可以吃早点上厕所(吃早点和上厕所没有关系?no,no,no,以前记得有个广告词:“拉什么,关键看你吃什么…”,瞧~),而且你进去找了半天没找到厕所,它还很人性化的在角落里面那个很像厕所的门上挂个牌子告诉你厕所在二楼,于是你兴高采烈坐了电梯上二楼找到WC进去却发现包厢不够用,而且也没有免费手纸可用,附近也不像是能马上买到的样子(说实话和平影都外面名声很大,地方却小的有点寒碜),于是继续坐电梯下一楼进KFC装作刚吃好的样子去前台要纸巾,给了少还可以再多要一点,服务员一脸迷茫,心想今天怎么好多人排队要纸巾…… 没办法,谁叫你垄断呢,知道反托拉斯法的必要性了吧…… 拿了纸巾一身释然继续奔二楼,却发现这回很不走运包厢已经满员了,但是人性化的事情又发生了,厕所旁边突然出现了一位默默无闻扫地僧,为我们仙人指路到了更是一层楼,为了欲穷千里目,我们直接上了五层楼…… 于是接下去的事情就变得轻而易举而不足挂齿了,要知道,万事开头难嘛~ 3. 好了,回到Avatar,前面提到之前没看任何剧透,因为其实心理一直希望感受新鲜和震撼,但几乎所有同伴都告诉我不要expectation太高…… 不过好在这种矛盾的心理没有持续太久,不同于美国影院放映前都会有一堆掉你胃口的广告然后假惺惺的提醒你关掉手机有助于更好的享受movie,这里则是刚找着位置,座位都没坐暖,3D眼镜都没调整舒服,电影已经“轰”的一声开始了,我不知道为啥我这里首先回想到的象声词是“轰”,但一切的确开始的是那么突然…… 看第2+遍的朋友们已经在开始感叹画面怎么怎么3D怎么怎么宏大怎么怎么壮观怎么怎么不一般怎么怎么爽,我还颇为傻帽的在那里为该关注情节看那恶心另人发昏的字幕(焦距缩小)还是关注画面3D效果和影片场面渲染(焦距放大)而纠结不已,就在我瞳孔焦距来回的缩放中我突然体会到了传说中的催眠术…… 这也是为啥电影结束出来后同伴的咖啡还有大半杯,而我的早没了的根本原因…… 不过好在电影本身够引人入胜,我最后终于还是没有睡将过去…… 4. 此处省略电影欣赏过程一千字(说实话我也不大记得了,这催眠术……),应各方要求,最后谈下我个人的观后感(至于影片本身各位看官可能比我更清楚),影片情节属于典型好莱坞式american dream,就是看到一大半就大致猜的到结局的那种,至少对我而言,真正的卖点应该就是现在众所周知的3D画面处理技术(真正意义上做到了真实和宏大),看来科学技术还真是第一生产力,不带之一的 5. 最近终于决定全面转向vim,打算写一个从textmate转向macvim的一个系列,当然还是打算,可能最后成不了系列,但写应该还是会写一些。 6. 最后点下题. 有些事情其实可遇不可求,遇到之后本人可能觉得很倒霉,殊不知很多人也许正在急切求之而不得呢,至于究竟何事只可遇而求不可,这里显然不能说太细,毕竟也只是上周某事后我脑海里时常浮现出的一幅画面的有感而发而已,各位看完忘了便是,不足挂齿。