硕大的汤姆

硕大的汤姆

The official website of Minhua Chen

11 Jan 2020

软件随想录(by Joel Spolsky)

143 words, ~0 min read

这周在地铁上读完了 Joel Spolsky 的《软件随想录》,译者是阮一峰。摘录或提炼一部分有趣的东西于此。 - 1991 年,Joel Spolsky 加入微软 Excel 开发小组,担任 Program manager。他当时需要...
25 Dec 2019

Haystack(facebook是怎么存照片的)

40 words, ~0 min read

本文写于 21 世纪 10 年代最后一个圣诞节的晚上,内容为 facebook 的论文 《Finding a needle in Haystack: Facebook’s photo storage》的阅读笔记。该论文旨在解决社交网络中海...
24 Dec 2019

LSM Tree vs B-Tree

92 words, ~0 min read

本文为《数据密集型应用系统设计》第三章第一节的读后感 数据需要持久化,将内存中的状态落到磁盘上,就需要使用存储引擎。最简单的存储引擎就是一个数据文件呗,每次写入就写到文件上,而读操作就去数据文件上找数据。但是数据量大了,把所有文件找一遍...
21 Sep 2019

隐马尔科夫链与维特比算法

189 words, ~0 min read

## 马尔科夫链 明天的天气怎么样?明天的股市怎么样?用户下一个输入的单词会是什么?这些问题都是一个随机过程的问题(就是「随机过程随机过」的那个随机过程)。 对随机过程的研究要比随机变量复杂得多,在任何一个时刻 t,对应的状态 st ...
04 Sep 2019

P99与蓄水池算法(reservoir sampling)

407 words, ~1 min read

## 一个监控问题 假设你是一个运维工作人员,维护着一个访问量巨大的服务,然后有一天,老板跑来问你这个服务的 p99 响应时间是多少?(p99 响应时间:系统 99%的请求都快于这个时间,而 1%的请求则慢于这个时间。即响应时间的 99...
24 Aug 2019

Cuda实战入门2: 将矩阵乘法速度提升 5000 倍

589 words, ~2 min read

本实验采用不同的方法来计算 8192 \* 8192 的整型矩阵乘法运算。 ## C 语言版 C 语言是大家公认的高性能语言,那我们就从 C 语言开始吧。 ```c // 用一位数组表示二维矩阵 mat1 = (in...
23 Aug 2019

Cuda实战入门

440 words, ~1 min read

CUDA (compute unified device architecture) 是 NVIDIA 所推出的一种并行计算平台和并行计算 api。 CUDA 在并行计算上可以大显神威,因此,我们先要找到一个可并行的问题。一个很简单的可...
14 Jul 2019

为什么拒绝掉前37%的追求者是错的

36 words, ~0 min read

## Problem Formulation 假设你一辈子可以遇到 100 个潜在配偶,在遇到每一个潜在配偶的时候,你只能选择接受或者拒绝。如果你选择接受,则意味着你放弃了后面所有潜在的配偶;而如果你选择拒绝,则不能反悔,只能在后面的潜...
23 Jun 2019

机器学习视角下的软件工程过拟合问题

39 words, ~0 min read

软件工程中充斥着过拟合,它不但刻画了我们在构建系统时常常掉入的思维陷阱,也刻画了我们日常生活中思考与行动的方方面面。 ## 什么是过拟合 在机器学习中,当训练集的数据量比较少,而模型又较为复杂的时候,模型可能会出现在训练集上 fit ...
23 Jun 2019

自我觉知的能力与做事的态度

13 words, ~0 min read

最近对自己的行为模式进行了一些观察,发现自己很容易在遇到硬骨头的时候出现拖延症的现象。比如在进入某一主题的学习时,发现该主题内容非常丰富,且需要大量背景知识,于是当场演奏起了一段退堂鼓,或者浅尝辄止地看了些基本知识,成为一名“知道分子”。...