Articles tagged with Programming:

  • Why I translate English books into Chinese

    为何我要翻译书籍和学习资料呢?

    我曾经翻译过一些东西。 虽然我的翻译水平很差,技术水平也很差,但一直还都保持着这个习惯。 偶尔总是陆陆续续地翻译一些自己觉得很喜欢的学习资料。 比如我在翻译中文版的斯坦福大学的CS229的讲义以及杜克大学用Python讲计算机统计学的STA663课程的中文翻译

    然后我经常遇到一些朋友提出类似这样的问题:

    “问什么要翻译?” “英文版不好么?” “你的英文水平,直接看原版不够么?”

    其实这类问题就不好回答了。 怎么说呢? 如果是前些年,看原版应该还费点力气。目前单就阅读和简单的理解来说,看原版基本是没有任何压力的。

    在刚刚开始翻译 ThinkPython 的时候,一些术语对我来说还比较难,甚至是一些编程方面的基础内容,我都还很生疏。 然后后来翻译 Kivy 中文开发指南的时候,由于有之前的经历,一些基础的编程方面的术语我都大概了解了,所以翻译起来也不那么吃力了,不过有的内容还是初次接触,所以还是有各种地方翻译得很不理想。

    所以,翻译的这个过程首先是一个学习的过程,某种程度类似费曼教学法,就好比以教促学,要表达清楚的前提是要理解透彻。当然,这两方面我还都没做到,但我依然在努力。

    上面说的这些是现实原因,实际上还有更深层次的一种原因。

    那就是我的信仰。

    往高大上了说,我去做这类事情是因为我的共产主义信仰 …


  • Introduction of STA663

    基于 Python 的计算机统计学

    简介

    这一套课件实际上是一些相当粗糙的讲座笔记的草稿,基于 IPython notebook ,这门课程从 2015 年春季开始的,针对硕士生的统计学课程,课程地址原本在这里,但是这个链接实际上已经不能访问了。译者注:现在的链接可能应该是在这个链接。这个课程主要介绍的内容是在优化模拟这两方面的各种算法的开发,这些内容也是计算统计学的核心内容。各种各样的算法和数据集的复杂度都会逐渐增加,(一维 -> 多维,固定 -> 自适应,线性 -> 并行 -> 大规模并行,少量数据 -> 巨量数据),这是为了让学这门课的学生能够掌握并联系下面这些内容:

    • 练习可重现的分析(reproducible analysis)
    • 掌握基本的数据管理和处理技能
    • 使用 Python 语言来进行统计计算
    • 使用数学和统计学的链接库来提高效率
    • 能够理解和优化线性代码(serial code)
    • 能够掌握不同的并行开发范式并高效利用

    算法上,主要集中在以下两方面:

    • 优化(Optimization …

  • Job

    Python 的前景和学习方向

    本文整理自我在这个问题里的回答。相比原版回答,结尾部分添加了若干私货。

    Python 在语法上算是比较简单易学,相对其他各种语言,对新手更加友好,学习曲线非常平缓。各种算法用 Python 来实现都相对来说更加简单又易读。

    因此,有一种趋势,就是很多像我这种外行人,开始学习和使用 Python 来实现某些自己行业内的某些用途。所以现在 Python 有很多新制作的各种轮子,深度学习,数理统计,化学计算,量化交易,等等。但像我这样的人往往可能也像我一样,学得很浅,就能凑合着拿一些框架和模块来应对简单的工作,也就可能像我一样不再太深入探索,而觉得自己掌握的基本够用了。

    此外,在涉及到性能敏感的应用场景,Python 则未必能够完美胜任,甚至即便使用 cython 和 pypy 之类的加速,也难以全面实现 C++ 等的运行速度。我的一些前辈高人,在处理遥感相关的数据时还是以 C++ 为主 …


  • Push

    学习的动力

    这首歌来自我的同行、偶像、楷模、人生赢家,Randy Marsh先生。

    我曾经经历过这样一种阶段,做什么事情都觉得没有什么兴致,缺乏动力,什么都不想做,又莫名其妙地对所有事情都感到特别厌倦和疲惫。

    从本科入学的时候就有这个情况。比如某个课程上,老师在前面给推荐了一些文献书籍等等,然后本来我还想着应该看看,可是他要求必须分成若干小组,每个小组必须翻译完毕某一篇文章。当时就没了动力,觉得很没意思,文献翻译得自然很应付,至于理解和思考根本就是扯了,因为读都懒得读进去。

    再比如本来想着应该看看哪些文献,提取整理一些数据做个对比啊什么的。然后正好这时候老师找过去给说应该看哪些文章啊,要写一写哪些总结啊,要提出一些什么问题啊。这时候当然要满满诚意地应允下来,一口一个是啊是啊好的好的。然而到了具体动手做的时候,就又没有最开始那么多动力了。

    我当时觉得自己真实缺乏动力,考虑对自己严格要求约束一下,弄个什么奖惩机制之类的。

    而有的时候我又发现自己很有动力,比如翻译 Python 教材和 Kivy 文档的时候,就是自己一直都希望能把这件事做完做好,每次翻译的时候都很有动力。 再比如编写 GeoPython 的时候,遇到不知道如何去实现某些功能的情况,四处搜索和查找资料可以持续几个小时 …


  • Learning

    关于上课的一些事

    我数学物理基础最差,因为比较笨,搞不懂那么多灵活的技巧性的问题,高考时候就是这两科丢分,本科时期就是这两科挂科,考研多亏没有这两个,要不我就狗带了。

    研一阶段,我是很害怕数值分析和多元统计的,倒是对C++我很喜欢,因为本科时候必修课学过C,选修课学过C++,此外编程啊计算机相关的内容,都是确定性特别强的,会了就是会了,不会就是不会,通常咱们这些非计算机专业的课程中,不会有那种特别需要技巧性的东西。这就适合我这种笨人。

    然而后来我才发现,其实数值分析反而不太难,毕竟都是几百年前大明朝大清朝时代的那些个老外弄的,无非是按照某些固定步骤进行计算,趋近于某个值的时候就当做满意了之类的。所以学得也不太吃力。刚开课的时候我问过教数值分析的高老师,怎么才能学会呢?他说你把所有题都做一遍就会了。然后我就信了,就真的把教材上面所有题目都做了一遍。事实证明这个确实有效,因为大概做完了之后,我就发现这些题目其实都无非就是改改数字和形式,本质上问的东西没差太多。

    让我有了更多思考的还是C++。当然这个不仅仅是因为课堂上柯老师特别认真负责讲解得详细深入。而是我开始问自己,学这个编程语言要有什么用处呢?我陆续跟身边的一些同学谈论起这个话题,然而得到的答案大部分都是:没什么用。这让我很不甘心,我觉得这个时代计算机是最广泛应用的日常工具之一,甚至淘汰掉了纸笔,那么与之相关的技能必然不应该是无用的。

    仔细一想,我觉得问题出在自己身上。 自己如果不喜欢某个学科 …


Page 1 / 1

Category
Tagcloud
Communicate VTK GeoPython Microscope IDE Story Poem ChromeBook Radio Scholar Linux Xcode Memory Data Book Camera Lens RTL-SDR Photo Software Programming Visualization Video VirtualBox Mac Moon Hardware QT Discuss Chat NAS DIY University Download Mount&Blade Junck VisPy Translation Kivy Conda Science Hackintosh Library Hack Server RaspberryPi Hate Pyenv Game MayaVi Raspbian Lesson Python Geology GlumPy CUDA Disease Telescope