客户端挑战:您的浏览器已禁用 JavaScript。请启用 JavaScript 以继续。网站的必要部分无法加载。这可能是由于浏览器扩展、网络问题或浏览器设置造成的。请检查您的连接,禁用任何广告拦截器,或尝试使用不同的浏览器。
客户端挑战:您的浏览器已禁用 JavaScript。请启用 JavaScript 以继续。网站的必要部分无法加载。这可能是由于浏览器扩展、网络问题或浏览器设置造成的。请检查您的连接,禁用任何广告拦截器,或尝试使用不同的浏览器。
这项探索始于研究三角函数和双曲函数的复合,旨在创建比较表。然而,过程发现Mathematica处理这些恒等式,特别是双曲函数时存在复杂性。虽然Mathematica正确地简化了圆函数复合,如`Sin[ArcCos[x]]`,但对于`Sinh[ArcCosh[x]]`和`Tanh[ArcCosh[x]]`却产生了意想不到的结果。
这种差异源于`ArcCosh(x)`的细微定义。由于`cosh`的偶数性质,`ArcCosh`需要在复平面上通过分支割来保持一致的定义——具体来说,是从负无穷到1的不连续性。此外,简化`√(x + 1)² = (x + 1)`并非普遍成立,尤其是在`x`小于-1时。
Mathematica的输出反映了结合了解析延拓和极限的严格定义,而更简单的公式则假定`x`是大于或等于-1的实数值。通过明确声明假设 (`Assumptions -> {x >= -1}`),Mathematica*可以*返回简化的形式。这强调了仔细定义诸如`ArcCosh`和`sqrt`之类的函数的重要性,以确保在所有可能的输入下都能保证正确性。
请启用 JavaScript 并禁用任何广告拦截器。
## “微量垃圾”日益引发不满与科技的未来
本文表达了对微软日益激进策略的强烈不满,特别是其对人工智能集成的推动——被称作“垃圾”(slop),以及对用户体验的控制。作者预测可能会出现反弹,并可能因使用的强烈措辞导致在必应网络上被列入黑名单。
核心论点集中在微软从一个有用的平台转变为一个控制力量,优先考虑云服务和人工智能(Copilot),而牺牲了用户需求和隐私。担忧范围从占用资源的软件和强制使用浏览器,到侵入性监控功能,如“Microsoft Recall”。作者详细描述了在Windows版本迭代中的个人经历,强调更新始终如一地降低性能并限制用户控制。
出于对所有权和自由的渴望,作者提倡使用Debian、Ubuntu和Void Linux等替代方案,并详细说明了从微软生态系统中转移的工作流程。文章警告了依赖人工智能代理的危险,这些代理可能会集中权力并侵蚀个人自主权,最终担心未来技术将服务于企业贪婪,而不是人类赋权。
最终,这篇文章是一个行动呼吁:承认问题,感到愤怒,并积极寻求解决方案,通过重新掌控你的技术并抵制朝着封闭、人工智能主导的未来的趋势。
## 从杂草到奇迹:芸薹的故事 几乎所有农作物都源自野生植物,经过几个世纪的选择性育种而塑造。然而,*芸薹*,或野生甘蓝,以其卓越的多功能性而脱颖而出——它是卷心菜、羽衣甘蓝、西兰花、球芽甘蓝、花椰菜等的祖先。尽管外表朴实而粗糙,古代文明却认识到了它的潜力。 通过持续选择特定性状——更密的叶子用于卷心菜和羽衣甘蓝,花簇用于西兰花和花椰菜,或可食用的芽用于球芽甘蓝——农民极大地改变了植物的发育。这归功于一种独特的遗传特征:*芸薹*是多倍体,具有多套染色体,从而允许更大的遗传多样性和对突变的耐受性。 研究表明,驯化始于古希腊,最初侧重于叶片发育,然后传播到地中海及其他地区。今天,研究野生甘蓝种群——天然地对气候变化和病虫害具有抵抗力——为改善现代作物和确保未来的粮食安全提供了宝贵的见解。*芸薹*的故事证明了人类选择的力量和植物卓越的适应性,它不断地随着我们不断变化的世界而进化。
## 简化的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枚失踪金币的位置而被监禁。然而,法官去年结束了他的无限期刑期,认为他不太可能透露它们的下落。虽然获释,但剩余金币的命运仍然是个谜,关于宝藏销售和分配的完整账目仍存在疑问。