Monthly Archives: March 2018

重拾Python

我最初学习的语言就是Python,不记得为什么之后没再用过它。那时候刚有python3,完全没普及。本文从初学者的角度,看看python3在语言层面,有什么有趣的东西。 运算符 python的运算符比常规语言多一点,而且令人印象深刻。 常规运算,+ – * / % 地板除,//;乘方,** 交互模式下有_,上一次输出的字符。 赋值,=。可以多重赋值,比如交换变量 Go貌似也学了这一招。

Posted in 杂物间 | Tagged | Leave a comment

Linux命令备忘录

Linux系统作为日常使用问题还是很多的,所以开篇博文记录一下。 常用命令 这些命令事关生存,理论上不会忘。但还是列一些出来。 手册: man, info 文件目录: ls, cd, mkdir, touch, mv, rm 权限: chmod, chown, chgrp 读操作: cat, less, more, head, more *写*操作: tee,echo 时间: date, cal 进程:ps, kill 网络状态: ip, ifconfig, netstat 关机重启: shutdown, poweroff, halt, reboot 系统状态: … Continue reading

Posted in 记事本 | Tagged | Leave a comment

发声技术简论

最近学习了一点声乐理论,颠覆了我的认知。首先,它经历过很多变革;其次有大量数据具有误导性。本文选择从国内流行乐展开讲述。接下来的内容没有图片和音频,我只打算从逻辑上说通问题。 声带 有一种说法叫喉头振动机制(Laryngeal Vibratory Mechanisms)。将声带振动分为M0, M1, M2, M3。 M0,也就是气泡音(vocal fry)的振动方式 M1,重机能发声,以甲杓肌收缩为主导。也就是广义的真声。一般男性极限音高在F4,女性在C5。说的是未经训练,下同。 M2,轻机能发声,以环甲肌拉长为主导。也就是广义的假声。一般男性音高极限在G5,女性在A5。 M3,哨音,貌似又叫海豚音。这个东西很有意思,理论上有分歧,主流观点认为M3几乎不振动声带,而是由整个喉腔形成哨的结构。

Posted in 杂物间 | Tagged | Leave a comment

抽象价值之简述

我在《实现drop函数》一文最后留了个问题: 抽象的价值是否就在于将问题映射到更简单的解空间? 这只是我的Shower Thought。但可以就其展开谈一些有趣的事。 首先,抽象这个词在中英文语境的含义不一样。其次,抽象的概念本身就很难解释(你看我一不小心就递归了:-p)。本文将从一个编程者的角度阐述一些问题。 辞源 抽象的英文是abstract,看词根就是牵拉的意思。15世纪艺术届大量使用abstract表示分离现实物质的行为。比如说抽象画,它的一大要素就是去除事物的外在特征。可能是同期艺术界千奇百怪的作品被冠名“抽象”,让这个词有了“高深”或“难以理解”的含义。 中文的抽象一词源头已经不可考,但它的含义已经被各种后现代艺术,娱乐作品转义了不知道多少次。工程上所谓的抽象出现不超过200年。

Posted in 无用心得 | Leave a comment

现代C++神器之variant

看过这两年的Cppcon都应该对variant印象深刻。说起来这个玩意也不算新,2002年就已经有了boost::variant。 说到variant就得提起enum和union。union对非C系编程者可能有点陌生。按照当代角度,enum和union很大一部分作用在于缩减定义域。举例如下: 这里用OneTwoTree限制了相关领域的类型范围,比如说调用foo(4)时编译器就会报错。

Posted in 屠龙之技 | Tagged | Leave a comment

战栗的点点

心血来潮,试试Canvas。看起来效果还不错。 简单说就是画个N×N的点阵。每一帧随机移动一下每个点的位置。结果就是上面的动画。

Posted in 玩具们 | Tagged , | Leave a comment