## 简化的TCP打孔测试算法 该算法提供了一种在*无需*复杂基础设施的情况下测试TCP打孔的方法,专注于打孔机制本身。传统的打孔需要同步时间、WAN IP交换和端口发现——这些都容易出错。这种方法通过从单个参数:当前时间戳确定性地推导出所有必要数据来绕过这种复杂性。 核心思想是使用时间戳计算一个共享的“桶”编号,考虑到潜在的时钟偏差。然后,该桶会作为伪随机数生成器的种子,以创建潜在端口的共享列表,利用家庭路由器中常见的“等量增量映射”(本地端口和外部端口匹配)。 该算法利用非阻塞套接字和积极的SYN数据包发送来尝试打孔。一旦建立多个连接,领导者/跟随者系统(由WAN IP地址确定)将通过简单的单字符交换选择一个“获胜”连接。 最终,这种方法允许隔离测试打孔过程,仅需要目标IP地址并最大限度地减少外部依赖。虽然简化用于测试,但它展示了用于功能性(尽管有限)打孔实现的确定性元数据生成的核心原理。
## 机架式水培:一项出乎意料的成功实验
出于从电脑转向农业的愿望,作者将一个闲置的42U服务器机架改造成了一个独特的水培系统,用于种植生菜和香草。尽管承认这是一个“糟糕的主意”,但该项目却出乎意料地有效。
该系统采用了一种简单的涨落式(潮汐式)方法,将富含养分的水循环到种植在网格盆中的植物上,这些植物使用岩棉或珍珠岩,并放置在安装到机架中的Sterilite储物箱内。组件包括储水箱、水泵、曝气器和现成的补光灯。 建设过程包括钻孔用于管道和布线,以及改装机架式搁板以容纳种植托盘。
最初的挑战包括花盆漂浮(用石头作为镇重物解决)和藻类生长。通过带开关的PDU和cron任务控制的自定义时间表,调节光照(18小时)和涨落周期(最终每天两次)。 一种神秘的肥料粉末被谨慎地试验使用。
尽管存在轻微泄漏以及涨落式系统容易出现问题的警告,但该系统仍然成功收获了多次生菜和香草。作者总结说,这不是一个实用指南,而是一次有趣的学习经历,带来了新鲜的沙拉——并且证明了按照自己的方式做事的可行性。
## Knuckledragger 二进制验证
本文详细介绍了使用 Python 构建的二进制验证工具“Knuckledragger”的开发过程,该工具利用 Ghidra 的 p-code 语义。其目标是提供一种更易于管理的方式来验证低级代码——通常出于性能、特定硬件访问或严格控制的需要,但由于其冗长性和有限的工具支持而容易出错。
其核心创新在于“双模拟”方法。该工具允许用户定义程序行为的*更高层次*模型,而不是直接调试复杂的符号执行输出。Knuckledragger 然后使用 Z3 进行自动证明,自动验证汇编代码中的所有可能执行路径都对应于此更高层次模型中的有效路径。
作者通过示例演示了这一点,包括一个简单的加法程序和一个 `mycpy` 函数(内存拷贝)。使用模型检查在 `mycpybad` 中发现并修复了一个错误——缺少长度检查。通过双模拟框架和 Knuckledragger 的反射特性,实现了进一步的验证,包括证明程序状态的不变量,并提供可读的规范。
虽然比基本的模糊测试或有界模型检查更复杂,但这种方法能够实现无界验证,并允许对程序正确性进行形式化证明。代码和演示视频可在网上找到。
## 寻宝者出狱
73岁的深海寻宝者汤米·汤普森在服刑十年后获释,罪名是刑事藐视法庭。汤普森于1988年发现“黄金之船”——SS Central America号沉船,该船位于南卡罗来纳海岸附近,打捞出数百万枚最初在旧金山铸造的金币。
资助探险的投资者在2005年起诉汤普森,声称他们从未收到从打捞的宝藏(估计价值高达4亿美元)销售中承诺的回报。汤普森于2012年出逃,并于2015年被捕。
他因拒绝透露约500枚失踪金币的位置而被监禁。然而,法官去年结束了他的无限期刑期,认为他不太可能透露它们的下落。虽然获释,但剩余金币的命运仍然是个谜,关于宝藏销售和分配的完整账目仍存在疑问。
这篇帖子详细介绍了作者对量化投资的探索,特别是将其应用于外汇(FX)市场,尽管他们之前从事高频交易。与股票不同,外汇收益受宏观事件(如利率变化)的强烈影响,这使得建模更加复杂。
作者利用TwelveData API收集主要货币的每日汇率数据,创建用于分析的数据集。然后,他们复制美元指数(DXY)——一种衡量六种主要货币对美元汇率的加权平均值——作为整体市场走势的代理,类似于股票市场的标准普尔500指数。
作者以资本资产定价模型为框架,通过滚动线性回归计算了几种货币相对于DXY的beta值。这些beta值表明了货币对美元波动整体的敏感度。初步结果与预期一致——欧元显示出接近1的beta值,而土耳其里拉由于其独特的宏观经济因素表现出较低的敏感度。
虽然这些初步的beta值本身并没有特别深刻的见解,但这项工作为构建一个更全面的外汇因子模型奠定了基础,该模型将纳入动量和商品敏感性等因素。