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