Blog | Phodal - A Growth Engineerhttp://www.phodal.com/blog/2015-02-08T03:35:51.577083+00:00Blog努力只是因为想去做想做的事2015-01-01T15:48:36+00:002015-02-08T03:35:51.577083+00:00Phodal Huanghttp://www.phodal.com/blog/author/root/http://www.phodal.com/blog/try-hard-for-doing-what-to-do/努力只是因为想去做想做的事
> 最初的梦想紧握在手上,最想要去的地方,怎么能在半路就返航。
记得在写[About Me](http://www.phodal.com/about/)的时候有一个TO DO,上面写着:
- 设计师
- 自由职业者
- Dream-Coastline
那些想做的事,怎么能在半路就返航。
##几件小事
曾经抱怨过这个世界,为什么做得比别人好,却连与之相匹配的待遇。
最后明白了。
> 这个社会唯一的公平就是——它是不公平的。
这句话,就这样吧。
###与学校
- 小学的时候是在村上的小学上的,过得开开心心、轻轻松松,唯一不爽的是图书馆里的故事书太少了。特长是数学,因为语文不好,所以数学被认为是特长。便很认真的学,然后就成为特长了。遗憾的是,当时上初中的时候,是按批次分初中的,于是没机会上镇上最好的初中(ps:只有两个中学)。
- 初中的时候发现那些数学比自己差的,突然就变好了,而自己在各种YY成为一个作家,开始去构思小说。然后,又YY成为一个画家,开始去学画画。当时,我们进初中的时候,学校**刚有**了各种实验室。然后,高中的时候只能在镇上的高中上,没努力 + 没钱考上县里的高中,就放弃了。
- 高中的时候沉迷于IT世界。后来的后来,到了西安文理学院——据说是二科垫底的学校。
- 大学的时候,发现原来我是学渣,挂了一堆课。
从今天看来,过去在别人的眼里一直活得像一个Loser,有一天就变成404了。或者说,这像是大部分人的写照。于是,难免有时候,会对自己打上这样一个tag,有一天我们需要-d。
一个成功的master,看上去就是这样的:
![master][5]
没有merge看上去是漂亮的:
只是现实不是理想的,merge过后乱七八糟的。
![merge][6]
现实已经注定我们没有办法渡过一帆风顺的人生。
当然了,你的人生也可能像一个成功的master,没有曲折。
###与IT
> 没有天才
只是因为学得更早罢了。
- 小时候很羡慕那些有笔记电脑的人,记得在参加一场关于LOGO语言的比赛的时候,看到过市里面的孩子用的是笔记本,可羡慕了。长大了,能记得就是那时因为不懂很多命令,最后得了个0分。
- 初中的时候,尝试过拿小霸王的BASIC编过程,只是手上的那本指南少了几页。原本一个功能直接由一个函数实现,后来写了近百行,最后才发现原来是如此。
- 高中的时候,学了会游戏开发,发现数学好还是不错的。学了会操作系统,发现原来自己能看懂。学了会C++,我想以后我想要的就是可以写想要的代码。
- 大学的时候,发现计算机是我的特长,隐隐约约地发现看到大部分计算机专业的书。而后,又大概看了四五百本计算机书。
今天,发现原来当时``没有被自己打败``。如果现在变成16岁,就会成了所谓的天才,会有很多的人说你智商很高。
过去偶尔会逛某知乎,现在发现那群人已经深深被大众心理学影响了。好想说,里面好多的人都被自己的打败。
**如果你还被知乎的某氛围所笼罩,而放弃战斗的时候,想想只是因为他们学习得更早。**
真正的天才,从小就不看书就知晓一切。
当时Linus写Linux的时候,也被骂了一顿。
如果不是,那么只是因为他们渡过了10000小时,而你没有。
##成长
又一次回到理想与现实,看我们看看成长曲线:
![vim][1]
理想中我们和别人的差距和Vim是类似的,于是因为别人成长得比你早,就有了
![compare][3]
在某个点的时候你们的差距达到了最达,于是你放弃了,而那时确有可能是你成长最快的时候。这个差距看上去接近于你的十倍生产力,没有十倍也有三四倍。
当你们处于同一水平的时候,那么谁领悟得更早就越容易跃进,于是有了Emacs:
![Emacs][2]
##努力只是因为想去做想做的事
> 一步步地成长,即使离目标很远,也应该去做。
没有人是天生适合写代码,但是每个人都是天生的解决问题者。
一直有很多想法,很多想做的事,做了、实践了,发现已经写了很多代码。
心里似乎已经没有什么特殊的想法,编程是一种乐趣,而这时的乐趣是为了解决问题。
解决一个又一个的问题,那么路出现了。
你也知道怎么走了。
![github][4]
[待我代码编成,娶你为妻可好](http://www.xuntayizhan.com/person/ji-ke-ai-qing-zhi-er-shi-dai-wo-dai-ma-bian-cheng-qu-ni-wei-qi-ke-hao-wan/)
Follow me: [https://github.com/phodal](https://github.com/phodal)
[1]: /static/media/uploads/vim.png
[2]: /static/media/uploads/emacs.png
[3]: /static/media/uploads/compare.jpg
[4]: /static/media/uploads/github.png
[5]: /static/media/uploads/master.png
[6]: /static/media/uploads/merge.pngEmacs 入门指引(一) Emacs简介2013-02-20T10:35:46+00:002014-05-14T22:09:44.914244+00:00Phodal Huanghttp://www.phodal.com/blog/author/root/http://www.phodal.com/blog/emacs-quick-emacs-intro/<h2>
Emacs是什么?
</h2>
<p>
<span>Emacs是一种功能超强的文本处理程序,或者文本编辑器。作者Richard Stallman(主页:<a href="http://stallman.org/">http://stallman.org/</a>)。基础部分是使用C语言编写的,其他部分是用Emacs Lisp编写的。深层次的话,C语言构成了emacs的底层,包括Emacs Lisp的解释器。而Emacs Lisp则是负责了Emacs Lisp的建筑物上层,也就是包括我们平时用的扩展、界面等。</span>
</p>
<p>
<span>Emacs只是一文本编辑器,这和Windows上的Visual Studio等等不同的是,VS集成的是完整的开发功能,包括编译器、编辑器、调试器等等。而Emacs只是一个文本编辑器,当然不要因此而是否定Emacs的强大。Emacs可以做的:</span>
</p>
<div>
<ul>
<li>
<span> 收发电子邮件、通过FTP/TRAMP编辑远程档案、通过Telnet登录主机、上新闻组、登陆IRC和朋友交流</span>
</li>
<li>
<span> 查看日历、撰写文章大纲</span>
</li>
<li>
<span> 对多种编程语言的编辑、调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等</span>
</li>
<li>
<span> 玩游戏、计算器、记日记</span>
</li>
<li>
<span> 煮咖啡、管理日程,Task,ToDo,约会等、个人信息管理、目录管理</span>
</li>
<li>
<span> 文件比较、阅读info和man文档、浏览网站</span>
</li>
</ul>
</div>
<p>
</p>
<p>
<span>他确实只是一个文本处理器,你可以将之视为伪编辑器的操作系统。而这是因为其与unix/linux系统的整合程度而起的,换句说,如果Richard Stallman可以早点开发出内核,而不是等到Linux的话。Linux/Unix的设计思想之一就是:简单,使用足够的小程序来支撑起这世界,而是Emacs所做的就是利用这些工具,来打造自己,完成自己的系统。因而,Emacs强大的另一点是,有足够的扩展,无论是过去的auto-complete或者是现在的Android-mode等等。故而,我们可以在《架构之美》之中看到关于其的介绍,而是他的特性也是如此,滋长的特性是其优势。</span>
</p>
<p>
<span>也因些,Emacs是Unix世界的两大神器之一,另外一个是Vim/Vi。</span>
</p>
<p>
<span><br/>
</span>
</p>
<h2>
Emacs是什么样的?
</h2>
<p>
<span>如图:</span>
</p>
<p>
<img alt="" src="http://my.csdn.net/uploads/201207/07/1341651388_4039.jpg"/><br/>
</p>
<p>
<span>Emacs的设计预想是需要时只需要启动一次,然后一直运行着。我们可以使用C-x-2,C-x-3对窗口进行分割,打开多个文件进行编辑。Emacs的三种基本对象是:帧(frame)、窗口(window)、缓冲区(buffer)。</span>
</p>
<p>
<span>帧是Emacs对计算机图形界面中窗口的称呼。将上图分为三个部分,分别是显示了Emacs的介绍,可浏览的目录列表及展示Lisp交互界面的缓冲区(buffer)。而是最下面的那一行,则是输入命令的地方。</span>
</p>
<p>
<span>窗口是帧的一部分,要创建一个新的窗口,只能通过将原有窗口分成两个,当关闭某个窗口时,将把空间给邻近的窗口。这样的结果是一个帧中的窗口始终会填满整个帧的内容。只有对键盘命令进行响应,窗口是轻量级的,在使用时会频繁地创建和关闭。</span>
</p>
<p>
<span>缓冲区是用来保存可编辑的文本内容。Emacs将会把打开的文本内容保存在缓冲区中,但缓冲区中的内容并不一定必须与某个文件关联:它可能包括搜索结果、在线文档,以及刚输入还没有保存到任何文件中的内容。每个窗口将显示某些缓冲区的内容,而一个缓冲区可能保存0个、1个或多个窗口。</span>
</p>
<p>
<span>还有一个很重要的地方,那就是除了每个窗口底部的模式行以及其他类似的东西,Emacs在向用户显示文本信息时会将其放在缓冲区中,然后将缓冲区的内容显示在某些窗口中。帮助信息、搜索结果、目录列表以及其他类似的的内容,保存在缓冲区中的内容都有相应的名称。</span>
</p>跨平台的emacs vim配置2012-12-18T19:08:13+00:002014-05-14T16:22:32.509370+00:00Phodal Huanghttp://www.phodal.com/blog/author/root/http://www.phodal.com/blog/cross-platform-emacs-vim-configure/<p>最后的效果如下图所示,这个是emacs,用的是purcell的配置。</p>
<p><img alt="" src="http://hi.csdn.net/attachment/201202/17/0_1329450794pm8e.gif"/></p>
<p>这个是Amir Salihefendic的,因为都是来自国外的,所以相对比比较好些,而且也省得自己配置了。</p>
<p><img alt="" src="http://hi.csdn.net/attachment/201202/17/0_1329450787pPKW.gif"/></p>
<p>Emacs的配置</p>
<p> </p>
<div class="dp-highlighter bg_plain">
<div class="bar">
<div class="tools"><strong>[plain]</strong> <a class="ViewSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="view plain">view plain</a><a class="CopyToClipboard" href="http://blog.csdn.net/gmszone/article/details/7267269" title="copy">copy</a><a class="PrintSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="print">print</a><a class="About" href="http://blog.csdn.net/gmszone/article/details/7267269" title="?">?</a>
<div></div>
</div>
</div>
<ol start="1">
<li class="alt">git clone git://github.com/purcell/emacs.d.git </li>
<li>git submodule update --init </li>
</ol></div>
<p>这个是主要的代码,需要cd到自己的home目录,然后第一行完成后,再mv emacs.d .emacs.d。接着再执行第二句,也就是如果你熟悉版本控制的话这个是相对很容易理解的。</p>
<p> </p>
<p>之后以推荐这个是因为这个不断在更新,而且配置得相对比较好,同时还有包管理。类似于yast2及aptitude之类的很方便,比如我们需要安装android-mode的话,也是比较简单的。</p>
<p>android emacs的配置</p>
<p>alt+x</p>
<div class="dp-highlighter bg_plain">
<div class="bar">
<div class="tools"><strong>[plain]</strong> <a class="ViewSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="view plain">view plain</a><a class="CopyToClipboard" href="http://blog.csdn.net/gmszone/article/details/7267269" title="copy">copy</a><a class="PrintSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="print">print</a><a class="About" href="http://blog.csdn.net/gmszone/article/details/7267269" title="?">?</a>
<div></div>
</div>
</div>
<ol start="1">
<li class="alt">package-list-packages </li>
<li>package-install </li>
</ol></div>
<p>很是方便,接着再输入android-mode,结果如图所示:</p>
<p> </p>
<p><img alt="" src="http://hi.csdn.net/attachment/201202/17/0_13294514740p6F.gif"/></p>
<p>在purcell的配置里面相当的不错,然后再find-file: .emacs.d/elpa/android-mode-0.1/android-mode.el这个文件修改一下android-sdk的路径,如图1所示。</p>
<p>接着再alt+x下,android-mode启用,于是:</p>
<p> </p>
<div class="dp-highlighter bg_plain">
<div class="bar">
<div class="tools"><strong>[plain]</strong> <a class="ViewSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="view plain">view plain</a><a class="CopyToClipboard" href="http://blog.csdn.net/gmszone/article/details/7267269" title="copy">copy</a><a class="PrintSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="print">print</a><a class="About" href="http://blog.csdn.net/gmszone/article/details/7267269" title="?">?</a>
<div></div>
</div>
</div>
<ol start="1">
<li class="alt">android-start-emulator </li>
</ol></div>
<p>帅吧,对于这个老古董来说,很是不错了。很犀利的速度,很是快捷的方式。很多功能强大的功能就在自己去发掘了,所以咯,如果你有什么新的发现,可以和我们分享一上,不过这个很强大咯。</p>
<p> </p>
<p>vim的配置</p>
<p>参考的博客地址:<a href="http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc">http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc</a></p>
<p> </p>
<div class="dp-highlighter bg_html">
<div class="bar">
<div class="tools"><strong>[html]</strong> <a class="ViewSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="view plain">view plain</a><a class="CopyToClipboard" href="http://blog.csdn.net/gmszone/article/details/7267269" title="copy">copy</a><a class="PrintSource" href="http://blog.csdn.net/gmszone/article/details/7267269" title="print">print</a><a class="About" href="http://blog.csdn.net/gmszone/article/details/7267269" title="?">?</a>
<div></div>
</div>
</div>
<ol class="dp-xml" start="1">
<li class="alt">$ mkdir ~/.vim_runtime </li>
<li>$ svn co svn://orangoo.com/vim ~/.vim_runtime </li>
<li class="alt">$ cat ~/.vim_runtime/install.sh </li>
<li>$ sh ~/.vim_runtime/install.sh <system> </li>
<li class="alt"> <sytem> can be `mac`, `linux` or `windows` </li>
</ol></div>
<p>因为vim启动比较快,所以小文件就用这个解决这些问题了,不像emacs可以集成开发环境了。比如,开发django的时候,多窗口的时候,可以用这些了。启用多个窗口,同时还可以用shell,w3m等等。</p>