溯洄于时光的洪流

总是在不知不觉中,迎来又一个新年,仿佛清晨被人从酣睡中唤醒:“喂,再不起床就迟到了”,你的大脑瞬间紧绷,一切事物都被慌张和焦急浸湿、染色,这个世界被重新拧紧了发条,秒针的每一声嘀嗒都清晰可辨。时间和生活逐渐远去,就像追赶不上的公车,最后你终于发现并且承认,这一年又被消磨掉了。

不知道从什么时候,开始感觉时间不够用,于是想办法利用零碎时间来看书,成为习惯后才意识到,时间真的像海绵里面的水,只要你愿意,可以挤出来很多,以前还无知的认为这种名人名言除了作为考试题没有任何价值。如《道德经》所说:“上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑,不足以为道”,无知且自以为能确实非常愚蠢。两年前给自己定了目标,争取每周看一本书,通过对零碎时间的利用,一直坚持了下来,由于上半年时间比较充裕,还超额不少,这或许是我长这么大惟一值得骄傲的事情,如果有精力,会一直坚持下去。

庆幸在很早的时候就接触了新浪微博和知乎,有机会了解到很多聪明的人,从他们的言论里面获得了很多经验和知识,经常有听君一席话,胜读十年书的感觉。同时将很多“不知道自己不知道”转变成“知道自己不知道”,借用知乎的一句宣传词,就是“发现更大的世界”,免得成为坐井观天的夜郎。

经过一年的尝试,英文阅读水平进步很大,看了一二十本英文书了,阅读速度达到了可以接受的程度,尽量做到了有原版书的情况下不读译本。而且互联网上的很多知识,也是别人读了英文的资料,再加工出来的,这个过程失真和噪声很大。现在回想起来,当初决心看英文书籍的原因也很简单,一是发现别人的知识来源基本都是英文,帮人解答问题都是直接给英文资料链接,二是关注的刘未鹏 | Mind Hacks | 思维改变生活推荐的书籍基本都是英文的。现在回想起来,对零碎时间的利用也受了他那篇《暗时间》的影响。还记得看的第一本英文书是《Hackers and Painters》,当时查字典断断续续看了三四个月才看完,习惯以后看书就轻松了些,受这本书的影响还学了学lisp语言,感觉就像发现了另一个宇宙。

今年年初的时候列个了时间表,规划了下要学的内容,现在回过头来看,只能说可以,但是还不够好。今年依旧列了个计划,希望能有所突破。最近看到一条微博,说三十岁以后想再有时间去学习知识简直是奢望。虽然离三十岁还有五六年,不过已经感觉到确实时间不那么充裕了,很多事情都要分心去了解和处理,人总不能在书堆里过日子。趁现在有时间,能学多少是多少吧。

总是听到这样的言论,“要是高中好好学就好了”、“要是大学好好学就好了”、“要是多看看书就好了”等等。我以前也这么后悔过,不过有一天意识到:大学的时候后悔高中没好好学,工作以后后悔大学没好好学,工作遇到瓶颈后悔刚工作的几年没多看看书,如果你只是这么想而不去想办法努力并改变的话,三年以后,你会后悔现在没好好学,六年以后,你会后悔三年前没好好学,很多人的一生,就是这么蹉跎的吧。

很喜欢写代码和学习计算机科学相关的内容,希望新年能有突破。换了新机器后把机器名改成了lunar mare,也就是月海,这个词是早期的天文爱好者观察月球时,受限于器材和知识,认为月球表面有美丽的海洋,但实际上那些只是类似于盆地的地貌。计算机科学也是这样类似的东西,远远望着觉得很神奇很精彩,接触之后会发现看起来十分乏味和贫瘠,但是当你深入研究之后,才能真正的热爱上这个学科。

突然想起一件小事,随手记在这里,北航六十年校庆的时候去玩,在学校里面的航空博物馆看神舟七号发射的动画演示,运载火箭从上到下包括逃逸塔,整流罩,多节火箭,助推器等等,发射过程要逐步的脱落。旁边两个学生,看样子像情侣,他们的对话很有意思,顿时让我想起“男人来自金星,女人来自火星”这句话。

        火箭助推器脱落
        女(呆萌脸):呀,脚没了
        男(正经脸):嗯,火箭的四个助推器脱落了
        火箭逃逸塔脱落
        女(呆萌脸):呀,头没了
        男(正经脸):嗯,火箭要抛掉逃逸塔,这个是用来救生的
        一级火箭脱落
        女(呆萌脸):呀,腿也没了
        男(正经脸):嗯,一级火箭脱落,二级火箭要开机了
        火箭整流罩脱落
        女(呆萌脸):哎呀,脖子也掉了
        男(正经脸):嗯,火箭要抛掉整流罩,这个会被回收回来,里面的黑匣子记录有数据
        星箭分离
        女(呆萌脸):呀,肚子也没了
        男(正经脸):嗯,二级火箭关机,要星箭分离
        
        然后女生蹦蹦跳跳走了,男生在后面老老实实跟着
    

learn git branching网站的题目解答-Remote部分

抽空做了Remote部分,git的分支的确很灵活,考虑看看《pro git》

1.1 Clone Intro

git clone

1.2 Remote Branches

git commit
git checkout o/master
git commit

1.3 Git Fetchin’

git fetch

1.4 Git Pullin’

git pull

1.5 Fakeing Teamwork

git clone
git fakeTeamwork master 2
git commit
git pull

1.6 Git Pushin’

git clone
git commit
git commit
git push

1.7 Diverged History

git clone
git fakeTeamwork master 1
git commit 
git pull —rebase
git push

2.1 Push Master!

git fetch
git rebase o/master side1
git rebase side1 side2
git rebase side2 side1
git rebase side3 side2
git push

2.2 Mering with remotes

git checkout master
git pull
git merge side1
git merge side2
git merge side3
git push

2.3 Remoting Tracking

git checkout -b side o/master
git commit
git pull —rebase
git push

2.4 Git push arguments

git push origin master
git push origin foo

2.5 Git push arguments — Expanded!

git push origin master~1:foo
git push origin foo:master

2.6 Fetch arguments

git fetch origin master~1:foo
git fetch origin foo:master
git checkout foo
git merge master

2.7 Source of nothing

git push origin :foo
git fetch origin :bar

2.8 Pull arguments

git pull origin bar:foo
git pull origin master:side

learn git branching网站的题目解答-Main部分

这两天花时间把 Learn Git Branching Main部分的做了一遍。 对理解git分支的使用很有帮助,另外发现git的帮助文档和github的帮助文档都很详细,应该好好读一遍。 答案记录在下面,没用show solution看作者给出的答案,只是简单看了看命令数目是不是和作者的solution一样。

1.1 Introduction to Git Commits

git commit
git commit

1.2 Branching in Git

git branch bugFix
git checkout bugFix

1.3 Merging in Git

git checkout -b bugFix
git commit
git checkout master
git commit
git merge bugFix

1.4 Rebase Introduction

git checkout -b bugFix
git commit
git checkout master
git commit
git checkout bugFix
git rebase master

2.1 Detach yo’ HEAD

git checkout C4

2.2 Relative refs (^)

git checkout C4^

2.3 Relative refs #2 (~)

git branch -f master C6
git branch -f bugFix C0
git checkout C1

2.4 Reversing Changes in Git

git reset local~1
git checkout pushed
git revert pushed

3.1 Cherry-pick Intro

git cherry-pick C3 C4 C7

3.2 Interactive Rebase Intro

git rebase -i master~4 --aboveAll

4.1 Grabbing Just 1 Commit

git checkout master
git cherry-pick C4

4.2 Juggling Commits

git rebase -i caption~2 --aboveAll
git commit --amend
git rebase -i caption~2 --aboveAll
git branch -f master caption

4.3 Juggling Commits #2

git checkout master
git cherry-pick C2
git commit --amend
git cherry-pick C3

4.4 Git Tags

git tag v0 C1
git tag v1 C2
git checkout C2

4.5 Git Describe

git commit

5.1 Rebasing over 9000 times

git rebase master bugFix
git rebase bugFix side
git rebase side another
git rebase another master

5.2 Multiple parents

git branch bugWork master~^2~

5.3 Branch Spaghetti

git checkout one
git cherry-pick C4 C3 C2
git checkout two
git cherry-pick C5 C4 C3 C2
git branch -f three C2

vim插件CtrlP中文文档

带有直观接口的全路径模糊文件, 缓冲区, 最近最多使用, 标签, ... 检索。使用纯净的Vimscript编写,可以运行在MacVim,gVim和版本号7.0以上的Vim中。 全面支持Vim的正则表达式 |regexp| 作为搜索模式,内建最近最多使用文件监测,项目根目录定位和更多特性。

抽空翻译了CtrlP的帮助文档,这个应该是目前最好的搜索插件了。Github地址:kien/ctrlp.vim · GitHub 如果CtrlP的作者merge我的request的话,可能会成为项目默认的中文文档,暂时只能在我fork的分支中获取,Github地址:codepiano/ctrlp.vim · GitHub。 这个插件的选项很多,建议把选项都看一下,自己定制过的用起来才顺手。 对于翻译上的建议和指正,欢迎提issue。

在线版地址:

solarized-light版:ctrlp-cn-light

solarized-dark版:ctrlp-cn-dark


—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —