在最近的工作中,为了做数据分析,我开始写一些复杂的 HiveSQL。每次执行 HiveSQL 时,都会看到 Map/Reduce jobs 被调度、执行,直到最后展示出数据。渐渐地我心中多了两个疑问:

  1. MapReduce 引擎如何工作?

  2. SQL 是如何被翻译成 MapReduce job 的?

为了解决这两个疑问,我用比较熟悉的 Go 语言实现了一个玩具版本的 MapReduce 引擎,然后基于此实现基本的 select,join。

本文相关的源码放在仓库 ZhengHe-MD/pset · GitHub 中,欢迎查阅。

阅读全文 »

最近,我们在公司内部做了一些 Hacking Growth 方向的探索,我们团队俨然成了增长团队,从用户增长、转化的各个环节上尝试不同的策略,拉新、激活、留存、促活、商业化,整个核心流程是一个大漏斗,不同的阶段和渠道又可以拆分成不同的小漏斗,哪个环节损失大就优化哪个。但无论做何种尝试,都绕不开 A/B 测试。

阅读全文 »

在和不同地区的人聊天时,我们常常会有疑惑:为什么有些人说话时分不清 x 和 y?这里的 x 和 y 可能是拼音中的 f 和 h,l 和 n,l 和 r,z 和 zh,ang 和 an。比如,我明明是福建人,为什么别人以为我是胡建人?在最近刚刚读完的一本书《Fluent Forever》中,有两张图片正好能解释这个问题。

阅读全文 »

每个工程师来到新环境,大概率需要从维护老项目开始切入,逐渐熟悉公司的技术栈和效率工具。这时候,老项目的一些习惯,如命名、布局、错误处理等等,不论好坏,都会不自觉地影响新人,形成路径依赖。在这个过程中,如果没有人主动去思考为什么,这些习惯也将被无理由地继承下去。

阅读全文 »

💡 人们常常高估自己一年能成就之事,而低估自己十年能成就之事

尽管我的博客中绝大多数内容都与计算机相关,但实际上我还有另一个身份:经济学学士。在对外经贸大学度过的四年,是我对人生的认识井喷的四年。毕业之后选择计算机,并不是因为我厌恶经济学。相反,在学习经济学的过程中建立起的心智模式,一直对我的学习和实践产生着指导性作用。

在货币银行学中,有一个与金钱的时间价值紧密相关的概念:复利,即本金产生的利息会在下一个计息周期成为本金的一部分,用大白话来描述就是「利滚利」。用经济学的概念去解释生活现象,是我很喜欢做的一种心理实验,甚至有时候我会相信任何一个经济学的概念都对应生活中的某个隐喻。在我看来,复利的隐喻就是坚持。在过去的经历中,坚持在许多层面给到了我奖励,而且这些奖励会随着时间的推移自我增强,就像利息追加进入本金。

阅读全文 »

What I cannot create, I do not understand. – Richard Feynman

Andrej Karpathy 在 2015 年发表了题为 The Unreasonable Effectiveness of Recurrent Neural Networks 的博客,并配套开源了其中实验所用的 char-rnn 代码仓库,以及用 numpy 手写的 gist: min-char-rnn,阅读过后受益良多。于是最近花了一些时间做了下面这些事情:

  1. 逐行理解 min-char-rnn,即 vanilla RNN

  2. 实现 N 层 vanilla RNN

  3. 实现 LSTM (Long Short-Term Memory) RNN

  4. 探索 RNN 的可能性

    • Paul Graham generator
    • 三国演义
    • 老友记
    • Kubernetes 源码
    • 超级丹的技战术

整个探索过程对我而言充满了趣味和挑战,并且在实践中令人激动地首次使用微积分的知识。尽管这只是深度学习的冰山一角,但足以让一名主营业务为服务端开发的软件工程师感到激动不已,于是便有了这篇博客,将这个过程记录下来。

阅读全文 »

因为平时需要阅读大量的英文资料,翻译对我来说是一个高频需求,但我一直没能找到一个足够趁手的工具。对于一个理想的翻译工具,我有三点期望:

  1. 翻译准确:翻译的结果与原文贴合不显得尴尬
  2. 触发简单:复制到剪贴板后快速触发翻译指令
  3. 响应迅速:发起翻译请求到获得结果小于一秒
阅读全文 »

前阵子无意中发现了一个系列教程:「Let’s Build A Simple Interpreter 」,简称 lsbasi。本来只是随便翻翻,但刚看完 Part-1 就发现作者 Ruslan Spivak 不仅是一个出色的软件工程师,文笔也相当不错,更难得的是他对学习这件事本身有着很深入的理解,这些见解甚至反馈到了这套教程的设计上。

阅读全文 »

前段时间,我的朋友「肚子」向我推荐了 Make It Stick: The Science of Successful Learning 这本书 (以下简称 MIS),读毕感觉相见恨晚。该书的讨论主题是学习这件事情本身,即研究人类学习的特点,找到适合人类的高效学习策略。如果用一句话向其它朋友推荐这本书,我想这句话一定是:学习本身是一件值得思考的事情

阅读全文 »
0%