这几天郑州暴雨,各种画面视频令人触目惊心。洪水在河南自古就是不断重复的灾难,这一点在各种史书里都可以找到记录。不过,在我的记忆里,小时候雨下的最大的时候,也就是把沟道河流填满,没有那种所有地方都淹没很深的大水。也许是概率吧,攒了多年,终于暴发了一次。今天随便写点,不讨论自然灾害,就简单的记录下我的一些思考。这次破纪录的一小时降水超过200毫米,超过所有中国陆地降水量的极值。为什么郑州会下这么大的雨?为什么降水更多的沿海城市比如深圳上海没有这么大的雨呢?那些沿海城市因为台风导致的暴雨难道不应该更大吗?这是我心里的疑惑,也一直在思考答案。下面写的,都是个人的一些想法观点,并没有花大量时间精力去做科学的研究论证,看看就好,没必要较真。也许将来有大把的空闲时间了可以再去做更细致的研究,今天写下来只是记录一下自己的想法思考,方便将来翻阅备忘。先看一下年平均降水量,郑州大致在600多毫升左右。作为对比,我们拿深圳来举例子,深圳的年平均降水量大约是1900多,大致有三倍的样子。这样看来,深圳确实降水比较多。然而,下的多并不意味着短时间内下的大。就像跑步,跑得远并不意味着短时间内跑得快。可为什么深圳瞬时雨量不够大呢?我们先看看降水是如何形成的。通过蒸发,大量的水蒸气进入空气当中,这些含有水汽的空气形成所谓的云,当他们与冷空气相遇的时候,水汽凝结,就形成了雨滴。先给出一个简单的规律: 空气中储存的...

最近因为一个项目需要,对wordpress进行了简单的二次开发。说实话,wp的代码写的很烂,可读性很低。一个简单的博客系统,数据库总共就几张表,代码居然有几十万行。基本是一堆函数套函数,没有class之类的封装。应该是搞的比较早,那时候php的oop还不完善吧。对数据库的支持也不是很完善,目前官方只有mysql,其实作为一个简单的个人博客,直接用sqlite足够了,完全不存在性能上的瓶颈,而且wp的大部分用户都是小白,对他们来说安装配置mysql也是个门槛。好吧,不能光批评,也说说好的一方面。wp最大的优势是有一个庞大的社区,大量的主题和插件,甚至可以说形成了一个完整的生态。很多问题搜一下都有现成的解决方案,不用自己写代码。对于一些简单的场合用一下还是能节省不少时间的。如果有一个简单轻量的类似wp的系统,应该能有一定的市场。搜了下,还真找到了几个,有一个叫typecho的,也是我朝码农搞的,用起来还不错。估计作者也跟我一样对wp的庞大臃肿感到不满吧。然而最近已经不怎么更新了,应该是用户群体很难形成规模效应。有时间的话可以把这个博客迁移过去。好了,牢骚发的差不多了,进入正题。花了一天时间,搞了个wp的主题,就是现在使用这个。主要是为了练手先熟悉下好方便后面的开发。我不喜欢很多花哨的东西,一个简单的主题,排版看起来顺眼就行。typecho的默认主题看起来还不错,顺着他的排版直接抄了不少...

疫情这段时间一直呆在老家,前几天洗衣机突然不转了,于是拆开了仔细研究了一番,折腾了几天,算是修好了。也许直接找人修更简单一些吧,我主要还是想拆开看看玩玩。其实洗衣机这东西的原理是很简单的。核心就是一个电动机,加上一些进水排水的控制开关,还有一个用来感应水位的传感器。中间的滚筒,再加上外壳,基本上就是这些东西了。原理就是,通过不同程度的控制滚筒的旋转,以及进水排水的开关,来达到洗衣的目的,简单说就是一个电机控制程序,输入是水位等传感器信息,输出是进水排水的开关控制,滚筒的正转反转和速度大小我们看现在的全自动洗衣机好像很复杂的样子,可以选择各种不同类型的衣物,还有不同的洗衣模式。其实核心很简单,就是各种各样的程序,只是我们通过来控制不同的旋转时间,速度还有力度大小来控制这个洗衣的过程,它的机械部分很简单,核心主要还是用程序控制的算法来组成。当然其中一些旋转的力度和速度的大小,这些都是经验,时间点的把握,正反旋转,等等通过不同的时间不同的输出参数来获得最好的洗涤效果,这些经验性的东西,通过大量的数据和实践都可以获得。而它的本质核心控制程序是很简单的,要是真写的话,一点都不复杂,估计也就是,几百行,顶多也就是几千行的程序。洗衣机拆开之后,他的里边有三块主要的电路板。很容易分辨出来各个电路板的功能和类型,其中一个是电源,如果你对电路有点熟悉的话,一眼就能看出来,它其实就是一个开关电源。第二个...

随着工艺的进步,现在手机芯片是越来越强大了,我们可以看到,苹果最新的soc里的晶体管数,已经将近100亿,这已经比台式机里英特尔的CPU的晶体管数要多了,如果看它的性能的话,用一些测试性能的软件,像geekbench,那么它的分数已经比很多中低端的PC性能要高了。而这仅仅是现在苹果在使用台积电的7纳米的工艺制造的soc,台积电的5纳米的技术已经比较成熟了,今年也就是2020年我们就可以看到5纳米的芯片,5nm提供了更高的晶体管密度,更低的功耗,性能还有进一步的提升空间。这几年intel的工艺似乎是停滞了,这是导致桌面PC性能一直原地踏步的一个原因吧。我们都说intel是牙膏厂,出个新cpu性能甚至只有1%的提升,这也不能仅仅只怪罪于intel的设计部门。提升CPU每个时钟周期性能也就是ipc已经很难了。现在的大部分架构,指令都已经能做到在一个时钟周期内完成,甚至加上一些超标量的技术,在一些循环内部,甚至IPC会小于一,如果继续压榨,仅仅靠架构来提升每个单独cpu的ipc,不会有多大的进展了。可能我们增加缓存或者一些其他方式能够提升一些性能,然而这只是通过降低内存IO的延迟来获得的,并不能说CPU本身的性能提升。所以简单的指责intel挤牙膏是不对的。造成intel原地踏步的主要原因是他的制程工艺这几年一直没有什么突破,从性能提升的角度看,工艺的进步远比架构上提升要来得快得多。下面是...

过年回老家休息几天。荒芜的院子里到处都是树叶树枝。花了半天打扫了一下。然后点了一把火把这些东西都烧掉。

真是好久没有点过火了,望着熊熊火苗,我开始陷入了沉思。

有很多过于熟悉的东西,我们往往忽略了它的存在,不去问为什么。燃烧的火焰就是其中一个。

火为什么会燃烧会发光发热呢?显然它是一种化学反应,这是我们在课本上学到的。

干枯的树叶和树枝,大部分都是由植物纤维构成。这些纤维是什么呢?是单糖形成的长链。本质上是碳氧氢这些元素组成的巨大的有机化合物。当燃烧发生时它们和空气中的氧气,生成二氧化碳和水。这是燃烧这个过程背后发生的基础的化学反应。

然而我们现在把这些基本的反应放在一边,而把目光仅仅聚焦于燃烧这个过程本身。

基于持续的观察,现在有几个有趣的事实,可以深入研究一下。

首先,烟是往上冒的。你可能会说这是废话,我们当然都知道烟是往上冒的了。然而你还记得刚开始我们说的那句话吗?对于过于熟悉的东西,我们往往会忽略它的存在,而不去思考为什么。

烟的本质是什么?在植物纤维和氧气的剧烈反应当中,肯定会导致整个链条破碎,然后有一些短链或者分子团,会随着剧烈的反应提供的动能而被甩到空气中,这些短链的断开会导致整个物体的破碎,形成各种各样的小颗粒。如果这些小颗粒来不及与氧气彻底的反应,那么就会飘到空气中去。这些微小颗粒以及部分水分混合在一起就组成了烟雾。

如此看来,组成烟雾成分的分子...

一直想在手机上有一个很方便的通过语音输入,写写东西的APP。可以在外边走路散步时记录一些想法。本来想自己写一个,因为时间精力不够,所以只是个想法。可能是觉得不好把这个东西,做成个产品盈利吧。自己用的话,又不能一两天内就能做完。所以就一直搁置着。后来发现了一个叫xxxx的app,大部分都能满足需求。没有了在电脑前坐着对颈椎的损害,又能很方便的记录一下走路散步时的想法,避免过段时间忘掉。这篇文章就是这么写下来的,记录之后又在电脑前简单的校验编辑了一下错别字和不通顺的地方,效率能提升不少。

有一个很有趣的问题。首先我们看看人类创造的知识和物品,以及如何存储它们。
我们创造的不管是科学还是艺术,通过某种方式存储下来。比如说一本书。我们把文字写到书上,如果这本书不停的磨损,直到最后,无法阅读。我们称为这种介质,存储介质的损坏。然而书的内容本身,并不会因为介质的损坏而丢失。如果我们在这本书损毁之前重新印刷一本。那这本书依然是存在的,我们依然可以传到后世。
这本书的本质是它的内容里边的语言。而不是外在的存储介质。也就是说我们称为纸张书本的那种东西。
比如我们制造了一个马车,这个马车也会损毁。但是呢,我们可以通过把这个马车的设计图纸,写在一本书里。这样我们只要有能读懂这本书的人的存在,就可以重新复制并生产出新的马车来。我们只能说我们间接的存储了马车这个东西吧。可是如果我们能生产一种自动组装并存储...