圆锥曲线的反射性质
当一束光从焦点发射,并在与圆锥曲线相交的点处发生反射时,反射的光线必定:
- 穿过另一焦点(椭圆);
- 反向延长后穿过另一焦点(双曲线);
- 与对称轴平行(抛物线)。这个性质使得它的旋转曲面很适合用来发出/收集平行光。
证明的办法:先在曲线上任取一点P,作焦点和P的连线(如果是抛物线则另作一条过P且与对称轴平行的线),然后证明所作的线与法线(或切线)构成的锐(直)角相等即可。
继续阅读 →当一束光从焦点发射,并在与圆锥曲线相交的点处发生反射时,反射的光线必定:
证明的办法:先在曲线上任取一点P,作焦点和P的连线(如果是抛物线则另作一条过P且与对称轴平行的线),然后证明所作的线与法线(或切线)构成的锐(直)角相等即可。
继续阅读 →ABC是一种文本记谱法, 既方便人工录入,也方便计算机读取。
继续阅读 →Gentoo系统中的Portage树存储了软件仓库中所有软件的元信息。其中最主要的是Ebuild脚本,它记载了软件的编译方法、依赖关系等。它通常位于/usr/portage
。
可想而知,这个树中包含了大量的文件,因此占用了很大的磁盘空间。根据我最近的测量,
但实际上,其中大部分文件都比较小,且属于较易被压缩的文本文件。因此,值得考虑使用一种压缩的文件系统存放Portage树。
SquashFS是一种可压缩的只读文件系统。将Portage树的全部内容放在其中,只需约50MiB的存储空间。
在配置SquashFS的过程中,走了一些弯路。因此,我把操作过程记录在这里,以便日后参考。
继续阅读 →我最近尝试了在 Gentoo 上用 QEMU 运行 Windows 10。 我想把过程中的一些细节记录在这里。
Gentoo Wiki 和 ArchWiki 上的 QEMU 条目也是很好的参考。
继续阅读 →IRC (Internet Relay Chat) 是 90 年代提出的互联网协议。 用户可以连接到 IRC 上与其他用户进行即时通讯。多个用户可以在一个频道(类似聊天室的概念)交流,也可以进行两用户间的一对一交流。 协议很简陋,只能传输文本内容。即便如此,这个协议体现了早期互联网标准化和开放的特点:任何人可以根据标准,制作自己的实现;不同的实现可以互联互通。
和IRC有关的更多信息可以参考 http://www.irchelp.org/。
继续阅读 →严复在一篇文章中提到这样一句话:
華風之弊, 八字盡之: 始於作偽, 終於無恥。
话说得很重, 但有时也是非常准确的。
查询这句话的出处时, 又看见了他写的《論世變之亟》。 其中有一些句子至今仍值得思考。
继续阅读 →在不具备自动双面打印功能的硬件/软件上, 可以通过先打印偶数页、 然后将纸张放回, 再打印奇数页的方法实现手动双面打印。 在一些打印机上, 需要将放回的纸张调转方向; 这可以通过打印偶数页时调转页面方向来避免。
在使用 CUPS 的机器上, 可以使用以下脚本实现此功能:
#!/bin/bash
# Usage: ./duplex.sh [options] <file>
lp -o page-set=even -o orientation-requested=6 -o outputorder=reverse "$@"
printf "Put the paper in tray and hit Enter"; read
lp -o page-set=odd "$@"
继续阅读 →dc
是 UNIX 系统上的计算器 (desk calculator) 程序。
它采用逆波兰表达式 (RPN) 语法, 和平常使用的算术表达式稍有不同。
如: 1 2 + 3 *
表示 (1+2)*3。
RPN 的好处是不用输入括号, 且熟练掌握后效率很高;
缺点是难以上手。
dc
的计算能力不仅限于此。
实际上, 它是一个图灵完备的语言, 并且据说是第一个被移植到 UNIX 系统上的语言。
由于可以定义并调用宏, 它具备了分支和循环的能力, 因此可以写出各种各样的程序。
本文要讨论的不是人的睡眠而是计算机的睡眠 (suspend) 操作。
我的 Gentoo 系统上有一个困扰了我很长一段时间的问题: 当计算机从睡眠状态中恢复时, 我的无线网络连接往往会失效。 这时, 我需要手动重置无线网络服务:
/etc/init.d/net.wlp4s0 restart
究其原因, 是 DHCP 客户端未能在唤醒时重新申请新的 lease, 路由表也没有被更新。
看 /etc/wpa_supplicant/wpa_cli.sh
, 这个脚本在无线网络连接/断开时会被触发,
但是并不会触发 DHCP 客户端重新获取 lease。
所以一个简单的解决方案是在这里加上 DHCP 的操作。 查看 udhcpc 的帮助,
SIGUSR2 和 SIGUSR1 分别可以用于释放和重新申请 lease: