保罗·A·约翰逊铅笔刀博物馆位于俄亥俄州洛根,是对逝去时代的一份独特致敬。由保罗·A·约翰逊牧师创立,博物馆收藏了超过4400把铅笔刀——既有古董,也有现代款式,这些是从1986年到2010年去世时收集的,并得到另一位收藏家的慷慨捐赠补充。 这一切始于一份圣诞礼物,仅包含两把铅笔刀,最终发展成为约翰逊一生的热情,最初在约翰逊的花园棚屋里展出,并吸引了远道而来的游客。这个收藏品种类繁多,按主题分组,如动物、迪士尼人物(包括专门的芭比展示区)和车辆。 经过两年的翻新,博物馆于2024年1月重新开放,改善了可达性和保护功能。它为所有年龄段的游客提供了一次怀旧之旅,提醒人们那些更简单的时代,那时铅笔——以及维护它们的铅笔刀——是学习和创造力的重要工具。
## 英特尔8087浮点协处理器:解码深度解析
在20世纪80年代,英特尔8087极大地加速了IBM PC上的计算,处理CAD和飞行模拟器等应用程序的复杂数学运算。这通过62条新指令实现,但实施这些指令需要一个令人惊讶的复杂解码过程。
8087与主处理器(8086/8088)*协同*工作,通过其总线接口单元(BIU)监控的“ESCAPE”操作码拦截浮点指令。一个关键挑战是数据交换——8087无法直接访问主处理器的寄存器,因此数据通过内存流动,8087“监听”8086计算的内存地址。
解码本身涉及多个层次:用于初始模式匹配的PLA(可编程逻辑阵列)、通过“微指令”执行指令的微代码ROM,以及基于特定操作在微代码中的条件跳转。一些指令甚至由BIU中的硬件直接处理。像π这样的常数使用一个复杂的系统加载,该系统涉及单独的分数和指数ROM,以及即时指数计算以最大限度地减小芯片尺寸。
8087的设计受到当时限制的驱动,优先考虑紧凑性而非优雅性。这导致了一种复杂的、临时性的架构,最初几乎无法制造,但最终为现代浮点标准奠定了基础。
## TinyIce:轻量级Icecast流媒体服务器
TinyIce是一个现代的、高性能的Icecast2兼容流媒体服务器,使用Go语言构建,旨在易于部署和管理。它提供了一个自包含的单个二进制文件,可即时设置——包括自动生成安全凭证和通过Let's Encrypt自动启用HTTPS。
主要功能包括多租户管理(为挂载点提供独立的管理员访问权限)、具有自动重连功能的流媒体中继,以及强大的安全措施,如bcrypt哈希和CSRF保护。TinyIce通过SSE仪表盘提供实时洞察,持久化播放历史记录,Prometheus指标和结构化日志。
它与现有的Icecast客户端和播放器完全兼容,支持动态流/用户管理、IP封禁以及用于现有工具的传统API。虽然是一个副项目且缺乏独立审计,但TinyIce旨在简化流媒体,重点关注安全性和易用性。需要Go 1.21+。