每月收藏与分享(201905)

从这个月起,我开始使用 AppleScript 脚本自动生成「每月收藏与分享」,减少整理和排版所花费的时间。关于这段脚本的详细介绍,请参考我的上一篇博文:

在本文中,首先我会分享四个关于自由软件与出口管制方面的观点。随后开始分享本月阅读到的其他内容。


关于软件版权、自由软件与出口管制

最近这段时间发生的一些事情,让大家又重新开始关注「开源软件」、「出口管制」、「自主研发」之类的话题。关于这些话题,我想分享这四篇文章。

这篇文章对近期的一些观点,例如「Apache 等开源协议受到美国法律的监管」、「GitHub 上的开源代码受到出口管制」等,进行了分析。并帮助大家明确了 Apache 许可证与 Apache 基金会项目、GitHub 上托管的开源代码与 GitHub 企业版等概念的区别。最后指出:由于开源软件在网络上公开下载传播的特性,这些软件不会也很难被美国政府限制出口

记得之前阅读的《失控》这本书中,提到了加密软件 PGP 的历史:由于 PGP 软件的密钥长度大于 128 为,超过了美国政府的出口管制,所以作者将代码印刷在书中,通过使用书籍传播代码的方式,规避了出口管制。

而这篇文章,正式从 PGP 的历史引入,谈到了开源软件与出口管制的话题。虽然文章中某些观点我不太同意,但文章整体,还是有意义和值得阅读的。

不少开源软件会托管到 GitHub 等平台,然而这些平台本身,并不是开源和自由的。虽然最近的事件,让大家只知道托管在 GitHub 上的开源代码不会受到出口管制;但是,如果从其他角度考虑,这些非自由的工具,会对自由软件的开发和使用带来不利影响。所以,作者最终得出结论:自由软件需要自由工具。

这则新闻告诉了我们非自由软件的潜在风险,从而进一步证明了自由软件的意义。

好奇心

按照之前乐观的看法,全球化有助于提升各国民主水平。但实际上不一定是这样……

难预测、不寻常的事件,会被称作「黑天鹅事件」。那么,「黑天鹅」一词是怎么由来的?

记得小学上微机课的时候,教室里的电脑上有一个物理的锁孔。这个锁孔主要起到切断键盘连接的作用,防止其他人未经授权操作电脑。随着 BIOS 密码等技术的出现,这样的锁孔逐渐被淘汰。

在视力表出现之前,古代波斯/阿拉伯人就已经会测视力了。方法是:看星星……

关于日本的「中国料理店」的故事。

鹤鸵:世界上最危险的鸟类,能够给人类带来致命的伤害

将面团放入真空环境中,面团是否会膨胀,变成面包?

生活

这篇文章介绍了洗面奶中,不同种类表面活性剂的好坏差异(温和性、清洁能力等),以便于通过配料表挑选合适的洗面奶。

Making

这是一个长距离 Wi-Fi 天线的 DIY 教程。在个人的电子 DIY 项目中,如果需要使用 Wi-Fi 进行数据传输,可以参考下这个视频。

从大学到现在,一直想制作一个能够连接 Wi-Fi 和蓝牙,支持运行 Lua 和 JavaScript 程序的 LED 点阵显示屏。

这个像素时钟,以及相关的开源项目,已经收藏到我的 LED 点阵屏参考项目中,如果我后面还想继续做一个 LED 点阵屏的话,可以从这里找一找灵感。

这是一个用 Raspberry Pi 制作的小服务器,具有 3D 打印外壳和散热风扇。而且在小巧的机身内容纳下一个 2.5 寸硬盘。适合做为低成本的下载机和 HomeBridge 服务器使用。

磁芯内存(Core Memory)是早期电脑中常用的一种内存,目前已基本淘汰,在个人电脑中很难见到。只有「Core Dump」这样的计算机专业术语中,仍然保留着「Core」这样的名词。

这个扩展板,将古老的磁芯内存,带给了 Arduino 这样「现代」的硬件,使大家能够通过亲手操作的方式,来了解和感受计算机历史。

Gameboy 不仅仅可以用来玩游戏,还可以改装成一台示波器

用 Raspberry Pi 制作的便携小电脑,具有全键盘的设计,可以在逛街时,随时随地拿出来写代码……

Wii Nunchuk 游戏手柄,由于其独特的工业设计,受到了不少 DIY 爱好者的喜爱。而在这篇文章中,作者将 Raspberry Pi 塞进了 Nunchuk 手柄,从而扩展出更多功能。

在一个模块内集成了气泵、传感器等器件,为空气带来了「可编程能力」。用于制作空气驱动的机器人等。

一个使用 LED 点阵和制作而成的低成本扫描仪。点阵中的 LED 依次发光,通过单支光敏三极管感应光线的强弱,实现了获取 LED 点阵上物体形状的功能。

工具

这是一个考虑十分周全的密码管理方案。我觉得我应该参考这个方案,优化一下自己的密码管理方式。

这个项目能够将静态网站,例如个人博客,部署在 IPFS 分布式网络中。由于 IPFS 是分布式的,即使自己的 IPFS 节点,网站依旧能够正常访问。

Hacker News 中关于个人照片管理工具的讨论。里面提到的 Photonix 看上去还不错。

通过这篇 14 页的文章,作者详细介绍了将 iPad Pro 做为自己主力电脑的使用方法。不过对我最有帮助的,是作者使用 Smart Keyboard Folio 的一个小技巧:

通过在 Smart Keyboard Folio 上粘贴两个手机支架,从而能使 iPad 以 30 度左右的角度放在桌面上。这个角度在某些不需要使用键盘的场景下(例如在桌面上使用 Apple Pencil 写写画画),操作 iPad 是最舒服的。

一系列关于 Anki 的技巧

这个免费的 macOS Menubar App,能够在菜单栏上一件连接蓝牙设备,查看设备剩余电量。完全可以用来代替系统自带的蓝牙图标。

不少人的博客中,都会尝试使用 Google Analytics 等工具获取访客统计信息,但 Google Analytics 中大量的数据令人眼花缭乱。这篇文章介绍了这些统计信息中,不同的数据和指标分别代表什么含义,以及哪些数据是最值得关注的。

我的博客目前使用了 Google Analytics 收集访问数据。虽然 Google Analytics 非常强大,但把所有数据,尤其是自己不需要的数据,都交给 Google 的感觉并不好。

而 GoAccess 能够通过直接收集 Web 服务器的日志,来生成网站的统计信息,不需要将数据交给 Google 这样的公司,从而一定程度上保护了站长和读者的隐私。以后在我的博客中,也打算换掉 Google Analytics 这样的工具。

知名 iOS/macOS 开发商 Panic 做了一款掌上游戏机,外观设计挺有意思。

在 iOS 的「文件」App 中,通过 SSH 访问远程服务器/电脑中的文件。

不少 macOS 的新用户,都偏向于使用 Homebrew 作为包管理工具。而这篇文章的作者更偏向于使用 MacPorts,本文介绍了作者选择 MacPorts 的理由。

目前已经有一些实时监控网页变化的在线工具,当网页发生变化的时候,能够通过邮件等形式发送通知。但是这些工具或者需要付费,或者存在一定的限制。

而 WatchMe 是一款免费开源的网页变化监控工具,不仅可以在自己电脑上运行,也可以部署在服务器或者个人 NAS 上,实现对网页的不间断监控。

游戏

《茶杯头》是一款艺术风格比较独特的游戏,发售后获得了大量的好评。这款游戏的设计风格,来自 1930 年代的北美卡通。

在对这个游戏进行汉化时,在遇到两种文化相互结合的情况下,如何选择合适的中文字体,引起中文玩家的共鸣?

除了大陆的「小霸王学习机」,原来对岸也有过一段山寨游戏主机的历史……

童年时期玩过「精灵宝可梦」的玩家,大脑中会产生一个专门识别不同宝可梦的特定区域,并且一直存在。

「超级马力欧兄弟 3」是 2D 超级马力欧系列游戏中,具有代表性的一作。本视频介绍了关于「超级马力欧兄弟 3」的一些趣闻。

这一期视频介绍了 NES 的一个奇怪外设:体感椅。

玩家可以坐在椅子上,通过扭动身体,来控制游戏。由于当时陀螺仪等传感器还不成熟,所以使用水银开关(就是摇摇棒里面常用的)。做为一个早期的体感游戏设备,看上去虽然很不成熟,但还是挺有创意的😂

技术

作者通过自制的设备来对伪基站进行攻击,使伪基站失效。读完这篇文章,觉得无线电安全还是挺有意思的。

想开发一个支持多语言的 App,但不知道专业名词如何翻译?这个网站提供了大量的翻译示例可供搜索和参考。

一个类似 Wine 的软件,能够在 Linux 上运行 macOS 程序,而且即将支持 GUI 程序。

这篇文章介绍了硬盘的进化史,包括最新的 NVMe, NVMeoF, RDMA 等技术。

在 C/C++ 中,F() 和 F(void) 并不是完全相同的。这篇文章从汇编语言的层面给出了解释。

比起遇到问题时就用 debugger 调试,更应该从代码设计、测试等角度,从根本上避免 bug 的产生。

Rust 不仅仅可以用来开发应用软件,还非常适合用来开发底层软件,例如操作系统、嵌入式软件(固件)等。这本书介绍了如何使用 Rust 进行 Cortex-M 架构单片机的开发。

Git 中的 rebase 功能,能够使 commit log 更加整洁。本文介绍了 git rebase 的使用方法。

在 Bash 中,我们可以直接通过类似操作文件的方式(例如将 STDOUT 重定向到 /dev/udp/127.0.0.1/1234),来实现发送和接收网络请求。通过这种方式,Bash 也能成为一个方便的网络调试工具。

对开发人员有用的定律、理论、原则和模式。(Laws, Theories, Principles and Patterns that developers will find useful.)

由于 Google Docs 中的文档不占用 Google Drive 空间,这个工具通过将文件编码,存放在 Google Docs 中的方式,来实现一个无限容量的网盘。

不过这只是一个兴趣项目,属于对 Google Docs 的滥用,不推荐大家使用。

下一个版本的 Windows Subsystem for Linux (WSL),能够通过虚拟化技术,在 Windows 中直接运行一个真实的 Linux 内核,从而实现了更好的兼容性。这个视频介绍了 WSL 2 的技术细节。

XFS 和 ZFS 是两个知名的文件系统。本文从可靠性、功能、性能等角度,告诉大家应该如何选择合适的文件系统。

发表评论

电子邮件地址不会被公开。 必填项已用*标注