每日HackerNews RSS

## 代数效应取代了Hardcaml模拟中的Monad 这篇文章详细介绍了Hardcaml_step_testbench库从使用Monad成功移植到更新的OCaml 5特性——代数效应的过程。作者认为,代数效应为管理复杂计算提供了一个更优雅的解决方案,尤其是在FPGA模拟等需要交错并发任务的场景中。 Monad虽然长期在OCaml中使用,但会“感染”代码,产生样板代码并限制灵活性——需要标准库函数的Monad版本,并将开发者限制在特定的计算上下文中。代数效应通过提供一种表示“未来计算”和管理同步点的一级方式,避免了这一点,而无需普遍的Monad语法。 具体而言,作者展示了效果如何简化数字电路的模拟,允许独立的测试基准计算在同步步骤中与电路的状态交互。这是通过定义效应操作(如`Step`以放弃控制)和管理执行流程的处理程序来实现的。关键好处是代码更简洁,能够使用有价值的OCaml特性,如非盒装类型和局部模式,而这些特性在使用Monad时存在问题。 该库目前名为`Oxcaml_effect`(即将更名为`Handled_effect`),展示了代数效应的力量和通用性,即使是在它们最初未为此设计的领域。作者强调了效果的可访问性,指出即使没有深入的类型理论专业知识,也可以有效地使用它们。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 用代数效应玩转 – 从玩具示例到 Hardcaml 模拟 (janestreet.com) 81 分,by weinzierl 1 天前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 i_don_t_know 1 天前 [–] 这本书的第 9 章和 10.7 节展示了 Ocaml 中效应的一些有趣(对我来说出乎意料)的应用,以及它们与基于 monad 的实现方式的比较:https://lukstafi.github.io/curious-ocaml/new_book.html dscheck 模型检查器是效应的另一个有趣的应用:https://github.com/ocaml-multicore/dscheck 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## vdb:一个轻量级向量数据库 `vdb` 是一个单头文件 C 库,专为高效存储和搜索高维向量嵌入而设计。它仅包含头文件,没有依赖项(除了可选的 pthreads 用于多线程),并提供了一个简单的 API,用于创建、填充、搜索、保存和加载向量数据库。 主要特性包括对余弦、欧几里得和点积距离度量的支持,以及通过 `#define VDB_MULTITHREADED` 启用的可选线程安全操作。用户还可以使用自定义的 `malloc`/`free`/`realloc` 定义自定义内存分配。 该库提供用于添加、删除和检索向量、执行 k 近邻搜索以及将数据以自定义二进制格式持久化到磁盘的函数。 此外还提供 Python 绑定。一个基本示例演示了数据库创建、向量添加、搜索和清理。它采用 Apache 2.0 许可。

一个维护良好的 uBlock Origin 过滤列表,用于隐藏所有 YouTube Shorts 视频的痕迹。复制以下链接,前往 uBlock Origin > 控制面板 > 过滤列表,向下滚动,并在“导入...”标题下粘贴链接:https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/list.txt > uBlock Origin 订阅链接 < (在 GitHub 上无法使用) 额外功能:隐藏 YouTube 评论 https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/comments.txt > uBlock Origin 订阅链接 < (在 GitHub 上无法使用) 在此列表的最初创建者 @gijsdev 消失半年后,我 (i5heu) 承担了维护此列表的任务。与 Alphabet、YouTube 或 Google 无关联。本项目是一个独立的开源项目,与 Alphabet Inc.、Google LLC 或 YouTube 无关联、认可、赞助或关联。请参阅 CONTRIBUTING.md 请参阅 LICENSE.md

## 新闻出版商与互联网档案馆:日益加剧的冲突 互联网档案馆通过时光机项目保存网络信息的使命,正面临着新闻出版商日益增长的关注,他们担心人工智能训练数据的问题。虽然互联网档案馆旨在提供免费的信息访问,但其庞大的数字图书馆正被人工智能公司抓取,可能未经许可使用受版权保护的内容。 像《卫报》和《纽约时报》这样的出版商正在主动限制互联网档案馆的访问——阻止其爬虫或将其内容排除在快照之外——以保护其知识产权。 还有像甘尼特这样的公司,通过其robots.txt文件广泛阻止了互联网档案馆的机器人,理由是不授权的数据收集。 这源于对互联网档案馆易于获取的结构化数据(尤其是通过其API)是人工智能模型训练的主要资源的担忧。 虽然互联网档案馆表示愿意合作并解决问题,但它坚持认为限制访问会阻碍其保存历史记录的核心使命。 这种情况凸显了一种更广泛的紧张关系:互联网存档的“良好意图”正被人工智能公司利用,导致保存工作在出版商为控制其内容而斗争时陷入困境,进入人工智能时代。

## Arcmark:macOS 浏览器书签管理器 Arcmark 是一款使用 Swift 和 AppKit 构建的 macOS 原生书签管理器,设计为附加到任何浏览器(Chrome、Safari、Brave、Arc 等)的侧边栏。它灵感源自 Arc 浏览器的侧边栏,允许用户在*无需*使用 Arc 本身的情况下进行有组织的书签管理。 主要功能包括:具有自定义颜色的**工作区组织**,使用拖放功能的**嵌套文件夹层级**,以及采用**本地优先**方法,将数据存储在单个 JSON 文件中。用户可以**直接从 Arc 导入书签**,使用**始终置顶模式**,并享受**内联编辑和搜索/过滤**功能。 Arcmark 可以作为独立窗口运行,或者在授予**辅助功能权限**后,无缝附加到浏览器窗口,并跟随它们在不同空间中移动。它适用于 macOS 13.0 及更高版本,并采用 MIT 许可证开源,开发详情可在 GitHub 上找到。

## Arcmark:一款 macOS 书签管理器 一位开发者,曾是 Arc 浏览器的重度用户,创建了 **Arcmark**,一款使用 Swift/AppKit 构建的 macOS 书签管理器。由于不愿在切换浏览器时放弃 Arc 侧边栏的组织方式,他构建了 Arcmark,将其复制为适用于*任何*浏览器(Chrome、Safari、Brave 等)的浮动侧边栏。 主要功能包括基于工作区的组织方式,带有嵌套文件夹,拖放功能,自定义颜色以及 JSON 文件中的本地优先数据存储。它甚至可以导入 Arc 现有的工作区结构。该项目使用 Swift Bundler 代替 Xcode。 早期反馈集中在使用模式上——一些用户将书签视为存档,而另一些用户则积极地标记和重新访问它们。讨论还探讨了通过 API 与浏览器集成以及云同步和改进“始终置顶”功能等可能性。该项目目前处于非常早期的阶段 (v0.1.0) 并且欢迎反馈。 **在 GitHub 上找到它:** [https://github.com/Geek-1001/arcmark](https://github.com/Geek-1001/arcmark)

## 阿姆斯特丹编译器工具包 (ACK) 概要 阿姆斯特丹编译器工具包 (ACK) 是一套全面的编译器工具链,最初于 1987-2005 年开发,能够将源代码翻译成可在广泛平台上执行的文件。它支持多种语言,包括 ANSI C、Pascal、Modula 2 和 Basic。 ACK 目前支持 Linux(各种架构)、MS-DOS、OSX、CPM,甚至树莓派等平台。安装需要一个 ANSI C 编译器(如 GCC)、flex、yacc、GNU make、带有 lua-posix 的 Lua,以及 Python 3.4+。构建通过 `make` 完成,安装通过 `sudo make install` 完成。 主要的编译命令是 `ack`,带有选项来指定目标平台 (`-m`)、输出文件 (`-o`) 和优化级别 (`-O`)。ACK 根据文件扩展名确定源代码语言。 虽然 ACK 已经成熟且经过充分测试,但它可能会遇到与现代系统兼容性问题。鼓励用户加入邮件列表 ([http://tack.sourceforge.net/](http://tack.sourceforge.net/)) 以报告成功案例、失败案例并贡献错误修复。它采用 BSD 类似的许可协议。

## 阿姆斯特丹编译器工具包:一种历史工具链 阿姆斯特丹编译器工具包(ACK),最初名为自由大学编译器工具包(VUCK),是一种多语言编译器,显著地促使理查德·斯托尔曼创建GCC,因为其作者最初拒绝免费分发它。自2005年起,ACK以3条款BSD许可协议提供,支持C、Pascal和Modula 2等语言,目标平台包括树莓派GPU。 讨论强调了其作为早期多前端编译器的历史意义,早于LLVM。它曾是VU教授Tanenbaum创建的Minix早期版本的默认工具链,Tanenbaum也是ACK的共同作者。 虽然该项目自2022年以来似乎已基本处于非活跃状态,但用户们回忆起使用它和Minix的经历,常常记得Minix书籍的高昂价格限制了访问。现代用户指出它在构建过程中依赖于GCC、Lua和Make等工具,并且由于平台限制,其使用主要用于交叉编译。该项目的根源以及其最初限制性许可背后的故事仍然是自由软件历史的重要组成部分。

一个引人入胜的diyAudio论坛实验测试了听众是否能根据用于传输音频的“接口”——专业铜线、香蕉,甚至湿泥——辨别音质差异。主持人Pano使用这些非常规材料以及直接从CD抓取的音频创建了循环音频轨道。 结果令人震惊:在43次猜测中,只有6次是正确的,在统计上与随机机会一致。听众始终无法可靠地识别原始音频,也无法区分各种传输方法。 Pano认为,虽然这些材料是劣质导体,但它们主要充当电阻器,衰减信号而不是显著失真。受一部关于使用地球作为回线的单线电报的纪录片启发,该实验表明,即使是泥土和香蕉等看似不合适的介质,所引入的变化也难以被大多数听众察觉。结论?昂贵的音频线缆可能无法提供比更简单、非常规替代品更明显的改进。

一个伪造的7-Zip下载站点(7zip[.]com,而非官方7-zip.org)一直在分发被篡改的安装程序,秘密地将受害者的电脑变成住宅代理节点。该安装程序看起来功能正常,提供可用的7-Zip文件管理器,但同时也安装了恶意组件——Uphero.exe、hero.exe和hero.dll,隐藏在系统的SysWOW64文件夹中。 这种恶意软件通过Windows服务建立持久性,并操纵防火墙规则以允许代理流量。然后,它将受感染的机器注册到住宅代理网络中,允许其他人通过受害者的IP地址路由互联网流量,用于欺诈或数据抓取等活动。 该活动利用了对流行软件分发商的信任,并利用了在线教程中的错误信息。研究人员发现,这种恶意软件与其他代理软件家族(upHola、upTiktok等)共享策略,并使用加密通信与指挥控制服务器进行通信。 从7zip[.]com安装了7-Zip的系统被认为是受到威胁的,应该使用信誉良好的安全软件(如Malwarebytes)进行扫描。警惕软件来源和监控未经授权的系统更改是重要的预防措施。

👍 1人点赞 👎 1人踩 😄 1人笑 🎉 1人欢呼 😕 1人困惑 ❤️ 1人爱心 🚀 1人火箭 👀 1人眼睛。 你现在无法执行该操作。

该文件是一个PDF文档,由`%PDF-1.7`头部标识。 庞大的`xref`表表明该文档结构复杂,包含大量对象(如“604 0 obj”所示,超过600个)。 数据由对象定义和交叉引用信息组成,这对于PDF阅读器正确组装文档至关重要。 在没有进一步分析工具的情况下,无法确定PDF的*内容*——它可能是文本、图像、表单或它们的组合。 大量对象及其内部引用表明这是一个潜在的大型且设计复杂的PDF文件。 结尾的流数据表明内容经过压缩。 基本上,这是PDF的原始内部表示,而不是人类可读的内容。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 不完整C程序的音效和实用点分析 [pdf] (sjalander.com) 14点 由 st_ 1天前 | 隐藏 | 过去 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

更多

联系我们 contact @ memedata.com