写给新读者的文章导航(3):编程与技术

未来时代,科学、工程与人文三者兼具能力日益重要。人文是明白自己身在何处;工程是有改造世界的能力;科学是能理性解决问题,具备文献追溯与创新的能力。在第三篇文章导航中,这里的工程能力更多侧重编程与数据科学这类软件工程,偶尔涉及到开源硬件这类硬件工程。先让我们从关于编程的元思考谈起。

关于编程的元思考

在我看来,成为杰出专家,应以十年为判断标准,前四年,是培养技能复利的年头。设计、编程、思维训练,均会导致【能力翻倍】效应。所以,按照我的习惯,先从编程的【元思考】说起。这些编程的好习惯与路径,能够导致我们养成更好的习惯与更高效率的学习。

文章1:如何学习一门新的编程语言?

刚开始编程,常心不从心,怎么办?当你开始编程,的确很难,你需要同时掌握语言与逻辑,大脑并不擅长同时处理两件事。所以,我们需要借助一些巧妙的小工具与方法论。这篇文章整理了它们。虽然写于2011年,并没过时,但有几个小提醒:

  • 第一个需要特别提醒的是,【刻意练习】并非万灵丹,严格遵循刻意练习方法,大约能解释国际象棋冠军等卓越专家的成绩的百分之三十,而非被大量所谓专家错误科普,学术上并不存在的【一万小时定律】鼓吹的百分之百。
  • 另一个需要提醒的是,希望更多了解执行意图,可以参考我后来写的文章与好友小镇的演讲:

  • 心智工具箱(4):执行意图
  • @小镇一个关于执行意图的趣味演讲。http://t.cn/zjOiLR7

文章2:如何高效利用GitHub\

这一篇老文,技术社区广为流传。以致几年过去了,用Google检索github,还是这篇文章位居前列。文章中提及的具体链接会过时,但是不会过时的是其中反映出来的思维方法论。尤其是以下几点:

1)对Github文化的分析:强调敏捷开发与快速原型,而又的确成功的创业团队,常具备一个重要气质:有自己的文化风格。 2)认知学徒制:你要学习编程,就应该在github里学习,因为你以后编程就是通过Github。 3)与牛人在一起:参见成为黑客那个链接与集体智慧部分; 4)减少选择:人生不易,满意即可。

Mac效率手册

我当然是Mac粉,晒晒我的Mac Pro。是不是太像垃圾桶?^-^

p12719381.jpg (478×640) p12719382.jpg (478×640)

在我诱惑下,用Mac的朋友越来越多了。将老文汇集在一起,成为一本不断在线更新的《Mac效率手册》供各位参考:

文章3:如何提高创作型任务的效率?(Mac版)

Mac是苹果公司设计开发的一款广受好评的操作系统。如果尝试总结Mac与Windows最大的差异,或许关键字在于:注意力。Mac OSX以简洁的设计取胜,甚至强迫用户将注意力聚焦在当前工作之上。Windows系列操作系统设计,相对而言,缺少一个统一并且强硬执行下去的注意力法则。

这篇文章写得极早,奇迹的是,时隔多年,里面的软件都还没过时。

文章4:Mac开发者2013年新机设置参考

这篇文章是Mac到手之后,可以照着一步一步演练的装机指南。装机之后,同时可以参考我写的Mac入门七篇,网址是:

涉及到Mac新手所需要的方方面面技巧。为了节省时间,重点阅读以下三篇即可:

关于开源技术的布道

前几年,对开源世界做了很多推广工作,Google搜索iterm2、markdown、pandoc、github、jekyll、cask,前几篇都是我的文章。随着近两年步入自己的创作高峰期,以后再也没这心力。这些散落的文字,可以参考这里:

以及这个豆瓣小组:

其中,最常用、最容易改变新读者的使用习惯的是Markdown与iTerm2。建议从此阅读开始。

文章5:Markdown写作浅谈

高效的写作工具,本质是个思想引擎。这个引擎一要快,最快速度帮助你将头脑中混乱的、零碎的想法转为文章;二要智能,自动版本管理,不再让你担心写废与删稿、文风检查;三要恰当好处,进行内容与表现形式的分离。

为了快速入门,可以搭配小容写的在线教程:

入门之后,则可以阅读:

文章6:iTerm2新手应知特色功能

基础,无语多言。

认知科学、数据科学与网络科学

总看到读者在我的技术博客后这种评论:【不说还以为是IT从业人员,怎想是专业心理师】。我从不做心理咨询,不是心理师。编程是认知科学传统。还有用lisp写ACT-R,现在深度学习大牛hinton、贝叶斯大牛Josh都是心理系出身,从事认知科学。大家别把心理学等同于心理咨询,虽然它很重要,但还有更广阔的天地。

文章可以参阅这里:

部分书单可以参阅这里:

文章8:[心理学工作者学什么编程语言?(http://www.yangzhiping.com/tech/psychologist-language.html)

心理学工作者学什么编程语言?我的选择标准是:1)开源,社区友善;2)易入门;3)在特定问题领域,拥有大量最佳实践与外部库,避免重复劳动;4)容易产品化,好卖钱,并且销售基于该程序语言开发的产品不侵犯第三方知识产权。5)不仅学术界,工业界也大量使用,因此好就业好创业。

这篇帖子2011年写的,有些早。建议:

1)侧重数据科学与心理测量,从R入手; 2)侧重人工智能、认知机器人与Web开发,从Python入手; 3)开源硬件,从Arudino入手。

学R可从这里入手:http://t.cn/8FBRgC5 学Python从这里入手:http://t.cn/8FK6nVa

文章9:R in Psychology学习目录

这是前几年整理的一个,给认知科学、心理科学及相关学科的朋友,学习R语言的目录。这一篇文章还可以搭配以下两篇文章阅读:

在处理数据与学习数据科学的时候,最好还订阅以下博客与新闻周刊:

  • 其一:老朋友xccds的博客【数据科学与R语言】:http://t.cn/8kvRqBh 精彩,值得收藏。
  • 其二:数据科学周报(Data Science Weekly):http://t.cn/8s3TEbE,存档在:http://t.cn/8s3TgNP ;数据科学资源整理在:http://t.cn/8s3TgNv

文章10:《社会网络分析:方法与实践》译者序

这一篇文章是我给组织翻译的《社会网络分析:方法与实践》写的序言。全书以基于Python的网络分析包NetworkX作为社会网络分析工具,但并不是一本NetworkX使用手册。作者将重点放在如何从庞大的社会网络分析学术积累中,挑选最精要与最实用的知识点,以帮助读者形成关于社会网络分析的知识谱系图。

从社会网络分析,既可以走向更偏社会科学的计算社会科学,也可以走向更偏神经科学的大脑复杂网络研究;还可以走向更偏计算机科学与物理学的网络科学研究。这本书适合新读者与新手,可以作为一个初步了解图论、网络科学的起点。

同时还可以搭配这一篇文章阅读:

最新的: