ScrollGuard:终结无尽滚动
厌倦了刷抖音、快手到停不下来?ScrollGuard 帮你解决!这款应用能阻止 Instagram、Facebook、Reddit 和 YouTube 上的 Reels 和 Shorts 视频,并能设置任何应用的滚动限制,让你远离无尽的滚动和干扰。虽然 iOS 版本功能略有不同,但开发者正在努力打造一款针对 iPhone 的应用,帮助用户戒除滚动成瘾。
厌倦了刷抖音、快手到停不下来?ScrollGuard 帮你解决!这款应用能阻止 Instagram、Facebook、Reddit 和 YouTube 上的 Reels 和 Shorts 视频,并能设置任何应用的滚动限制,让你远离无尽的滚动和干扰。虽然 iOS 版本功能略有不同,但开发者正在努力打造一款针对 iPhone 的应用,帮助用户戒除滚动成瘾。
一位开发者利用Neovim和Lua编写了一个名为nvim-web-server的插件,该插件可以直接从Neovim缓冲区提供HTTP服务。令人惊讶的是,它的速度甚至超过了Nginx!这得益于LuaJIT的高效性和Neovim对libuv库的集成。作者在老旧的ThinkPad上成功部署了这个服务器,并通过Docker、AppArmor和seccomp等技术确保了安全性。这是一个极具创意且高效的案例,展示了编辑器强大的扩展能力。
作者尝试在Defold编辑器中使用大型语言模型(LLM)来操作游戏内容。最初使用Claude直接操作Lua代码,但准确性低。作者提出使用JSON Schema定义工具输入,但遇到问题:无法在MCP中实现依赖类型,即工具输入的结构取决于运行时信息。例如,编辑3D模型时,模型属性取决于所选材质。解决方案是将编辑过程分为两步:LLM选择资源,程序查找资源的数据结构并构建JSON Schema;LLM使用生成的Schema生成编辑指令。作者建议MCP支持这种依赖类型,以增强其处理复杂数据的能力。
本文探讨了使用单个工具的MCP服务器的新方法,该工具接受编程代码作为输入。作者指出,基于CLI的工具存在平台依赖性、版本依赖性和缺乏文档等问题,导致代理工具难以使用。相比之下,MCP服务器可以保持状态,并暴露一个单一的工具(例如,一个运行eval()的Python解释器),从而使代理工具能够更好地管理会话并组合工具。作者通过pexpect-mcp的例子演示了这种方法的有效性,该工具将MCP服务器变成了一个有状态的Python解释器,从而简化了调试过程并提高了效率。此外,作者还探讨了将Playwright的MCP替换为通过JavaScript暴露Playwright API的MCP的可能性,该方法可以减少工具定义的数量并提高数据传输效率。虽然存在安全隐患,但作者认为这种方法具有巨大的潜力,并值得进一步探索。
本文探讨了在数据不确定性条件下如何排序分数和估计公交车数量的两个统计问题。对于分数排序,文章提出了两种方法:贝叶斯方法(利用Beta分布)和似然法,并用R语言进行了演示。对于公交车数量估计,文章构建了基于多项式分布的概率密度函数,同样利用似然法,通过分析观测数据,给出了公交车数量的置信区间。两种问题都巧妙地结合了统计建模和计算方法,体现了统计推断的灵活性和实用性。
作者在本文中阐述了为什么在撰写技术书籍时,他更倾向于使用reStructuredText (rST) 而不是Markdown。他指出,rST 作为一种抽象文档树的中等重量表示,具有比Markdown更强大的扩展性和可定制性。作者以创建图像和处理习题为例,详细解释了rST如何通过自定义指令和文档树转换来实现更复杂的文档结构和功能,这在Markdown中难以实现。虽然rST的语法可能不如Markdown简洁,但其强大的功能使其成为处理大型复杂文档的理想选择,尤其是在需要自定义扩展和文档转换的场景下,例如作者的书籍《程序员的逻辑》。
本文深入浅出地讲解了统一化算法,一种用于自动求解符号项之间方程式的过程。它在逻辑编程和类型推断中有着广泛应用。文章从模式匹配开始,逐步引出统一化概念,并给出了基于Norvig改进算法的Python实现,包括数据结构定义、核心函数`unify`、辅助函数`unify_variable`和`occurs_check`,以及详细的代码示例和运行结果。
Tilus 是一种面向GPU编程的强大领域特定语言 (DSL),它以张量为主要数据类型,提供线程块级别的粒度控制,并允许显式控制共享内存和寄存器张量。它支持任意位宽(1到8位)的低精度类型,并包含自动调整、缓存和 Python 风格的接口,以简化使用。Tilus 基于一篇名为《Tilus:用于LLM服务中任意低精度GPGPU计算的虚拟机》的研究论文,并借鉴了Hidet、TVM、Triton和Hexcute等项目的经验。
本文探讨了如何增强 systemd 服务和 Podman 容器的安全性。作者首先介绍了 `systemd-analyze security` 命令,用于评估 systemd 单元的安全状况。然后,文章详细解释了 systemd 单元文件和 Podman 配置文件中的各种安全选项,例如 `ProtectSystem`、`PrivateTmp`、`RestrictSUIDSGID` 等,并说明了如何使用这些选项来限制权限、减少攻击面。文章还讨论了如何处理服务配置更改后可能出现的故障,以及如何使用审计日志进行故障排除。最后,作者提供了一些最佳实践建议,例如优先关注外部服务,并根据实际情况调整安全设置。
一款强大的基于Ruby的终端应用程序,用于从IMDb的前250名电影和电视剧列表以及趋势列表中发现和管理电影和电视剧。v1.1版本进行了彻底的重写,基于rcurses,功能大幅提升,支持高级过滤、智能搜索、流媒体信息集成、海报显示、愿望清单和垃圾清单等,并具有强大的搜索体验和数据管理功能,让您更高效地发现和管理喜爱的影视作品。
想为互联网存档贡献力量?现在你可以轻松运行ArchiveTeam Warrior虚拟机!它会在你的电脑上下载并上传网站到ArchiveTeam的档案馆,无需担心电脑安全风险,只需占用部分带宽和磁盘空间。Warrior支持Windows、OS X和Linux系统,只需使用VirtualBox、VMware等虚拟机软件即可运行。下载虚拟机镜像后,导入VirtualBox,启动后即可选择项目开始贡献,你的进度还会显示在排行榜上!
静态分析工具zizmor的开发者使用有限状态转换器(FST)优化了其GitHub Actions模板注入漏洞检测功能。通过将GitHub Actions上下文模式映射到其逻辑“能力”,FST将表示大小减少了一个数量级(从约240KB到约14.5KB),并且比之前的基于表和前缀树的方法更快、更节省内存。此外,FST还在编译时预计算,消除了启动成本。该改进显著降低了误报率,提高了检测效率。
doxx 是一款用 Rust 编写的超快终端原生 Microsoft Word 文件查看器。它支持漂亮的渲染、智能表格支持和强大的导出功能,无需 Microsoft Word 即可在终端中查看 .docx 文件。doxx 提供全文本搜索、文档大纲、多种视图模式以及 Markdown、CSV 和 JSON 等多种导出格式。它还计划集成 AI 功能,例如文档摘要和问答。
Mangle 是一款扩展了 Datalog 的开源编程语言,用于演绎数据库编程。它支持聚合、函数调用和可选类型检查等功能,能够将来自多个数据源的数据以统一的方式表示和查询,并用于建模领域知识。Mangle 提供了 Go 语言实现的库,方便开发者嵌入应用。它支持递归规则,并通过示例展示了如何使用 Mangle 查找受 log4j 漏洞影响的软件,以及如何进行分组和聚合操作。虽然牺牲了一定的性能,但其易用性和可扩展性使其成为一个强大的工具。
作者在大型企业$ENTERPRISE工作一周年之际,分享了其工作体验。文章以幽默的笔触,描述了大型企业与小型企业的诸多差异,例如沟通效率低下、资源浪费严重、人员能力参差不齐以及“紧急”事件的泛滥等问题。然而,作者也肯定了大型企业的工作氛围、职业发展机会以及对个人技术的提升。总而言之,这是一篇关于大型企业软件开发环境的有趣且发人深省的总结,既有吐槽也有反思。
llama-scan是一个利用Ollama本地转换PDF为文本文件的工具,无需付费token。它支持Ollama最新的多模态模型,能将图像和图表转换成详细的文本描述。安装简单,只需安装Ollama和使用pip或uv安装llama-scan即可。支持自定义输出目录、模型、保留中间图像文件、调整图像宽度以及指定页面范围等功能,极大地方便了PDF文本提取。
厌倦了复杂的Web开发流程?Hyperclay将你的应用简化为一个可自更新的HTML文件,直接操控UI和逻辑,告别配置文件、构建步骤和部署管道。它像Google Docs一样易于编辑,可实时修改、即时分享和离线使用,让你的Web应用如同可塑的粘土,轻松构建和分享。
Clojure的Flow库提供了一种构建高并发数据流处理应用的全新方式。它将应用逻辑与部署相关的拓扑、执行、通信、生命周期、监控和错误处理严格分离。通过step-fn函数,开发者可以定义处理逻辑,Flow库则负责管理进程生命周期和消息传递。step-fn函数具有四个功能:describe、init、transition和transform,分别用于描述函数参数、初始化状态、处理生命周期转换以及处理输入消息并产生输出。Flow库还提供进程监控和生命周期管理工具,支持热加载和动态调整,极大地简化了高并发应用的开发流程。
在软件开发中,我们经常需要修改他人构建的代码。传统的Git工作流在管理长期维护的补丁时显得笨拙。本文介绍了一个名为Lappverk的新工具,它利用Git的`format-patch`和`am`命令,结合自定义约定,简化了补丁的创建、管理和应用流程。Lappverk允许开发者在本地轻松地维护和更新补丁,并最终将其集成到上游项目中,避免了大型fork带来的不便。其核心在于将补丁集导入和导出Git,使得补丁管理更加高效,如同在Git环境下操作补丁文件一样便捷。
作者使用AI生成Go测试和Svelte前端代码,起初感觉效率很高,但随后发现AI生成的代码存在版本混用等问题,需要花费大量时间调试。这暴露了AI工具的陷阱:它能生成看起来正确的代码,让人产生虚假掌握的错觉,却无法代替真正的理解和思考。长此以往,团队会依赖AI,代码质量下降,最终导致项目失败。作者强调,软件开发需要持续的努力和对技术的深入理解,AI只是辅助工具,不能替代程序员的专业技能和思考能力。
现代应用越来越依赖于基于大型数据集聚合的用户端分析和 AI 功能,这推动开发者转向 ClickHouse 等分析型数据库。文章探讨了为 OLAP 数据库构建 ORM 的可能性及挑战。直接将 OLTP ORM 扩展到 OLAP 会导致语义差异带来的问题。Moose OLAP 作为一个开源项目,尝试为 ClickHouse 提供类似 ORM 的接口,它借鉴了 OLTP ORM 的优点,但针对 OLAP 的特性进行了调整,例如处理 NULL 值和唯一性约束的差异。Moose OLAP 强调代码即模式,提供 OLAP 原生的语义和默认值,并支持版本化迁移,以应对 OLAP 环境中 schema 的动态变化。
Daft团队使用Qwen3-Embedding-0.6B模型对数百万文本文档进行嵌入,实现了近乎100%的GPU利用率。文章详细介绍了其构建的包含分句、嵌入生成和分布式处理三个步骤的数据处理流水线,并给出了相应的代码示例。最终,他们通过优化,使相同工作负载的速度提升了3倍。
预售期间购买应用,即可免费获得所有小型更新,包括错误修复、性能提升和微调功能。预售结束后,我们将开始开发大型功能和主要升级,预售买家将可享受折扣升级。现在加入,即可抢先体验,提供反馈,并以最低价格获得早期访问权限。
本文深入浅出地解释了导数、梯度、雅可比矩阵和Hessian矩阵四个核心微积分概念及其应用。导数描述函数变化率,梯度指向函数最大增长的方向,雅可比矩阵描述多变量函数空间的变形,Hessian矩阵则包含函数的二阶导数,用于描述曲率。这些概念在优化算法(如梯度下降)和计算机图形学(例如抗锯齿渲染)中扮演着关键角色,理解它们有助于更好地掌握机器学习和图形渲染等领域的技术细节。
一个名为`batched`的Rust宏,用于批量处理代价高昂的异步操作。它允许开发者设置批处理大小、并发任务数和等待时间窗口,并支持多种返回类型和错误处理。该宏特别适用于需要进行大量数据库插入或其他I/O密集型任务的场景,可以显著提高效率。它与Tokio异步运行时配合使用,并提供与OpenTelemetry的集成,方便追踪和监控。
与AI代码助手合作时,与其不断补充说明和纠正,不如重新编辑初始提示词。就像给同事下指令一样,反复修改只会导致混乱。AI助手也一样,大量的修改会造成上下文冲突、理解混乱和性能下降。一次性提供清晰、完整的指令,让AI助手从头开始,才能获得更好的结果。精准的初始提示词能避免后续的反复迭代。
Marginalia 搜索引擎对索引进行了重新设计,以更好地利用现代硬件。通过使用内存映射的B树和确定性块基跳跃列表,以及调整块大小和I/O策略,搜索速度得到了显著提升。文章详细描述了新的数据结构和性能优化策略,并探讨了NVMe SSD的读写性能特性,以及如何通过调整块大小和I/O模式来最大化其性能。
受《指环王》“至尊魔戒”的启发,本文介绍了一种名为 Nim 的编程语言,它试图成为“无所不能”的语言。Nim 具有简洁优雅的语法,可用于编写自动化脚本,也能胜任操作系统和游戏引擎等高性能任务。它结合了 Ada、Python 和 C 的优点,支持动态内存管理和内联汇编,还能编译成 JavaScript,用于前端开发。Nim 还具有良好的安全性、与 C/C++ 的互操作性以及强大的宏系统,甚至连基于类的 OOP 语法都是通过宏实现的。Reddit 和 Exercism 等组织都在使用 Nim,它被认为是系统开发和计算机科学教育的理想选择。
ResurrectedGod是一个基于Ruby的进程监控框架,它继承自mojombo/god项目。旨在简化服务器进程和任务的管理,提供简单易用的配置和扩展机制,力求成为最简单、最强大的监控应用程序。项目文档可在仓库内和在线查阅,并提供邮件列表方便用户交流。
这个项目比较了多个C语言库,它们提供了类似于C++ STL的容器模板功能。项目作者对其中一个库M*LIB进行了主要贡献。为了进行比较,作者用这些库编写了相同的简单程序,并对它们的性能和API易用性进行了比较。结果显示,在性能和功能方面,各个库各有千秋,M*LIB表现不俗。但项目仍在进行中,欢迎贡献者参与改进。