6

为什么要写blog/文章work-in-progress

 3 years ago
source link: https://zhuanlan.zhihu.com/p/356880493
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

为什么要写blog/文章work-in-progress

一个人NB的不是标签

最近读到一篇文章,里面说的好多点,都是我当初要决定要写一写东西的原因。但是因为总是容易断断续续地写。现在把这篇文章翻译一下,也是对自己的鞭策和动员。

原文:In Pursuit of Laziness : Why I enjoy blogging?

为什么我享受写博文?

三年前,我从旧的博客转移到了这个博客,希望写一写关于编程,数学,物理,书籍等等。我并没有写了所有我想写的,但是写博客的过程,我非常非常开心。wc(一个统计词数的命令)告诉我,我写了75k个词,这让我非常惊讶!

许多人经常问我——通常是那些决定要不要写博客的朋友,写博客是什么感觉。我往往列举各种我觉得棒极了的理由来说服他们去写博客。也许把这写下来,这样就可以更广泛地帮助更多的人!☺

写博客可以巩固我的理解

我经常开始写博客的时候写一些我觉得我理解的东西,但是结果发现我的理解是模糊的。这表明我们通常很容易说服自己——自己理解了某些东西。

把东西写下来的动作让我巩固我对东西的理解——文字通常没有思考那么模糊,所以我被驱使着把细节搞清楚。

我记得当初我在写rust的线程安全是怎么工作的时候,我认为我理解了Send和Sync。我理解它们,但是我并没有对它们形成一个清晰的思考模型(metal model)。通过写那个博客,我获取到了对他们的清晰的思考模型:要想向别人解释清楚,你必须首先向自己解释清楚

我特意指出这篇博客是因为,这是我意识到这点的第一篇博客。更重要的是在那篇博客里面建立的更具体的思考模型,让我在rust的标准库里面找到了一个有意义的bug 。当思考我的思考模型时,我意识到这样的代码是不正确的,于是我搜寻rust源代码并且找到一个例子/bug。

我已经意识到一对一的解答和通过博客进行解答的区别。我喜欢一对一的解答,因为这样可以因人解释,也可以解答到他们真正需要帮助的地方,并且也是交互地。我很多的博客都是出于“我知道经常被问到这个问题,把它们写下来,这样我不用重复自己”和我发现我也可以从这些里面学到很多东西,尽管我需要多次讨论文章里面的内容。

我猜那是因为写博客是在深处就是一对多——你在向具有不同背景的人解释——这表示你需要覆盖你所有的观众并且全部解释清楚而不是用最小的代价。

修改以前的博客很有意思

好吧,我承认我从来没有考虑这一点。但是当我真的重新读它们的时候,我非常感激我写了它们。

我是一个重读文章的粉丝,我已经读了我喜欢的书十来遍;我每年都会去The Wisdom of James Mickens朝圣;我重读很多我喜欢的博客和文章;我也经常重读我以前写的东西。

有时我这么做是为了刷新我对某些主题的认识。有时是因为无聊。但是无论出于什么原因,它都是有用和有趣的事情。

我最喜欢重读的文章之一就是这个很长的泛化零基础证明。它是我目前写的最长的文章,也是我不经常接触的一个主题——密码学。它不仅让我重新具有思考密码学的思维方式,它也很有趣,很复杂,重读就像重新学习一边。

它让我锻炼不一样的头脑空间

我喜欢编程,但是如果编程是唯一的事情,我很容易疲劳。当我学习物理的时候,我经常在业余时间贡献代码给开源社区,但是我现在全职写代码,所以我不是很情愿在我业余时间去做。

但是我还是喜欢在我业余时间做编程类似的工作——只不单是编写程序。

结果表明写博客不会让我一样的疲劳。我可以肯定如果我一整天都在写博客,那么我回家的时候我就不会喜欢写博客了。但是我并没有一整天在写博客,所以一切都好。它是那样的清新,坐下来写博客去发掘新的能量。我不知道这是不是一个正确的说法——我通常称它使用不一样的头脑空间。

我已经使用它来规划我的工作。我混用各种头脑空间,这样我一整天都是充满能量。

这也是为什么我喜欢指导——指导通常使用修复我一样的努力,但是它是不一样的头脑空间,利用它不会感到疲劳。

写博客让我变得懒惰

我经常发现自己诠释事情。我喜欢帮助别人和诠释东西,但是我也很懒,所以把东西写下来可以让我变得更容易。如果别人问我,我可以快速地给出答案,然后说“如果你想学更多,我写下来了,它就在这里”。如果别人经常问东西,那说明文章里面少了一些东西。有些东西可以在上游的文档解决,但是其他,比如“我应该怎么理解rust 模块”应该单独解决,并且有它的文章。

别人曾经写过是可以的

我普遍被问到的一个问题是“好吧,我可以写一个关于X的博客,但是网络上已经有好多相关的博文,我应该继续写吗“。

人们思考的方式不一样,学习的方式不一样,并且不同的人来自不同的背景。已经存在的博客可以帮助有些人但对另一些人就没有那么有用了。

我个人的首要原则是如果当我阅读以后,我还需需要花费一定的时间去理解它,那么它就值得写一写,这样其他像我这样的人就更容易理解它了。

我最喜欢的博客之一 艾文经常解释一些计算机相关的概念。大部分时候这些都已经在其他博文或者手机里解释过。但是这不重要,他的博客不一样,并且超级棒。它们顶呱呱,读起来有趣,而且经常让我提起兴趣去学习更多那些我知道但是接触不深的东西。

我有点觉得那是我的责任?

Toni的话我非常喜欢:

我告诉我的学生:”当你得到和你优秀的训练对口的工作,记住你的工作是当你自由的时候,你应该也让别人变得自由。如果你有能力, 你应该也赋予别人能力。这不是一个抢蜡烛的游戏。

我很喜欢它以至于我用他结束我在RuestFest的演讲

我有时间用来写博客和指导。因此,我觉得尽可能分享我所知道的是我的责任:引领大家走过我走过的路,对抗那么多的知识(原文:tribal knowledge)。

编程我基本是自学的。我这么说的时候,意思是我并没有像传统方法那样被人教授——我是通过尝试各种东西和阅读别人写的东西。我不是通过拿来rustc,然后鼓捣学习Rust。我过了一遍教程。我并没有通过第一原则发现酷的算法,我是通过博客和文章学会的。我自学是是因为我控制自己的学习进度,但是我肯定是建立在别人的工作上面。

这意味着,对我而言,分享知识非常重要。如果我花费一定时间弄懂,我应该让它对下一个人来说更容易。

你应该也写博客

我希望每个人都写更多。我明白并不是每个人都有时间/特权这么做。但是如果你有,请你务必开始。

I feel like tips on how to blog would fill up an entire another blog post, but Julia Evans has multiple posts on this that I strongly recommend. Feel free to ask me for reviewing on posts!

As for the technicalities of setting up a blog, my colleague Emily recently wrote a great post about doing this with Jekyll. This blog uses Octopress which is similar to set up.

Thanks to Arshia, QuietMisdreavus, and Alex for reviewing drafts of this blog post.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK