OSX中使用DD填充文件

视觉项目中遇到了一个速度瓶颈,但是却不知道在哪儿,只好逐步排查。

首先肯定不是硬盘写入的瓶颈,因为我都没有将capture出来的文件写入到硬盘上,一直都在内存中操作。不过我还是很好奇,一个6M的文件(照片),写入到磁盘上,要花多少时间。测试了一下,发现快的很。

以前上学的时候觉得所有的知识都挺容易理解的,现在也许是年龄大了,即便是对已经已经熟练掌握了的知识,再看的时候,都会感觉是“一头雾水”,唯有继续艰难的、一点点的重新理解,才能让自己感觉有所收获。

Related Posts

数学家的故事——布尔

此文写于2017年12月29日。 真假话游戏您接触过吗?话说: 有甲、乙、丙三位精灵,其中一位永远说真话、一位永远说假话、还有一位随机地给出真话或假话。您可以向他们发问三条是非题,每条问题只能问一位精灵,最终推理出谁说真话、假话,谁是随机答话。而精灵们只会回复“嘀”或“嗒”,但你并不知道它们的意思,只知道其中一个字代表“对”,另外一个字代表“错”。该如何发问、如何推理? 三个精灵真假话问题 上面这道有趣的逻辑推理,有时间不妨试算一下,不过我们今天并不是做推理游戏,而是要来说一说这些推理背后的故事。 上面的推理大家都知道叫做“逻辑推理”,但是该如何推理并不是所有人都了解的,只有学过逻辑学和布尔代数的人才能够进行解答。这其中的布尔代数,就是我们今天故事的主角。我们来八一八它的创立过程。 布尔代数,听名字您就能够猜到,它是根据一位名叫“布尔”的人来命名的运算体系,这个人全名“乔治·布尔”,是一名出生于英格兰的数学家。 乔治·布尔和很多有名的数学家不同,他不但没有接受过系统的数学训练、身为鞋匠之子的他甚至只有小学毕业而已。但鞋匠父亲恰巧也十分迷恋数学、并且布尔自己很努力,在父亲的帮助和自己的努力下,布尔通过自学在数学领域进行了自我深造。 在他17岁左右的时候,因为家庭原因,他必须要考虑工作,因而导致他连继续自学的时间都没有了。起初布尔考虑承袭父业做一名鞋匠、也考虑过做当地的牧师、还在当地的学校中做过兼职授课,不过最终他选择了自己创办一所学校,于是在1835年的时候,布尔创立了一所小学校,从此便以教书为生。 布尔创立自己的学校之前,因为有着很深的数学情节,所以业余时间继续以钻研数学为主。他在给学生们授课的同时,自己也在深入的研究当时主流的数学热点——微分、变分等知识。偶尔也会发表一些自己的论文,也正因如此,他并没有与主流数学界脱节,反而由此认识了更多数学界的专业学术人员。 随着布尔对逻辑学方面的深入研究,他在符号逻辑这一数学分支上的贡献也越来越多,终于在1849年被任命为爱尔兰皇后学院的数学教授。在经历了几年的教授生涯之后,布尔最终著作出版了《The Laws of Thought》。 这本书中最重要的贡献之一,正是布尔仿照代数运算创立出的一套逻辑运算体系,并以自己的名字命名——布尔代数。布尔代数看上去十分的简单,参与运算的数值只有两个:1或者0;所能进行的运算也只有三种:与、或、非。这套全部构成只有5个符号的数学,看上去如此的“迷你”,甚至有人怀疑它能否被称为一套体系。 事实上,布尔代数在提出之后也的确没有被主流数学界所重视,人们当时更认可的还是布尔在诸如微分方面的贡献。直到布尔逝世73年之后,一位名叫“克劳德·埃尔伍德·香农”的小伙子(详见《数学家的故事——香农》)无意中发现电子回路与继电器开关状态可以借助布尔代数来构建模型、还可以利用布尔代数进行电话交换机最优解的求解,从此才令布尔代数进入了主流数学界的视野。 布尔的成功不仅是他从鞋匠之子自学成为数学教授的励志过程,更多的,在我看来是他家庭和养育子女的成功。布尔在进入到爱尔兰皇后学院不久,碰到了一名美丽的、比自己小17岁的妙龄少女Mary Everest(可不要小瞧了这个女人,她后来也是一位非常有名的女数学家),并且很快确立了恋爱关系直至结婚。婚后他们生育了五个女儿,令人感到敬佩的是他们的5个女儿也巾帼不让须眉,各个都是有名有望的人。 如果您不爱好数学、而是偏爱文学,那么您是否读过经典文学《The Gadfly》呢?没有读过吗?这本书的中文译名叫《牛虻》,这本书的原作者可就是布尔老先生的小女儿Ethel Lilian! 先不聊布尔的女儿、外孙这一大家子世界名人,暂且说回布尔的妻子,提到美丽的Mary,就不得不说到“布尔之死”了,Mary Everest虽然在数学上拥有着和布尔一样的天赋、而且在家庭教育方面也十分的杰出。然而她却有着和大多数数学家一样的木讷,学术的高智商也导致了她在某些方面无知到令人无奈…… 1864年11月底的一天,已经50岁的布尔老先生从家中步行去学校授课,那一天下着大雨,布尔傻乎乎的没有打伞就出门了(数学家都木的如此令人抓狂么?)。一路走到学校之后身上已经淋透,他就这样穿着湿透的衣服给学生们上课。 结果可想而知,回到家中的布尔生病、发起了高烧。更令人惋惜的是他那美丽、木讷的妻子坚持相信“以毒攻毒”的治病偏方,她让自己的丈夫躺在床上,然后就一桶桶的凉水直接倒灌在布尔身上,经过这么一折腾,布尔的病情加重、并最终于1864年12月8日,因肺炎引发积液而病故。 上文已经提到,在布尔去世后,布尔代数并没有继续被主流数学界所重视,直到73年之后香农的研究中依靠布尔代数来创建电路模型、再后来就是大家所熟知的,图灵提出了图灵机的理论概念、冯·诺依曼进而制造出了电子计算机、一路发展到乔布斯发布了iPhone…… 如此看来,我们今天能够使用电脑、上网、访问今日头条、Bilibili、甚至您在阅读这篇文章,想一想其中都有着乔治·布尔做出的贡献。

数学家的故事——卡尔丹

文章写于2017年12月28日。 如果设有x²+2x+1=0等式成立,让你来求解这个方程式中的x,想必多数人都能不费力的通过配方法使原方程转化为(x+1)²=0,进而推出x应该等于“-1”。 但对于x³+3x²=5这个方程,还有谁能尝试着解出x来么?经过一些努力和尝试,恐怕不少人都会放弃了吧? 上面的两个方程,都只有一个未知数,所以都被称作“一元方程”。第一个方程中的未知数最高次幂是2,所以将它叫做“一元2次方程”;第二个方程相应的被称为“一元3次方程”。 二次方程对我们而言并不陌生,中学的时候就已经学习过二次方程的配方求解法,也就是将方程左边转化为一个完全平方、右边是一个常量,然后再利用开平方便可轻松求解。 但我们并没有学过三次方程的求解方法。事实上,三次方程的解法要比二次方程复杂许多、复杂到直至1545年前后,才被数学家们找到求解的方法。而在那之前,根本就没有人能解出一般形式的三次方程。 1545年,一本专论代数学的著作《大法》的出版,才使得人们知晓了三次方程的解法。 由此看来,我们真应该感谢《大法》一书的作者——哲罗姆·卡尔丹,似乎是他教会了我们三次方程的求解过程。 科学界的确给予了卡尔丹很大的肯定,以“卡尔丹公式”来命名了这个三次方程的求根过程。 然而,对卡尔丹的肯定恰恰是对另一位数学家的不公。没错,卡尔丹并不是“卡尔丹公式”的发明人,他不仅不是这一解法的创造者、甚至可能是个剽窃者,这一切都要从1494年说起…… 1494年,意大利方济各会的修道士帕西奥里(这个人来头可不小呢,他被视为现代会计之父,详见《数学家的故事——帕西奥里》一文)出版了一本《算术,几何,比,比例的摘要》,其中广泛的讨论了各种二次方程,然而却对三次方程只字未提。 原因是帕西奥里认为三次方程是不可求解的。他的这一观点显然不被当时的数学界所接受,当时有不少的数学家都在疯了心、玩了命、努力的尝试找寻三次方程的解法。这是数学家们的竞赛、是一场智者们的游戏。 大约在1505年,博洛尼亚的数学学会会长弗罗宣称找到了三次方程的解法。他虽然宣布找到了解法,却并未公开任何的求解过程。这种一厢情愿的宣布可不能记入史册,谁能担保他不是在吹牛?然而这却鼓舞了很多的数学家,大家更坚信三次方程是存在着求解方法的。 既然弗罗没有公开细节,那么大家就都还有机会继续这场竞赛。 受鼓舞的人中,有一名年轻的数学家,大家不喜欢叫他的名字,而喜欢叫他的外号“结巴先生”。 “结巴先生”认为数学会长不可能信口胡说,既然敢宣布,那么三次方程的解法就一定存在。于是“结巴先生”更加专心勤奋的研究。没用多久,“结巴先生”便也对外宣布自己找到了三次方程的解法。 有趣的是,“结巴先生”和弗罗一样没有将解法公开。此时你就知道本文开头那道三次方程想解出来有多难了吧?它曾经可是难倒过数不尽的数学家们呢。 “结巴先生”和弗罗都不公开细节,这下子其他的数学家们都不能开心地玩耍了。你们俩人都说拥有三次方程的解法、可又偏偏都不公开,这说出来不是骗鬼呢吗? 虽说不公开核心解法的做法可以理解:毕竟持有核心算法的人能够在相关领域比别人研究的更深、走得更远。但谁又能证明他们真的有能力解开三次方程、三次方程真的是一个可求解问题呢? 为了证明三次方程确实可求解,有人组织了一场“结巴先生”和弗罗的二人比赛,提出一些三次方程,看两人谁能给出正确的答案,又或者都能给出或都做不出来。 比赛在二人之间展开,结果稍稍出人意料:“结巴先生”轻松的胜出了这场比拼。这一结果令弗罗多少有些颜面扫地。 更重要的是,“结巴先生”用实际行动证明了确实有三次方程的解法。只不过大家还是不知道具体解法过程,因为“结巴先生”依然不愿意公开其推演过程。 若是“结巴先生”此时公开推演过程,不仅可以名利双收,同时也不会再有接下来的故事。可我们亲爱的“结巴先生”就是惜字如金,一个字也不愿多“说”。 这时本文的主角卡尔丹出场了。卡尔丹也是一位有名的数学家,他更为人们津津乐道的是他喜欢赌博,是一名善用“概率”的赌徒。 当时的卡尔丹对三次方程也十分着迷,进行了很长时间的研究。当卡尔丹听说了“结巴胜出”的消息时,便迫不及待的登门拜访,希望“结巴先生”能分享一些经验给自己。 结果可想而知,“惜字如金的结巴先生”直接拒绝了卡尔丹的请求,一丝一毫的信息都没有透露。 卡尔丹在遭到拒绝后并没有放弃,这位拥有着任何赌徒都有的执著性格的数学家,真的是执著到了偏执的境地,他几次三番的拜访、一次次的登门、大有不达目的决不罢休之势。…

昨天出游手机拍照

最近几年不爱拍照了,我是真的不爱拍照了吗?不,只是太忙没了心情。内心中,我还是很喜欢拍照的。

开源硬件的区别

知乎上有人问了一个问题:树莓派、arduino、Micro:bit、掌控板,四个开源硬件有什么区别 我给了一个简单的回答: 买树莓派基本可以肯定是最好的,因为别人能做的事情树莓派都能做、树莓派能做的事情另外几款小板子并非全能做。 这几块板子,每一个都是基于一块性能比较强的芯片做的,树莓派是基于BCM2835做了一个可以引导debian的通用操作系统出来。而其他几款硬件都只能被看做是MCU,需要通过一台电脑写程序、然后将程序烧录进去再运行。树莓派则可以脱离电脑,自己就启动起来、然后直接在里面写程序、运行。 树莓派和arduino之所以会有“偏软偏硬”的说法,其实就是上面所述,更准确的表述应该说是“树莓派能软能硬”、“arduino只能硬”。 掌控板是咱们中国出品的一款硬件,使用的ESP32的芯片、也是一块非常好玩儿的芯片,不过我没有用过掌控板,都是自己用ESP32弄个最小系统(相当于自己出了一个微型闭源板,然后自己在里面玩儿其中的Python)。 micro:bit可以看做和掌控板类似,只不过老外这方面比较下功夫,所以做的比较精致。但是它虽然精美,却更适合小学生学习。因为封装的实在是太简单、太有乐趣了,它的娱乐性和寓教于乐性更高。但是我也不否认严肃的人可以用它实现出很严肃、很有水准的产品,只是说它的设计初衷是给青少年培养编程兴趣的。对于成熟一些的人,拿着更丑陋、枯燥的树莓派或arduino,也是可以学习编程知识的。 我个人倾向肯定是树莓派,原因上面已经说了,因为树莓派大而全,其他几款产品能做的事情,树莓派都能做。 但也要明确一点,就是能做不代表好做,因为同样是进行一些硬件控制,相对来说arduino的资料更多、周边配件也更丰富。如果没有经验的人,使用arduino会更容易买到配件、查找到资料。换做树莓派,那些周边硬件就要稍有了解,才能移植过来、驾驭起来。

树莓派连接蓝牙键盘

我最近一直在使用Raspberry Pi Zero W进行项目的开发,可以说使用Pi Zero开发项目真的是令人心潮澎湃,做起东西来干劲十足。唯一美中不足的就是它并没有看上去那么小巧——虽然看上去的确很小,但因为用的是mini HDMI接口,所以要增加一个转换头,这一下子就让它的身材臃肿了起来。然后再外接一个USB键盘,你会发现它使用的是micro usb,所以又要外接一个micro USB转USB的转换器,令它的身材再次膨胀。 所以为了让它尽可能的看上去小巧,使用蓝牙键盘就是势在必行的事情了。首先运行sudo bluetoothctl命令进入到蓝牙控制终端中,然后主要是完成以下几个命令的键入,即可顺利的和蓝牙配对成功: [bluetooth]# list [bluetooth]# power on [bluetooth]# scan on [bluetooth]# agent on [bluetooth]# pair AA:BB:CC:DD:EE:FF [bluetooth]# trust AA:BB:CC:DD:EE:FF…

Install Ubuntu on My PC

There is an old PC computer in my home, more than 3 years never used it. Last day, I decided reuse it and install Ubuntu on it….