关于写博客的一些思考

我最早在 Cocos2D 圈子里面被大家认识是通过写博客,而“子龙山人”这个名号也是自那时起百度便可以搜索到了。

通过写博客,我还认识了与我合作第一本书的作者王寒,认识了泰然网的教主 Iven,认识了带我入 Emacs 教的“一叶道长”,认识了我的 Boss–Cocos2D-X 创始人王哲。而且后来,我也因此进入了现在的 Cocos2D-X 团队做游戏引擎研发。

总之,写博客有很多收获,也认识了很多朋友(这个是最重要的)。通过和这些认识的朋友交流与合作,我感觉自己明显进步不了不少。

本文主要介绍我这四年来写博客的一些思考,当然,我不是想安利大家都来写博客。我更想谈的是,写博客应该写些什么以及如何坚持写博客。

继续阅读

The best way to teach others Emacs

安利 Emacs 的正确方式:

第一步:找到一个对 Emacs 真正感兴趣的人。(这是最难的一步)

第二步:让他把 Emacs 自带的教程看完(C-h t),并且给他们一些 Youtube 视频教程。

第三步:让他放弃学习 Emacs,并且安利他去学习 Vim。

第四步:等上十来年。

第五步:十来年后,此 Vim 党想重新尝试 Emacs 了,而且这一次他懂得自己去找资料学习了。

第六步:终于,他成功学会了 Emacs,而你什么也没干。

2333333

上面的段子来自 reddit:

https://www.reddit.com/r/emacs/comments/3r1z7p/in_your_experience_what_was_the_best_way_to_teach/

继续阅读

Emacs 当前文件快速查找内容

使用 Emacs 也已经两年多了,积累了不少经验,也一直在安利,不过效果不佳。是时候跟大家分享一些我使用 Emacs 的技巧了,不求安利,只求相互交流。

本文主要介绍 Emacs 里面查找当前文件内容(当前 buffer)的一些方法,它们各有优势,所以我就不一一对比了。

我会在这里介绍它们的用法,并且给出我自己的使用场景。

注:关于插件和 Emacs 的用法,最好的方法其实是录制视频或者制作 Gif,但是录制视频真的花时间,因为还要上传。这里先欠着,后面的zilongshanren/Spacemacs-rocks 再补上。

但是文字有时候非常简洁,可以节约大家的时间。

继续阅读

我的工作流

本文要介绍的工作流是我最近才想出来的, 当然也借鉴了不少其他人的经验,但是,这不是重点,重点是此工作流要解决我目前遇到的问题。

我的问题主要有:

  1. 当我要完成一个代码 feature 或者要修复一个严重的 Bug 的时候,我无法准确预估我需要的时间。
  2. 当我重构一些代码时候,很容易犯一些低级的错误,这让我显得很不专业。
  3. 在解决复杂的问题的时候,我经常要试错然后不断地改进,中间会有推倒重来的可能。
  4. 对于我以前写的有一些代码,要理解它们有一定的难度。

继续阅读

三个 Git 问题(下)

在上篇文章中,我们介绍了 Git 内部存储对象的方式,以及为什么不要用 Git 去管理大的二进制文件。

本文将继续探讨上篇文章中遗留的两个问题。

  1. 如果两个 Branch 修改同一个文件的同一行代码,各自 Commit 一次,在 Merge 的时候为什么不会有冲突?
  2. 同样是两个 Branch 修改同一个文件的同一行代码,各自 Commit 一次,在 Rebase 的时候为何有一个 Commit 会被优化掉?

继续阅读

三个 Git 问题(上)

本系列文章主要回答三个 Git 问题:

  1. 为什么不推荐用 Git 保存二进制大文件?
  2. 如果两个 Branch 修改同一个文件的同一行代码,各自 Commit 一次,在 Merge 的时候为什么不会有冲突?
  3. 同样是两个 Branch 修改同一个文件的同一行代码,各自 Commit 一次,在 Rebase 的时候为何有一个 Commit 会被优化掉?

继续阅读

最近读过的好书

本文主要记录我近两个月来阅读非技术书籍的心得。

其实我已经有很长一段时间没有阅读非技术书籍了, 一方面可能是自己想在技术方面更精进一些,这两年我专注的点都在具体的技术上。 另一方面,可能也是时间关系。

不过,这两个月我居然能够看完 7 本非技术书籍,而且看书的大部分时间是周末和晚上睡觉前 2 小时。这对我而言可以说是一个巨大的进步。

这次我挑选了 7 本跟互联网相关的书籍,因为毕竟是互联网从业人员。

这七本书分别是《周鸿祎自述--我的互联网方法论》,《浪潮之巅》上下两册,《乔布斯传》,《程序员的呐喊》,《异类》和《从 0 到 1 》。

继续阅读

像极客一样使用 Mac

Mac 是属于程序员的电脑,因为它不仅有好看的图形用户界面,还有非常好用的 Unix 命令行接口。我们编程中有很多任务都需要借助命令行来完成,比如 Git,文件操作,Shell 脚本等。

本文主要介绍我常用的一些 Mac 上面的极客工具。

继续阅读